Técnicas de Modelação e Simulação Espacial para SIG · GUI para programação com DFD; ......

Post on 19-Dec-2018

221 views 0 download

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.