CellDB: UMA ARQUITETURA PARA SUPORTE A PROBLEMAS DE MODELAGEM AMBIENTAL EM GRANDE ESCALA - PDF
CellDB: UMA ARQUITETURA PARA SUPORTE A PROBLEMAS DE MODELAGEM AMBIENTAL EM GRANDE ESCALA
Download "CellDB: UMA ARQUITETURA PARA SUPORTE A PROBLEMAS DE MODELAGEM AMBIENTAL EM GRANDE ESCALA"
Eliza Dreer Gama
1 CellDB: UMA ARQUITETURA PARA SUPORTE A PROBLEMAS DE MODELAGEM AMBIENTAL EM GRANDE ESCALA Gilberto Ribeiro de Queiroz Tese de Doutorado do Curso de Pós- Graduação em Computação Aplicada, orientada pelo Dr. Gilberto Câmara e Dr. Antônio Miguel Vieira Monteiro. INPE São José dos Campos 2012
2 Ficha será revisada pelo SID. Dados Internacionais de Catalogação na Publicação Cutter Queiroz, Gilberto Ribeiro de. CellDB: UMA ARQUITETURA PARA SUPORTE A PROBLEMAS DE MODELAGEM AMBIENTAL EM GRANDE ESCALA / Gilberto Ribeiro de Queiroz. - São José dos Campos: INPE, i + 0p. ; (aa/bb/cc/dd-tdi) Doutorado em Computação Aplicada - Instituto Nacional de Pesquisas Espaciais, São José dos Campos, Orientador: Gilberto Câmara, Antônio Miguel Vieira Monteiro. 1. GIS. 2. DATABASE. 3. SOFTWARE ARCHITECTURE. 4. ENVIRONMENT MODELLING. 5. NOSQL. I. Título. CDU Copyright AAAA do MCT/INPE. Nenhuma parte desta publicação pode ser reproduzida, armazenada em um sistema de recuperação, ou transmitida sob qualquer forma ou por qualquer meio, eletrônico, mecânico, fotográfico, reprográfico, de microfilmagem ou outros, sem a permissão escrita do INPE, com exceção de qualquer material fornecido especificamente no propósito de ser entrado e executado num sistema computacional, para o uso exclusivo do leitor da obra. Copyright AAAA by MCT/INPE. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, microfilming or otherwise, without written permission from the INPE, with the exception of any material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use of the reader of the work. ii
3 FOLHA DE APROVAÇÃO CONFECCIONADA PELO SPG E INCLUÍDA PELO SID. iii
5 Lidar com a natureza finita dos atuais computadores é uma arte que requer paciência infinita. K. MULMULEY v
7 À minha querida esposa Cássia e à jovem Manu. vii
9 AGRADECIMENTOS Primeiramente, gostaria de expressar minha admiração e meus sinceros agradecimentos aos orientadores Dr. Gilberto Câmara e Dr. Antônio Miguel Vieira Monteiro, pelos ensinamentos, paciência e atenção com que me orientaram neste trabalho. Também, gostaria de agradecer a oportunidade que me deram de participar desde o início da equipe de desenvolvimento da TerraLib e por acreditarem que de alguma forma eu poderia contribuir para este projeto. Meu muito obrigado ao grande colaborador e amigo Dr. Pedro Ribeiro de Andrade pelas inúmeras sugestões e experiências compartilhadas ao longo deste trabalho. Ao Juan, meu grande parceiro no desenvolvimento tecnológico da TerraLib. Ao Lauro, pelos inúmeros conselhos ao longo dessa caminhada. À Karine, amiga desde os tempos de universidade, que nunca me deixou desanimar ao longo desta caminhada. À Lúbia, por me blindar das atividades do projeto TerraLib nos últimos meses da tese. Ao amigo de sala, Emiliano, pela enorme paciência e pelo puff, providenciado em um ótimo momento. À Marisa, pelos inúmeros conselhos e incentivos. Ao Tkörting, novo integrante do Time TerraLib. Aos amigos do time de desenvolvimento da Funcate, Fred, Douglas, Eric, André e Felipe. E a todos que de alguma forma contribuíram nesta caminhada. ix
11 RESUMO Nos últimos anos, o volume de dados disponíveis para os pesquisadores realizarem simulações computacionais que representem dinâmicas espacialmente explícitas vem aumentando consideravelmente. Novas tecnologias têm possibilitado a aquisição de dados com resoluções cada vez mais finas e com maior frequência temporal, que são armazenados nos mais diversos formatos. No entanto, grande parte das ferramentas de modelagem dinâmica espacial possue limitada capacidade de manipulação de grandes volumes de dados. Devido a esta limitação, muitos modeladores degradam a resolução espacial do modelo ou reduzem a área de estudo de forma a diminuir os custos computacionais, para tornar o estudo viável. No entanto, para que essas ferramentas possam ser usadas amplamente pela comunidade científica, neste novo cenário, é necessário que elas sejam capazes de lidar com grandes massas de dados. Ao mesmo tempo, existe um grande debate sendo realizado no campo de banco de dados sobre a concepção de novas tecnologias voltadas a nichos mais específicos de aplicação. Partindo deste cenário, esta tese procura contribuir para os estudos de modelagem ambiental integrada, através da proposta de uma arquitetura de software voltada aos requisitos de acesso e gerenciamento de dados das ferramentas de modelagem dinâmica espacial. Os resultados obtidos, a partir de protótipo desenvolvido com base nesta arquitetura, demonstram a sua capacidade em tratar volumes de dados consideráveis em ambiente de computador pessoal. xi
13 CellDB: AN ARCHITECTURE FOR DATA ACCESS IN LARGE SCALE ENVIRONMENTAL MODELING BASED ON CELLULAR SPACES ABSTRACT In recent years, the volume of data available to researchers performing computer simulations that represent spatially explicit dynamics has increased considerably. New technologies have made it possible to acquire data with increasingly fine resolutions and higher temporal frequency, which are stored in various formats. However, most of simulation tools have limited capacity for handling large volumes of data. Due to this limitation, researchers have to degrade the model resolution or must reduce the study area in order to lower the computational costs, to make the study feasible. However, in order for these tools to be widely used by the scientific community, in this new scenario, they must be able to handle massive datasets. At the same time, in the database field, a debate has been growing about systems that are more responsive to new demands, mainly for non-conventional applications. Based on this scenario, this work contributes to the integrated environmental modeling studies, by proposing a software architecture oriented towards the data management and access requirements spatial dynamics modeling tools. The results of our prototype, based on this architecture, demonstrate its ability to handle a substantial volume of data in a personal computer environment. xiii
15 LISTA DE FIGURAS Pág. Figura Estrutura Geral do TerraME Figura O ambiente de um modelo representado como um conjunto de mapas Figura Comparação entre diversas ferramentas de modelagem em relação ao trabalho com dados espaciais Figura Tipos Geométricos Básicos da SFS-SQL Figura Exemplo de tabela com coluna geométrica Figura Consulta espacial em SQL Figura Imagem armazenada em uma tabela Figura Definição de uma matriz 4 x 4 com 2 atributos Figura Middleware CellDB Figura Módulos do CellDB Figura Tipo abstrato de dado - Cell Figura Tipos de Espaços Celulares Figura Espaço Celular e Células Figura Tipo abstrato de dado - espaço celular Figura Tipos de vizinhanças Figura Tipo abstrato de dado - vizinhança Figura CellDB - camada de acesso a dados especializada nos tipos espaço celular e vizinhança Figura Preparação do ambiente de dados do modelo Figura Organização da Classes da API CellDB Figura Diagrama das classes do pacote Catalog Figura Registrando um novo espaço celular Figura Diagrama das classes do pacote Data Access Figura Preparação de um espaço celular para simulação Figura Iteradores: desacoplando a travessia do espaço celular da organização interna das células. 68 Figura Hierarquia de iteradores Figura Obtenção e uso de um iterador Figura Classe base para as vizinhanças Figura Acesso às células em uma vizinhança Figura Arquitetura CellDB - acesso e manipulação das células Figura Vizinhança Figura Visão Interna do armazenamento das células em formatos de arquivos matriciais Figura Visão interna do armazenamento das células em SGBDs com suporte matricial Figura Máscara de bits de um espaço celular irregular Figura Armazenamento de vizinhanças simples Figura Armazenamento de vizinhanças com atributos associados Figura Implementação da API CellDB sobre a TerraLib Figura Classes Módulo Raster TerraLib: (a) Composição de um raster; (b) Fábricas de raster; (c) Definição de propriedades de um raster Figura (a) Driver PostGIS Raster; (b) ProxyRaster Figura Diagrama UML das classes de acesso a dados da TerraLib Figura Jogo da Vida Quadro Pseudocódigo do Jogo da Vida Figura Modelo de segregação de Schelling Quadro Pseudocódigo do modelo de segregação Quadro Pseudocódigo do modelo simplificado LUCC Figura Tempo de execução de uma iteração do modelo do Jogo da Vida Figura Implementação do middleware CellDB embutido em um SGBD matricial Quadro B.1 - Criação de um espaço celular para o jogo da vida xv
16 Quadro B.2 - Jogo da Vida Quadro B.3 - Criando um espaço celular para o modelo de segregação de Schelling Quadro B.4 - Modelo de Schelling Quadro B.5 - Modelo de Schelling xvi
17 LISTA DE TABELAS Pág. Tabela Preâmbulo dos modelos usados nos experimentos Tabela Tempo médio de uma iteração dos modelos Jogo da Vida e LUCC Tabela Tamanhos usados para o cache de dados no Jogo da Vida Tabela Tempo da simulação do modelo de segregação Tabela Jogo da Vida com vizinhança armazenada em sistemas NoSQL Chave-Valor Tabela Sumário dos Experimentos xvii
19 LISTA DE SIGLAS E ABREVIATURAS INPE Instituto Nacional de Pesquisas Espaciais OGC Opengeospatial Consortium UML Unified Modeling Language WCS Web Coverage Service WFS Web Feature Service xix
21 LISTA DE SÍMBOLOS GB MB Gibabyte Megabyte xxi
23 SUMÁRIO xxiii Pág. 1 INTRODUÇÃO A Contribuição desta Tese Estrutura deste Documento REVISÃO DA LITERATURA Ferramentas de Modelagem de Dinâmicas Espacialmente Explícitas: Modelagem Dinâmica Espacial TerraME: Terra Modeling Environment RePast: Recursive Porous Agent Simulation Toolkit PCRaster: Software for Environmental Modeling Considerações Sobre as Ferramentas de Modelagem Novas tecnologias de Gerenciamento de Bancos de Dados SGBDs Relacionais Bancos de Dados Orientados a Documentos Armazenamento baseado em pares chave-valor Bancos baseados em Grafos Bancos de Dados Matriciais As Ferramentas de Modelagem Dinâmica Espacial e as Novas Tecnologias de Banco de Dados CellDB - Cellular DataBase: ARQUITETURA PARA ACESSO A DADOS NA MODELAGEM E SIMULAÇÃO AMBIENTAL COM USO DE ESPAÇOS CELULARES Concepção Geral do CellDB Tipos Abstratos de Dados em CellDB TAD Cell: Célula TAD CellSpace: Espaço Celular TAD Neighborhood: Vizinhança CellDB: Módulo Camada de Acesso a Dados CellDB: Módulo Catálogo Interno de Metadados Projeto da API do CellDB Visão Geral Classes do Catálogo Interno de Metadados Classes da Camada de Abstração de Dados Um Artefato Computacional Demonstrativo da Arquitetura Proposta: Projeto e Implementação da API CellDB Projeto da Arquitetura Estratégia de Armazenamento Temporário - I: Arquivos Matriciais Estratégia de Armazenamento Temporário - II: SGBDs Matriciais Representação de Espaços Celulares Irregulares... 75
24 Cache e Gerenciamento de E/S Vizinhanças em sistemas NoSQL Algumas Considerações Sobre a Implementação Considerações Finais PROVA DE CONCEITO: AVALIANDO O DESEMPENHO DE TRÊS MODELOS ESPACIALMENTE EXPLÍCITOS COM O USO DO CellDB Metodologia para Construção dos Testes Jogo da Vida O Modelo de Segregação de Schelling Modelo LUCC Dinâmica de Mudança de Uso e Cobertura da Terra Infraestrutura de hardware e software utilizada para os Testes Definição e Descrição das Baterias de Testes Considerações Finais do Capítulo CONCLUSÕES E TRABALHOS FUTUROS APÊNDICE A - ESPECIFICAÇÃO DO CATÁLOGO INTERNO DE METADADOS DO CellDB A.1 Espaço Celular A.2 Vizinhança A.3 Fontes de Dados A.4 Tipos Elementares APÊNDICE B - IMPLEMENTAÇÃO MODELOS NO CellDB B.1 Jogo da Vida com CellDB B.2 Modelo de Segregação com CellDB B.5 Modelo LUCC xxiv
25 1 INTRODUÇÃO Em um mundo onde os recursos naturais estão cada vez mais limitados, a definição de políticas e práticas para se minimizar o impacto das ações humanas sobre o meio ambiente tem tido importância crescente. Representar os processos inerentes e relacionados ao meio ambiente através de modelos computacionais possibilita investigar o sistema como um todo, incorporando propriedades tais como resiliência e retroalimentação. Este tipo de abordagem possui aplicações nas mais diversas áreas da ciência, como hidrologia, mudança de uso e cobertura da terra, ecologia e sistemas sociais. Não é fácil modelar computacionalmente as relações entre o homem e o meio ambiente. É preciso seguir vários passos. Primeiro, obter e armazenar os dados relativos à área de estudo. Depois, conceber e implementar o modelo. Finalmente, avaliar os resultados da simulação para verificar se o modelo nos ajuda a melhor compreender a realidade. Para responder a estes desafios, precisamos de ferramentas computacionais cujos conceitos sejam próximos da realidade do modelador. Tais ferramentas devem representar o espaço geográfico de forma explícita, usualmente na forma de partições regulares. Waldo Tobler (1979), dentro do campo da geografia, foi quem primeiro propôs a idéia de uma Geografia Celular. Nos modelos tratados nesta tese (GARDNER, 1970; SCHELLING, 1971; DE KONING et al., 1999), as partições regulares do espaço são chamadas de espaços celulares. Nesta representação, o espaço é dividido em células de tamanho regular conectadas através de relações de vizinhança. Na literatura, o uso de espaços celulares é a forma mais usual de representação computacional do espaço geográfico em modelos sociedade-natureza. Nos últimos anos, o volume de dados disponíveis para os pesquisadores realizarem simulações computacionais sobre as relações sociedade-natureza vem aumentando consideravelmente. Novas tecnologias têm possibilitado a aquisição de dados com resoluções cada vez mais finas e com maior 25
26 frequência temporal, armazenados nos mais diversos formatos (GRAY et al., 2005). Assim, para que as ferramentas de modelagem ambiental possam ser usadas amplamente pela comunidade científica, é necessário que sejam capazes de tratar grandes volumes de dados. Para que isto seja possível, há barreiras técnicas a vencer. Na área de modelagem ambiental, a literatura apresenta um grande número de ferramentas para diversas aplicações. As principais ferramentas de simulação (CARNEIRO et al., 2012; NORTH et al., 2006; PCRASTER TEAM, 2012) possuem capacidade limitada de gerenciamento de dados, por usarem apenas a memória primária do computador. O encargo pelo gerenciamento de memória é dos desenvolvedores, que criam e implementam estruturas de dados em memória. Na maior parte dos casos, isto é um fator limitante nos programas escritos com estas ferramentas. A não ser que o ambiente computacional conte com grande quantidade de memória primária, os mecanismos de memória virtual disponíveis nos sistemas operacionais presentes em computadores de uso pessoal, não são apropriados para as aplicações de modelagem. Devido a estas limitações, muitos modeladores degradam a resolução espacial do modelo ou reduzem a área de estudo de forma a diminuir os custos computacionais, tornando o estudo viável. Ao mesmo tempo, o campo de banco de dados, que tem produzido tecnologias para o armazenamento e gerenciamento de dados desde o final dos anos 60 (ELMASRI; NAVATHE, 2006), vive um momento de grande debate sobre a necessidade de repensar suas tecnologias, tanto do ponto de vista de suas arquiteturas e linguagens quanto de nichos mais específicos de aplicações (STONEBRAKER; CENTINTEMEL, 2005; STONEBRAKER et al., 2007; MADEN, 2012). As novas demandas produzidas pelos requisitos dos novos negócios em torno de dados e informações na Web por um lado, e as do campo científico, com dados espaço-temporais em profusão, têm estabelecido duas tendências neste debate. Uma perspectiva que chamaremos aqui de campo NoSQL (CATTELL, 2010) e outra apontando a necessidade de uma 26
27 abordagem que toma o passado construído e consolidado em teoria e tecnologias no campo de banco de dados e avança em função das necessidades apontadas pelas novas dinâmicas das aplicações no século XXI (STONEBRAKER et al., 2007; MADDEN, 2012). Esta tese é construída nesta interface, com o foco nas ferramentas computacionais desenhadas para lidar com a modelagem de processos do domínio geográfico que, por terem sido projetadas para tratar com um volume de dados mais restrito e nascidas, muitas vezes, fora do campo da ciência da computação, não contaram com as tecnologias de banco de dados associadas ao seus desenvolvimentos. Portanto, o desafio que enfrentamos neste trabalho é o de gerenciamento de dados para esta classe específica de ferramentas de modelagem A Contribuição desta Tese Considerando os cenários apresentados, esta tese procura contribuir para os estudos de modelagem ambiental integrada, associando às ferramentas computacionais de modelagem desta área uma maior capacidade de tratar com dados reais em grande volume. O desafio enfrentado é permitir o gerenciamento de um volume de dados considerável para estas ferramentas, com impacto mínimo do ponto de vista do modelador. A hipótese defendida nesta tese é que as ferramentas de modelagem ambiental podem se beneficiar de alteranativas atuais de gerenciamento de dados através da concepção de uma arquitetura de software, materializada na forma de um middleware (NAUR; RANDELL, 1969), que atenda a seus requisitos de gerenciamento de dados. Assim sendo, esta tese propõe um middleware que gerencia o acesso e o armazenamento de espaços celulares. Ele permite que as ferramentas de modelagem possam ser desenvolvidas de forma independente das tecnologias de armazenamento de dados. A proposta resulta de uma análise dos requisitos de ferramentas de modelagem. Procuramos entender o que há de comum nas aplicações típicas e separar as 27
28 funções de processamento das funções de acesso e armazenamento. Os resultados obtidos a partir de um protótipo desenvolvido deste middleware demonstram a capacidade da arquitetura proposta em tratar o problema de modelar com grande volume de dados em ambiente de computador pessoal Estrutura deste Documento Esta tese esta escrita da seguinte forma. No Capítulo 2 é realizada uma revisão da literatura sobre as ferramentas de modelagem dinâmica espacial, bem como das novas tecnologias de armazenamento. O Capítulo 3 apresenta a arquitetura proposta, materializada no middleware CellDB, e o Capítulo 4 descreve estudos sobre a capacidade desta ferramenta. Finalmente, o Capítulo 5 apresenta as conclusões e trabalhos futuros. 28
29 2 REVISÃO DA LITERATURA No campo das tecnologias de banco de dados, desde meados dos anos 90, um grande debate científico internacional vem sendo realizado sobre as bases técnicas e conceituais dos sistemas de banco de dados e sua adequação às demandas originadas a partir das novas tecnologias de produção e coleta de dados em grande escala e das necessidades que toda uma nova geração de aplicações com uso intensivo da web trouxeram para o cenário atual. Trabalhos como o de Stonebraker e Cetintemel (2005) mostram que existe uma tendência de uma maior fragmentação das tecnologias de banco de dados em nichos mais específicos de aplicações. Este cenário é reforçado com o surgimento de novas arquiteturas de banco de dados e linguagens de manipulação de dados voltadas às necessidades das aplicações da comunidade científica (CUDRE- MAUROUX et al., 2009; KERSTEN et al., 2011; DOBOS et al., 2011). Um campo técnico-científico que teve grande crescimento foi o da modelagem socioambiental. A existência de novos sistemas de observação e coleta de dados ambientais, climáticos e sóciodemográficos e as novas dimensões das questões relacionadas com mudanças nas relações população-ambiente, em um contexto de escala global, recolocaram os modelos e simulações computacionais de processos físicos e sociais na agenda científica e com impactos nos sistemas de decisão nas escalas local, regional e global. Se por um lado já havia uma tradição de modelagem computacional intensiva no campo da meteorologia e do clima, novos problemas passaram a demandar uma abordagem de modelagem mais integrada do sistema terrestre, exigindo novos modelos e ferramentas computacionais que pudessem, além de tratar os processos físicos, lidar também com suas interações com os processos sociais estabelecidos em espaços geográficos concretos e complexos. Neste contexto nasceu ou renasceu um conjunto de ferramentas computacionais destinadas a tratar parcialmente elementos presentes no domínio dos novos problemas. Um subconjunto destas ferramentas buscou apresentar metodologias e técnicas 29
30 para modelar e simular dinâmicas presentes em espaços geográficos computacionalmente representados, utilizando, em princípio, dados e informações produzidas a partir de sistemas de informação geográfica e bancos de dados espaciais. A relação entre este subconjunto de ferramentas, denominado ferramentas de modelagem dinâmica espacialmente explícitas, e as novas tecnologias de banco de dados é o objeto central desta tese. Este capítulo procura fazer uma revisão da literatura com base em trabalhos relacionados a este recorte temático, construindo as bases para uma proposta de arquitetura de um sistema de banco de dados que atenda às necessidades das ferramentas de modelagem dinâmicas espacialmente explícitas, desenhadas para uso como aplicativos monousuários executados em um computador pessoal Ferramentas de Modelagem de Dinâmicas Espacialmente Explícitas: Modelagem Dinâmica Espacial As ferramentas de modelagem dinâmica espacial têm como principal objetivo facilitar a concepção, implementação e simulação de modelos, através da apresentação de conceitos que mapeiam abstrações do mundo real para representações computacionais. Estes conceitos abstraem as estruturas de dados internas da ferramenta, fazendo com que os modeladores possam focar na definição das entidades que compõem o modelo, bem como nos seus comportamentos e nas suas relações. Assim, o modelador não necessita se preocupar com aspectos computacionais, tais como sincronização de processos e entrada e saída de dados. Atualmente, existe um conjunto de ferramentas capazes de trabalhar com a criação de modelos dinâmicos espaciais. Apresentamos aqui uma breve revisão de três destas ferramentas, baseadas em software livre, disponíveis atualmente: TerraME (CARNEIRO et al., 2012), RePast (NORTH et al., 2006) e PCRaster (PCRASTER TEAM, 2012). Nosso enfoque não é de apresentar uma revisão exaustiva de todas as funcionalidades destas ferramentas, nem a 30
31 comparação entre os conceitos introduzidos por cada uma delas, uma vez que existem muitos trabalhos com este fim (GILBERT; BANKES, 2002; TOBIAS; HOFMANN, 2004; RAILSBACK et al., 2006; ANDRADE, 2010). Nosso foco nesta seção são as estruturas utilizadas para representação de dados e seu acesso TerraME: Terra Modeling Environment O TerraME é uma ferramenta de modelagem que possibilita a criação de modelos nos quais os componentes espacial, temporal e comportamental podem ser especificados de forma independente unss dos outros (CARNEIRO et al., 2012). Distribuído como software livre, sob a licença GNU LGPL (http://www.terrame.org), e.org), o ambiente fornecido pelo TerraME possibilita a escrita de modelos através da linguagem de programação Lua (IERUSALIMSCHY et al., 1996). A sua estrutura geral é mostrada na Figura 2.1. Figura Estrutura Geral do TerraME. Fonte: Carneiro et al. (2012) No nível mais baixo dessa arquitetura, o TerraME utiliza os serviços da biblioteca TerraLib (CÂMARA et al., 2010) para armazenamento e recuperação dos dados em bancos de dados geográficos. As camadas de informação da TerraLib, com representações de pontos, linhas, polígonos ou células, são usadas para carregar os atributos das células de uma estrutura denominada 31
32 espaço celular (CARNEIRO et al., 2008). Esta estrutura faz parte do sistema de tipos espaciais do TerraME. Os atributos das células são todos armazenados em memória primária, numa estrutura de dados híbrida. Os atributos manipulados nos modelos são representados por campos de tabelas da linguagem Lua, enquanto alguns atributos de controle são representados por uma estrutura de dados implementada na linguagem C++ (STROUSTRUP, 1997). Esta estratégia possibilita uma máxima flexibilidade em relação aos tipos de dados que podem ser utilizados para representar os atributos das células, uma vez que a linguagem Lua é fracamente tipada. Outra estrutura de dados amplamente utilizada nos modelos escritos com o TerraME é denominada vizinhança. A vizinhança pode ser carregada a partir de um banco de dados TerraLib contendo uma Matriz de Vizinhança Generalizada (GPM) (AGUIAR, 2006), lida de um arquivo, ou ainda computada dinamicamente. Nos dois casos os relacionamentos entre as células são materializados na memória. Cada célula carrega uma ou mais listas de adjacência, dependendo do número de vizinhanças associadas a ela. Além dos tipos mencionados acima, o TerraME ainda possui tipos comportamentais (Agente e Autômato) e temporais (Evento e Timer) RePast: Recursive Porous Agent Simulation Toolkit O RePast é uma ferramenta de modelagem com base no conceito de agentes (NORTH et al., 2006). Ela possui suporte às linguagens Java (GOSLING et al., 2005), Python (VAN ROSSUM, 1993) e para a plataforma.net da Microsoft (MICROSOFT, 2012). Os agentes nesta ferramenta não possuem nenhum tipo de representação espacial explícita. Para possibilitar a criação de relacionamentos entre os agentes assim como para inseri-los em um espaço, existe o conceito de contexto (Context). Um contexto agrupa os agentes em um container onde podem ser aplicadas uma ou mais projeções (Projection). As projeções possibilitam a criação de estruturas para definição dos espaços onde 32
33 os agentes serão inseridos. Conforme descrito por CROOKS (2007), o RePast suporta três tipos de espaços: a) espaços celulares: representados entre outras formas por grades regulares ou hexagonais. As células dessas grades podem conter um único agente ou múltiplos agentes, dependendo das restrições usadas na sua construção. Dados geográficos matriciais, no formato ESRI ASCII, podem ser usados na importação e exportação de dados nesse tipo de representação do espaço. A única limitação é que cada espaço pode conter uma única propriedade. A representação de grade possibilita a realização de consultas de vizinhanças como a de Moore (vizinhança 8) e Von Neumann (vizinhança 4); b) espaços contínuos: a localização dos agentes pode ser representada por um par de coordenadas em ponto flutuante ou pela associação a uma determinada geometria vetorial (pontos, linhas e polígonos), no caso de espaços contínuos geográficos. Os agentes neste último caso podem ter suas informações carregadas a partir de arquivos shapefile, onde cada feição contida no arquivo dá origem a um agente do modelo. Este suporte geográfico é realizado através das bibliotecas GeoTools (TURTON, 2010) e Java Topology Suite (VIVID SOLUTIONS, 2012). Consultas espaciais como a busca por retângulos ou que envolvam operações topológicas entre as geometrias associadas aos agentes podem ser realizadas sobre o espaço geográfico; c) espaço de redes: o conceito de redes do RePast possibilita a criação de relacionamentos entre os agentes. Esses relacionamentos podem ser criados de forma dinâmica ou carregados a partir de dados armazenados em algum formato textual. Diferentemente do TerraME, no RePast a estrutura de rede é um container (Network) do mesmo nível que o espaço celular ou que o espaço contínuo. 33
34 Assim como no TerraME, todos os dados manipulados pelo RePast, agentes, geometrias, células e vizinhança, são armazenados diretamente na memória primária durante a execução das simulações PCRaster: Software for Environmental Modeling O PCRaster é uma ferramenta de modelagem baseada em uma álgebra de mapas tradicional do universo SIG (PCRASTER TEAM, 2012). Os dados dos modelos são discretizados na forma de células. Cada uma delas pode conter um ou mais atributos, mas apenas um será usado para receber ou transmitir informações para as células vizinhas. Em relação ao armazenamento de dados, o PCRaster possui um formato matricial próprio. Cada espaço de atributos é armazenado em um arquivo separado (chamado de mapa). Uma pilha de mapas é usado para compor o ambiente sendo modelado. A propriedade de uma célula é formada pelos valores dos atributos em cada mapa (Figura 2.2). Figura O ambiente de um modelo representado como um conjunto de mapas. Fonte: PCRaster Team (2012) As vizinhanças são definidas apenas considerando-se as adjacências das células ou através de mapas com caminhos definidos entre as células. Portanto, não há flexibilidade, como no RePast ou TerraME, para este tipo de 34
sid.inpe.br/mtc-m19/2013/01.11.11.58-tdi CellDB: UMA ARQUITETURA PARA SUPORTE A PROBLEMAS DE MODELAGEM AMBIENTAL EM GRANDE ESCALA Gilberto Ribeiro de Queiroz Tese de Doutorado do Curso de Pós-Graduação