Essa é uma revisão anterior do documento!
Tabela de conteúdos
RoadMap para TerraME
Esta página discute as propostas de futuro para o ambiente TerraME. Ela foi dividida nos diversos temas abordados:
Conceitos gerais sobre o TerraME
TerraME - Ações Gerenciais
1. Precisamos de um período de experimentação interna (INPE, UFOP) para amadurecer bem os conceitos do TerraME, e acomodar eventuais mudanças. também será preciso gerar uma documentação com muitos exemplos.
2. Poderíamos pensar que uma versão protótipo do TerraME poderia ser lançada no final de Agosto. Para isto, precisaremos de dois eventos internos: (a) um seminário de apresentação dos diferentes projetos internos que usariam o TerraME (em Março) e (b) Um seminário de avaliação de seu uso (em Junho). Julho e Agosto seriam dedicados a escrever a documentação.
Comentários do Tiago:
3. É urgente a experimentação da condição “situada” dos autômatos de TerraME. Alguns já notaram seu pontencial e até publicaram um artigo sobre “agentes situados & GIS” em uma conferência em Portugal. Porém, interpretaram de forma errada a teoria e o artigo assim com a conferência são fracos. Mas corremos o risco de nadar, nadar e morrer na praia por falta de experimentação e publicação.
Comentários do Miguel:
1.1 - As ações gerenciais de TerraME t6em natureezas distintas e devem operar em paralelo. Há em curso um recurso e uma programação, com base em contrato na PUC-Tegraf e a ser executado pelo Lab na UFOP conosco para resolver questões básicas:
I - Organização do código em sistema de controle de versão (CVS) na estrutura de TLib, com acesso durante este período restrito aos times do INPE e da UFOP. Responsáveis locais. INPE: Laércio, UFOP: Tiago. II - Acomodar a versão TerraME para estar em sincronismo com TLib. TLib tem versão 3.2 programada, antes da versã0 4.0, e TerraME deve seguir este versionamento. Precisamos ter um TerraME "estável" e um "desenvolvimento". Agora mesmo deveríamos ter o TerraMe estável que acompanha a versao 3.1.4 da TLib e com versao Linux e Windows. III - Consolidar o Lab da UFOP. Com os equipamentos e um documento, creio que um termo de compromisso, que o INPE pode fazer ( e tenho um modelo) que possa ser assinado pelo Diretor , aqui, e o Reitor, na UFOP.( Tiago verificar isso) IV - Documentação BÁSICA de código (kernel) e exemplos. melhoria do materuial, dos bancos de exemplos, etc,e tc. V - Definicao do LIcenciamento de TerraME e de sua forma de distribuição.
1.2 - Há uma série de atividades no contrato que devem ser feitase que contempalam boa parte desta “estruturação”do TerraME como um projeto de sofwtare de ciclo aberto, precisamos construir isso ao longo deste ANO!
TerraME - Uma Plataforma para Inovação
Comentários do Miguel
1. Acho que TerraME é uma plataforma importante para tratar problemas cada vez mais complexos. Torná-la simples e de uso comum é um obejtivo, mas em paralelo, não devemos deixar de avançar. Além do ambiente de Agentes há uma linha que acredito de enorme potencial e pretendo trabalhar nela, que aliás envolve “agentes” também. Mas em um primeiro momento é como incorporar as informações de “Redes”, os fluxos, com as informações dos “Lugares”, os fixos, uma preocupação antiga nossa e já explorada, mas agora, conm chances reais de avançar.
2. O trabalho para observar é o EPISimS ( originado no Los Alamos Labs, e agora no http://ndssl.vbi.vt.edu/projects.html). Mas a idéia aqui é Simulação em Larga Escala integrando Redes Sociais (agentes) e Técnicas (infra-estrutura de trasportes, comunicação) operando no suporte “celular”( espaço) para compreender e simular eventos como uma Epidemia e sua difusão, considerando a “cidade” real e múltiplas escalas. O mesmo suporte e conceitos, nos permitiria explorar mobilidade em outros problemas.
3. Preocupações do Tiago , como a possibilidade do TerraME “escalar” para ambientes de computação de alto-desempenho JÁ são importantes, mesmo que ainda não tenhamos consolidado a fase 1. Se queremos modelos interessantes e simuladores eficientes vamos precisar de “power”. Para Los Alamos foi possível fazer o modelo para Portland e um modelo para Hong Kong.
4. Então TerraME é um grande ambiente para experimentar com novoas formas de representação e simulação integrada para os efeitos dos “fixos”e dos “fluxos”.
5. Há um espaço de cooperação grande com os grupos do PROCC-FIOCRUZ ( experiência em Modelagem e ambientes computacionais para tratar com “redes” - em Python EPIGRASS - Epidemiological Geo-Referenced Analysis and Simulation System. 2005.COELHO, F. C. ; CODEÇO, C. T. http://epigrass.sourceforge.net/ ) e com os grupos envolvidos nas questões de modelos climáticos em escala regional.
VER ARTIGOS:
SIAM News, Volume 37, Number 4, May 2004 The Mathematics of Networks Understanding Large-Scale Social and Infrastructure Networks: A Simulation-Based Approach Christopher L. Barrett, Stephen Eubank, V.S. Anil Kumar, and Madhav V. Marathe http://ndssl.vbi.vt.edu/Publications/largescalenetworks.pdf
TerraME: Nova versão (21/Fev/2007)
Está disponível uma nova versão do TerraME. Ver o email do Tiago a respeito:
Espero finalmente, ter corrigido os ultimos bugs do escalonador de eventos. Certamente, esta é a parte mais complicada do código. Chamo a atenção para algumas mudanças: - O que antes se chamava "Environment" agora é chamado "Scale". - O que antes era chamado "SpatialIterator" agora se chama "Trajectory".
Corrigi erros apontados pelo Pedro: - A função "ForEachCell" que antes obrigava o retorno de um valor booleano, na nova versão, torna o valor de retorno opcional. Se a função recebida como parametro, quando avaliada sobre uma célula, não retornar nada ou retornar o valor "true", fará com que o espaço celular continue a ser percorrido. No entanto, se ela retornar o valor "false", o percorrimento do espaço celular será interrompido. - A função "ForEachNeighbor" segue esta mesma lógica. Sempre que a função recebida como parâmetro não retornar nada ou retornar "true", a vizinhaça continuará a ser percorrida. Se ela retornar "false" o percorrimento é interrompido. - Me esqueci de corrigir a indexação das vizinhanças, elas ainda começam no indice 0 (zero). Só lembrei agora! Mas isso é fácil...
Implementei novas funcionalidades solicitadas pelo Gilberto: - A função "ForEachCellPair(cs1,cs2, f(cell1, cell2))" recebe dois espaços celulares como parâmetro e uma função "f" que recebe duas células. "cell1" pertence ao espaço celular "cs1" e "cell2" ao espaço celular "cs2". Esta função segue a mesma lógica com relação ao valor de retorno da função "f". Se retornar nada ou "true" os espaços celulares continuam a ser percorridos. Caso contrário, o percorrimento é interrompido.