Técnicas de Modelação e Simulação Espacial para SIG · GUI para programação com DFD; ......
Transcript of Técnicas de Modelação e Simulação Espacial para SIG · GUI para programação com DFD; ......
Técnicas de Modelação e Simulação Espacial
para SIG
Luís de SousaInstituto Superior Técnico
Maio 2011
Um Mapa
Resumo
1.História e conceitos gerais
2.Aplicações
3.Ferramentas
3.1. Nível programação
3.2. Nível do modelo
3.3. Linguagens Específicas do Domínio
3.4. Comparativo e dificuldades
1.DSL3S e ProjectIT/3S
2.Sumário
1. História e conceitos gerais
História
1940s – Autómatos Celulares de von Neumman; 1970 – Jogo da Vida de Conway; 1970s – Classificação de Wolfram; 1980s – Primeiras aplicações espaciais: reacções
químicas, comportamento matérias gasosas, processamento de imagem;
1990s – Popularização da programação por objectos e emergência do conceito de Agente;
1996 – Primeira biblioteca: SWARM.
Autómatos celulares
Variáveis – atributos que caracterizam cada autómato;
Espaço – representação discreta e regular; Vizinhança – âmbito espacial de interacção entre
autómatos; Regras – determinam a evolução do estado do
autómato em função da sua vizinhança; Tempo – partição discreta que determina cada
momento em que são aplicadas as regras.
Agente
Autónomo – controla as suas acções; Contínuo – processo que corre continuamente; Reactivo – responde prontamente a estímulos; Proactivo – actua com determinado objectivo; Móvel – transporta-se entre pontos do espaço; Sociável – consciente de Sociedade; Carácter – tem personalidade e emoções; Adaptativo – ganha experiência.
Emergência
Segregação (Schelling 1971)
Processo de Aplicação
Modelação Simulação
2. Aplicações
Fogo Florestal
Biomassa Densidade Flamabilidade Calor Altitude Vento Direcção Velocidade
Li & Magil 2001 Exemplo online
Expansão Urbana
Uso do Solo Transportes Tecido Urbano Exclusões Inclinação
SLEUTH: Clarke, Hoppen & Gaydos 1997;
Silva & Clarke 2002; Yi & He 2009.
Uso do Solo
Uso do Solo Topografia Hidrografia Altimetria Inclinação Dados Socio-
económicos
Messina & Walsh 2000
3. Ferramentas
Usando Linguagens genéricas
A utilização de linguagens de programação genéricas levanta os seguintes problemas (Fall & Fall 2001):
Dificuldade em verificar a correcta implementação; Dificuldade em modificar ou generalisar o modelo; Modelos podem ser comparados apenas por
entradas e saídas; Capacidade de integração com outras ferramentas
(e.g. SIG) limitada;
Tipos de ferramentas
Três tipos básicos de ferramentas: Nível de programação, i.e. bibliotecas de código; Nível do modelo, i.e. modelos parametrizáveis; Linguagens Específicas do Domínio; Retiram do desenvolvimento do modelo:
– Estruturas de dados e leitura/escrita;
– Apresentação de resultados;
– Colecção de estatísticas;
3.1 Nível Programação
Swarm
Biblioteca de código mais antiga; Evoluiu da Biologia para uma plataforma genérica; Inicialmente em Objective-C, hoje em Java; Código aberto de distribuição livre; Forte comunidade: Wiki, mail-list, SwarmFest; http://www.swarm.org/index.php/Main Page
MASON
Ferramenta recente, primeira versão em 2003; Biblioteca Java aberta e de distribuição livre; Leve e portável, entradas e saídas em texto; Recente integração com Java3D mas ainda sem
interoperabilidade com SIG; Fácil de aprender mas com menos funcionalidade; Documentação extensa e apoio comunitário; http://cs.gmu.edu/ eclab/projects/mason
RePAST
Grande abrangência, para além da Simulação Espacial (e.g. Algoritmos genéticos);
Multi-plataforma: Java e .NET, mas desde 2007 assente apenas em Eclipse: Java e Groovy;
GUI para programação com DFD; Extensa comunidade de utilizadores; Biblioteca com maior número de funcionalidades; http://repast.sourceforge.net
3.2 Nível Modelo
OBEUS
Planeamento Urbano integrado em SIG; Parametrização de entradas, variáveis,
comportamento e interacções; GUI de parametrização gera código em C#; Dependente de Borland C# Compiler e
Microsoft .NET framework; Suporte e desenvolvimento suspensos;
AnyLogic
Projecto académico que evoluiu para produto comercial;
Vasto conjunto de modelos parametrizáveis para diferentes áreas de aplicação;
Multi-plataforma: GUI assente sobre Eclipse; Linguagens gráficas: DFD, Diagramas de Estados; Integração com SIG; API para modelos que difiram dos padrões
disponíveis;
TELSA
Produto comercial para a gestão de Ecossistemas; Parametrização:
– Mapas para variáveis espaciais;
– Perturbações do ecossistema (temporais);
– Actividades de gestão (DFD); DFD definidos em GUI específico; Dependente de ESRI ArcGIS e Microsoft Access;
LANDIS
Projecto académico para simulação de coberto vegetal, em especial Florestas;
Parametrização:
– Mapas de variáveis espaciais com comportamento pré-defindo;
– Sucessão de perturbações e processos de gestão; Áreas de simulação até 20 M ha, mas
parametrização até ao nível da espécie florestal; Dependente de Microsoft .NET Framework;
3.3 Linguagens Específicas do Domínio
StarLogo/NetLogo
Especialização da linguagem funcional Logo para simulação com Agentes;
Multi-plataforma com adopção do Java como alvo; Código StarLogo publicado em 2006, mas de
utilização restrita à academia; NetLogo novo projecto dirigido à publicação na web; Vasta biblioteca de modelos prontos a usar; Utilização algo restrita ao ensino;
AgentSheets
Ferramenta de suporte ao ensino para alunos sem formação em programação;
Construção de modelos simples em ambiente gráfico a partir de primitivas estereotipadas;
Publicação de modelos na web; Introduzido o conceito de Conversational
Programming em 2010; Funcionamento opaco, sem interoperabilidade;
SELES
Linguagem imperativa para modelos de dinâmica Florestal;
Concebido para interacção com SIG, entradas são mapas raster em diferentes formatos;
Modelo composto por três ficheiros:
– Cenário – declaração de variáveis;
– Modelo – liga mapas a variáveis e eventos;
– Eventos / agentes – sequências de execução; Código fechado para plataformas Microsoft.
MOBIDYC
Ferramenta de dinâmica de populações para utilizadores pouco treinados em programação;
Linguagem resumida a conjunto simples de primitivas próximas do discurso natural;
É na realidade uma biblioteca de Smalltalk; Programação em ambiente amigável providenciado
pelo Cincom's VisualWorks; Concebido para cenários artificiais com pouca inter-
operabilidade, resultados em formato tabular;
3.4 Comparativo e Dificuldades
Comparativo
Comparativo
Comparativo
Dificuldades
Ferramentas ao nível Programação requerem conhecimentos sólidos de programação;
Ao nível Modelo é reduzida a interoperabilidade e o apoio comunitário;
DSL são em muitos casos brinquedos, outras requerem ainda algum tipo de programação;
Não existem ainda ferramentas como Stella ou Modelica para simulação espacial;
4. DSL3S e ProjectIT/3S
DSL3S
Ontologia para Simulação Espacial no contexto dos SIG;
Perfil UML que captura os conceitos do domínio; Estereótipos base: Variable, Animat, Behaviour; Ainda num estádio conceptual, seguir-se-á
aplicação a modelos padrão.
DSL for Spatial Simulation Scenarios
DSL3S
ProjectIT/3S
ProjectIT-Studio – ferramenta CASE para Engenharia guiada por modelos;
Desenvolvimento e aplicação de perfis UML a modelos de domínio;
Infraestrutura de geração de código e documentação a partir de modelos;
ProjectIT/3S – integração da DSL3S e desenvolvimento de guias de geração de código dirigido a uma ferramenta do nível Programação.
8. Sumário
Sumário
Simulação Espacial – análise espacial em que a variável tempo entra em consideração;
Grande número de ferramentas:
– Funcionalidade / facilidade aprendizagem;
– Abrangência / pouca programação; É ainda difícil desenvolver modelos sem programar; DSL3S – ontologia para simulação espacial; ProjectIT/3S - Desenvolvimento e parametrização de
modelos de simulação espacial com primitivas UML.