Universidade Federal do Amazonas
Instituto de Computação
Programa de Pós-Graduação em Informática
MOGNO: um modelo computacional para
análise da dinâmica florestal
Daniella Rodrigues Bezerra
Fevereiro - 2013
Universidade Federal do Amazonas
Instituto de Computação
Daniella Rodrigues Bezerra
MOGNO: um modelo computacional para análise
da dinâmica florestal
Segunda qualificação submetida à comissão do
Programa de Pós-Graduação em Informática da
UFAM, como parte dos requisitos necessários à
candidatura para o Doutorado em Informática.
Área de concentração: Engenharia de Software. Sub-área: Compiladores e Linguagem
de Domı́nio Especı́fico.
Orientador: Prof Raimundo da Silva Barreto, Dr.
Fevereiro - 2013
Daniella Rodrigues Bezerra
MOGNO: um modelo computacional para
análise da dinâmica florestal
Segunda qualificação submetida à comissão do
Programa de Pós-Graduação em Informática da
UFAM, como parte dos requisitos necessários à
candidatura para o Doutorado em Informática.
Área de concentração: Engenharia de Software. Sub-área: Compiladores e Linguagem
de Domı́nio Especı́fico.
BANCA EXAMINADORA
Prof. Raimundo da Silva Barreto, Dr., Presidente
Universidade Federal do Amazonas
Prof. xxx, PhD., Membro
Universidade Federal de Pernambuco
Prof. xxx, Dr., Membro
Universidade Federal de Pernambuco
Ao meu pai e à minha mãe por plantarem a semente. À vida pelo
solo fértil. A todos da minha famı́lia pelo incentivo para realização
deste trabalho.
iv
Agradecimentos
Ao plano espiritual pela força invisı́vel;
Ao meu orientador, Prof. Barreto pela orientação;
Ao meu supervisor, Prof. Bernd Fischer pelas contribuições;
Aos meus irmãos acadêmicos Odette, Herberte, ...;
À Elienai e equipe pelo apoio diário;
À CAPES pela oportunidade e concessão da bolsa de estudos;
À UFAM e a todos os professores pela experiência de vida que a candidatura ao
doutorado vem me proporcionando.
v
Que vocês sejam grandes empreendedores.
Se empreenderem, não tenham medo de
falhar. Se falharem, não tenham medo
de chorar. Se chorarem, repensem a sua
vida, mas não desistam. Dêem sempre
uma nova chance a si mesmos.
Augusto Cury
O conhecimento pronto estanca o saber e
a dúvida provoca a inteligência.
Lev Vigotsky
Resumo
As florestas representam um componente fundamental para o sistema climático
pois contribuem diretamente na regulação do clima e influenciam em varios ciclos
como o hidrológico, de carbono e energia. Este forte elo de cooperação entre as
florestas e o sistema climático vem despertando o interesse da comunidade cientı́fica
em compreender melhor as vulnerabilidades, impactos e a capacidade de regeneração
das florestas diante de mudanças climáticas. Trata-se de um domı́nio complexo que
envolve muitos questionamentos sobre a análise da dinâmica florestal, estimativa de
carbono e que sofre uma carência de modelos computacionais formais capazes de
auxiliar tais atividades. Este trabalho de pesquisa aborda o problema de como maximizar a análise da dinâmica florestal e estimativa de carbono minimizando tempo,
custo, esforço e propõe um modelo computacional formado por dois componentes
centrais inovadores que são respectivamente: a linguagem de domı́nio especı́fico CarbonQL e a ontologia Carbontology. Esses dois componentes integrados formam o
modelo Mogno que usa a Engenharia Guiada por Modelos como método para a integração e modularização dos mesmos. A partir da linguagem CarbonQL conectada
a um banco de dados cientı́fico, os engenheiros florestais podem obter respostas aos
seus questionamentos por meio da especificação de consultas usando a terminologia
do domı́nio, formalizada por este trabalho através da Carbontology. Espera-se como
principal contribuição cientı́fica a prova de que o modelo Mogno parte dos questionamentos feitos pelos especialistas ao nı́vel de execução computacional de tal forma
que propriedades do domı́nio possam ser extraı́das e validadas de forma otimizada.
vii
Abstract
Abstract.
viii
Lista de Figuras
ix
Lista de Tabelas
x
Sumário
Resumo
vii
Abstract
viii
Lista de Figuras
ix
Lista de Tabelas
x
1 Introdução
1.1 Motivação e Justificativa
1.2 Questões de Pesquisa . .
1.3 Objetivos . . . . . . . .
1.4 Metodologia . . . . . . .
1.5 Organização da Proposta
1
4
5
7
8
9
I
. . . . .
. . . . .
. . . . .
. . . . .
de Tese
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Fundamentação Teórica
11
2 Modelos computacionais
2.1 Modelagem e Modelos Computacionais:
2.2 Contribuição dos Modelos . . . . . . .
2.3 Engenharia Guiada por Modelos . . . .
2.4 Considerações Finais . . . . . . . . . .
conceitos e motivações
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
3 Linguagens de Domı́nio Especı́fico
3.1 Teoria das Linguagens Formais e as DSLs . . .
3.2 Porque, quando e como desenvolver uma DSL
3.3 Técnicas de Implementação . . . . . . . . . .
3.4 Combinando multiplas linguagens . . . . . . .
xi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12
12
17
17
17
.
.
.
.
18
18
18
18
18
SUMÁRIO
3.5
II
xii
Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Descrição Metodológica
19
4 Instrumental de Pesquisa
4.1 Escopo do Projeto . . . . . . . . . . . . . .
4.2 Métodos, Técnicas e Ferramentas Utilizados
4.3 Plano de Desenvolvimento da Pesquisa . . .
4.4 Cronograma . . . . . . . . . . . . . . . . . .
4.5 Considerações Finais . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
20
20
20
20
III Apresentação, Análise e Interpretação dos Resultados
Parciais
21
5 Mogno: um modelo computacional
tal
5.1 Introdução . . . . . . . . . . . . .
5.2 A linguagem CarbonQL . . . . .
5.3 A ontologia Carbontology . . . .
5.4 Considerações Finais . . . . . . .
6 Aplicação do Modelo Mogno
6.1 Introdução . . . . . . . . . . . .
6.2 Estudo de caso: uma análise do
uma área da floresta amazônica
6.3 Considerações Finais . . . . . .
para análise da dinâmica flores.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . .
sequestro e emissão de
. . . . . . . . . . . . .
. . . . . . . . . . . . .
7 Próximos Passos
7.1 Revisão Sistemática . . . . . . . . .
7.2 Aprimoramento do Modelo Mogno
7.3 Avaliação do Modelo Mogno . . . .
7.4 Metas de Publicações . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . .
carbono
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
22
22
22
22
22
23
. . . 23
em
. . . 23
. . . 23
.
.
.
.
.
.
.
.
.
.
.
.
24
24
24
24
24
8 Discussão e Contribuições Esperadas
25
8.1 Limitações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
SUMÁRIO
Referências Bibliográficas
xiii
25
Capı́tulo 1
Introdução
Técnicas como generalização e especialização são utilizadas pela ciência para
modelar, analisar e explicar fenômenos nas mais diversas áreas do conhecimento. Na
computação um dos modelos teóricos pioneiros que fundamenta a generalização e a
especialização é a máquina de Turing [4]. Do ponto de vista da generalização, Turing
propôs uma máquina universal, capaz de dizer se uma dada função naturalmente
considerada computável, pode ser computada por seu modelo abstrato. Já do ponto
de vista especı́fico, a máquina de Turing é usada para representar aspectos lógicos do
funcionamento de um computador como memória, estados e transições. Linguagens
de programação ou de especificação surgiram a partir deste modelo teórico proposto
e são usadas basicamente em propósitos gerais ou especı́ficos, cujo termo popular
em inglês é respectivamente General Purpose Language (GPL) e Domain Specific
Language (DSL)
1
As GPLs tais como Java, C, Python, etc., oferecem um amplo conjunto de abstrações disponibilizando flexibilidade ao programador para construção de sistemas
relacionados aos mais variados domı́nios como processos de negócios, computação
1
Por uma questão de padronização com a literatura internacional, no decorrer deste trabalho
serão utilizadas as siglas GPL para referenciar linguagem de propósito geral e DSL para linguagem
de domı́nio especı́fico.
1
2
numérica, processamento simbólico, programação cientı́fica, entre outros. Já as
DSLs são mais pontuais e restritas (conjunto reduzido de notações e abstrações) ao
subdomı́nio para os quais elas foram projetadas, por exemplo, Eugene [1] é uma DSL
para especificação e definição de restrições de partes, recursos e regras associadas a
elementos da biologia sintética. Esta DSL foi desenvolvida com o intuito de permitir
que biólogos e outros especialistas de áreas correlatas e com o mesmo interesse de
pesquisa possam criar de forma autônoma e padronizada suas especificações sobre o
domı́nio. Como resultado, os especialistas passaram a ter um método formal e que
adicionou mais confiabilidade as especificações. Eugene é uma alternativa ao método
ad-hoc que agregou maior produtividade na análise do DNA (deoxyribonucleic acid ).
Desde o modelo de Turing aos atuais, que derivaram ou não deste, os problemas
da área de modelagem computacional investigados por este trabalho são:
Problema 1. Mapear quais problemas podem ser ou não computados em um dado
modelo computacional e,
Problema 2. Como evoluir os modelos computacionais para otimizar a representação
e a solução dos problemas do mundo real.
Existem vários métodos que sugerem um ponto de partida à obtenção de soluções
de tais problemas. Um deles é a engenharia guiada por modelos, em inglês, modeldriven engineering (MDE), que procura contribuir com seus exemplos de heterogeneidade através da automação de modelos entre linguagens de modelagem de forma
que modelos sejam transformados do alto para o baixo nı́vel, resultando em um
modelo passı́vel de execução, seja por geração de código ou pela interpretação de
modelos.
MDE promove o uso de modelos em vários nı́veis de abstração como artefatos
para a especificação de sistemas bem como a transformações automáticas do modelo
do usuário em software e emerge como um paradigma promissor em engenharia de
3
software por enfatizar o uso de modelos não apenas para fins de documentação e
comunicação, mas como artefatos que podem ser transformados em outros modelos.
Dentro do contexto de MDE, as DSL’s representam para os especialistas o encapsulamento de um determinado domı́nio, capaz de melhorar a qualidade e produtividade
do desenvolvimento de software, como exemplificado anteriormente no caso da DSL
Eugene. Parte desta produtividade está associada à possibilidade dos especialistas
desenvolverem, modificarem, validarem e testarem suas próprias aplicações já que a
sintaxe/semântica da linguagem contempla uma terminologia que faz parte do vocabulário comum, onde o mesmo pode ser descrito com o auxı́lio de uma ontologia
formal.
De acordo com Henderson-Sellers [5], a ontologia formal, tema de pesquisa amplamente explorado pela área de inteligência artificial, pode ser definida como um
conjunto de conceitos pertinentes a um domı́nio e expressos em uma linguagem
computacional de representação ontológica. Atualmente uma linguagem que vem
ganhando popularidade neste contexto é a Web Ontology Language, informalmente
conhecida como OWL.
Segundo France e Rumpe [3], pesquisas sobre técnicas de especificação, como
ontologias formais, são particularmente relevantes porque linguagens de modelagem
devem ter uma semântica formalmente definida caso realmente se queira criar modelos passı́veis de análise.
Como a área de modelagem computacional é multi e interdisciplinar, os Problemas 1 e 2 também são amplamente discutidos em outras áreas de conhecimento, por
exemplo, na Engenharia Florestal. As florestas representam um componente fundamental para o sistema climático pois contribuem diretamente na regulação do clima
e influenciam em vários ciclos como o hidrológico, de carbono e energia. Este forte
elo de cooperação entre as florestas e o sistema climático vem despertando o interesse
da comunidade cientı́fica em compreender melhor as vulnerabilidades, impactos e a
1.1 Motivação e Justificativa
4
capacidade de regeneração das florestas diante de mudanças climáticas. Trata-se
de um domı́nio complexo que envolve muitos questionamentos sobre a análise da
dinâmica florestal, estimativa de carbono e que sofre uma carência de modelos computacionais formais capazes de auxiliar tais atividades. Essas dificuldades fazem
com que os engenheiros florestais se deparem com o seguinte problema:
Problema 3. Como maximizar a análise da dinâmica florestal e estimativa de carbono minimizando tempo, custo, esforço?
Segundo um levantamento feito por Juvenal e Mattos [6], o Brasil é o segundo
paı́s com maior cobertura florestal do mundo, superado apenas pela Rússia. Com tal
extensão de cobertura florestal, além de posição estratégica nas questões ambientais
globais, o Brasil possui um grande potencial produtivo de produtos madeireiros e
serviços ambientais. Inicialmente este fato chamou atenção para este domı́nio como
um possı́vel estudo de caso, realização de experimentos e aplicações práticas para
este trabalho já que do ponto de vista computacional, a dinâmica florestal é um
domı́nio de estudo muito suscetı́vel a abstrações e simulações, ideal para a aplicação
e análise de modelos computacionais. A próxima seção aborda com mais propriedade
a motivação e justificativa para este trabalho.
1.1
Motivação e Justificativa
Com base nos Problemas 1, 2 e 3, é possı́vel observar uma interseção nos interesses de pesquisa que resultou no mapeamento de dois grupos relevantes para
o contexto desse trabalho: (i) comunidade da ciência da computação, interessada
em criar/evoluir modelos computacionais e aplicar métodos como MDE e linguagens formais (GPLs ou DSLs) em sistemas complexos que representem abstrações
do mundo real, com o objetivo de entender como modelos, metamodelos e métodos
podem ser otimizados, e (ii) a comunidade da engenharia florestal com interesse em
1.2 Questões de Pesquisa
5
obter respostas para questões que resultem em uma melhor compreensão da dinâmica
florestal e ciclo do carbono já que o tema envolve a sociedade como um todo, desde
ações individuais, passando pela cadeia produtiva, econômica e chegando ao nı́vel
de decisões governamentais.
A motivação para a análise deste domı́nio está no fato de a atividade madeireira e a cadeia produtiva a ela associada contemplarem problemas interessantes de
serem investigados do ponto de vista computacional e por ser um domı́nio mundialmente em evidência já que em vários paı́ses, a atividade madeireira é objeto de
investimentos e transações comerciais de elevado valor.
A justificativa para a realização deste trabalho está alinhada com os grandes
desafios da pesquisa em computação no Brasil (2006-2016), mapeados e discutido
em um seminário realizado pela Sociedade Brasileira da Computação. Um dos cinco
grandes desafios está associado a “modelagem computacional de sistemas complexos
artificiais, naturais e da interação homem-natureza”. A modelagem computacional
envolve um grande conjunto de algoritmos e técnicas de simulação, manipulação e
mineração de dados, dentre outros, em que o modelo é um dos produtos da pesquisa,
sendo interpretado como um processo computacional que filtra, transforma, aglutina
e gera dados. Isto envolve frequentemente cooperação entre cientistas da computação
e de outros domı́nios. Normalmente, na modelagem computacional há incertezas
sobre o próprio modelo, pois esses envolvem um grande número de parâmetros que
devem ser explorados e ajustados [2].
1.2
Questões de Pesquisa
O processamento computacional de questões relacionadas a análise da dinâmica
florestal é um tópico de pesquisa que está em constante investigação, por não haver
uma tecnologia consolidada nesta área. Por isso podem ser encontrados diversos
1.2 Questões de Pesquisa
6
pontos de questionamento que levam a novos caminhos de pesquisa. As questões de
pesquisa deste trabalho são as seguintes:
Questão de Pesquisa 1. É viável o desenvolvimento de um modelo computacional
para análise da dinâmica florestal?
Atualmente existem modelos que contemplam mais a parte de simulação, com
o objetivo de imitar o comportamento de crescimento e mortalidade de árvores e
fatores de perturbação do cenário como queimadas, fenômenos climáticos, desmatamento, reflorestamento, etc. Até o momento, nenhum modelo foi desenvolvido com
o intuito de estabelecer um mecanismo de consultas aos dados do domı́nio que viabilize a análise dos mesmos e que leve em consideração a autonomia dos engenheiros
florestais para obter respostas aos seus questionamentos.
Questão de Pesquisa 2. Que linguagens formais podem ser obtidas a partir de
um modelo computacional para análise da dinâmica florestal?
Uma das possı́veis formas de se compreender o poder de expressividade de um
modelo computacional é através da classe das linguagens formais que o modelo
pode gerar. Ao fazer uma analogia com a tese de Turing, qualquer programa de
computador2 pode ser traduzido em uma máquina de Turing, e qualquer máquina
de Turing pode ser traduzida para uma GPL.
Questão de Pesquisa 3. Que interfaces multimodais extensı́veis podem ser usadas
com o intuito de facilitar a configuração dinâmica dos modelos?
O desenvolvimento de modelos corretos envolve uma alta complexidade e é uma
atividade que demanda tempo e um extraordinário esforço de implementação e projeto. Todo esse custo dificulta o processo de adaptação, portabilidade, integração e
neste caso, interfaces multimodais extensı́veis que facilitem a configuração dinâmica
dos modelos são muito bem-vindas.
2
Programa de computador que assume a forma de uma função considerada computável.
1.3 Objetivos
7
Questão de Pesquisa 4. Quais são os aspectos que um modelo computacional
precisa contemplar, para que possa ser considerado potencialmente satisfatório?
Um modelo computacional é criado inicialmente com o intuito de representar
fatos, eventos, objetos e/ou processos. Normalmente os modelos são mais simples
que o mundo a ser modelado e espera-se obter com a implementação dos modelos a
compreensão do mundo modelado. Um outro aspecto importante dos modelos e do
processo de modelagem é que a mesma realidade pode ser modelada de diferentes
maneiras, representando diferentes aspectos do problema ou diferentes visões. Do
ponto de vista da validação cientı́fica, é necessário estabelecer critérios formais para
garantir que determinado modelo é potencialmente satisfatório dentro das fronteiras
do seu propósito.
Questão de Pesquisa 5. Como ocorre o processo natural de análise da dinâmica
florestal?
A modelagem computacional deve refletir primeiramente a realidade constatada
em pesquisas de manejo e inventário florestal. Isso porque todo modelo é uma
representação do mundo real. Se a realidade em questão é a análise da dinâmica
florestal, os questionamentos dos pesquisadores deste domı́nio devem ser investigados
para se obter tal concepção.
1.3
Objetivos
O objetivo geral desta proposta de tese de doutorado é demonstrar que a partir
do modelo Mogno, os engenheiros florestais podem obter respostas aos seus questionamentos por meio da especificação de consultas usando a terminologia do domı́nio
com o intuito de extrair e validar propriedades.
1.4 Metodologia
8
Em linhas gerais, este objetivo geral decompõe-se nos seguintes objetivos especı́ficos:
1. Formalizar a terminologia do domı́nio de dinâmica florestal por meio de ontologia formal;
2. Criar uma DSL com base no benchmark 3 da área de Linguagens de Domı́nio
Especı́fico que receba como entrada consultas definidas sob a terminologia
formalizada;
3. Gerar automaticamente código para um framework de mapeamento objetorelacional de forma que as consultas originalmente especificadas na DSL (linguagem de alto nı́vel) sejam mapeadas para um nı́vel executável em banco de
dados relacional;
4. Desenvolver um estudos em interfaces multimodais extensı́veis para permitir
o entendimento dos objetos e eventos modelados e facilitar a configuração
dinâmica dos modelos;
5. Incorporar a configuração dinâmica ao modelo Mogno;
6. Avaliar o método proposto do ponto de vista do usuário, processo e tecnologia
paralelamente com verificações e validações por meio de métodos formais.
1.4
Metodologia
Para atingir os objetivos especificados, foram adotados vários métodos, procedimentos e a integração dos mesmos constitui a metodologia deste trabalho. Primeiramente, para análise do domı́nio foram feitas pesquisas bibliográficas por meio de um
3
De acordo com a área de compiladores e linguagens, benchmark é um conjunto de parâmetros
definidos com o intuito de avaliar performance e qualidade. Funciona como um referencial do que é
considerado satisfatório dentro de um escopo estabelecido e reconhecido pela comunidade cientı́fica.
Um exemplo prático é o benchmark de compiladores livres (GCC, LLVM, PCC e Open64).
1.5 Organização da Proposta de Tese
9
método chamado mapeamento sistemático, entrevistas com especialistas do domı́nio
e estudos in loco em reservas florestais para compreender a análise da dinâmica florestal e questões relacionadas.
De posse dessas informações, deu-se inı́cio ao processo de desenvolvimento de um
projeto piloto cujo objetivo era validar a ideia. Neste projeto piloto um modelo abstrato foi concebido para uma DSL chamada FML (Forest Management Language)
desenvolvida ainda em uma fase exploratória para avaliação de técnicas de compiladores, desenvolvimento de DSLs e a integração por meio de MDE. Todos os artefatos
de pesquisa até esta fase do projeto foram agrupados e documentados na primeira
qualificação de doutorado.
Após esta fase do projeto piloto, os objetivos e questões de pesquisa foram refinados e iniciou-se uma nova etapa mais madura e fundamentada na análise do
estado da arte. Métodos como formalização ontológica da terminologia do domı́nio,
SCRUM para desenvolvimento ágil, revisão sistemática, controle de versão via SVN,
e arquitetura MVC foram incorporados a metodologia deste trabalho. Verificadores formais de modelo, como model checking, são métodos previstos que devem ser
incorporados na metodologia deste trabalho na fase de verificação e validação que
estão relacionadas com a avaliação do modelo Mogno. Esta seção apresenta uma
visão geral da metodologia adotada, porém todas as fases estão minuciosamente
detalhadas no Capı́tulo 4.
1.5
Organização da Proposta de Tese
Esta proposta está dividida em três partes. A Parte I, “Fundamentação Teórica”,
corresponde ao estudo realizado e concentra as referências mais relevantes para este
trabalho. O Capı́tulo 2 aborda conceitos relacionados a modelos e modelagem computacional bem como a importância de MDE como uma interface multimodal ex-
1.5 Organização da Proposta de Tese
10
tensı́vel capaz de facilitar a configuração dinâmica dos modelos. Este tópico é particularmente relevante para o contexto deste trabalho pois está relacionado com
uma das questões de pesquisa. O Capı́tulo 3 contextualiza as DSLs dentro do contexto das linguagens formais e fornece os indı́cios que devem ser analisados para
justificar porque, quando e como desenvolver uma DSL. Outro ponto relevante para
este trabalho é a análise da possibilidade de combinar multiplas linguagens e como
este processo ocorre. A Parte II, trata da orientação metodológica utilizada para a
condução deste trabalho. O Capı́tulo 4, destaca o escopo do projeto, os métodos,
técnicas utilizadas bem como plano de desenvolvimento da pesquisa e cronograma
de forma que o estudo possa ser repetido por outros pesquisadores. A Parte III
apresenta os resultados parciais obtidos pelo trabalho. O Capı́tulo 5 apresenta o
modelo Mogno bem como os principais artefatos produzidos por esta pesquisa que
são respectivamente a DSL CarbonQL e a ontologia Carbontology. O Capı́tulo 6
apresenta uma análise da aplicação prática do modelo Mogno. Para tal, um estudo
de caso foi elaborado com o intuito de ilustrar a análise do sequestro e emissão de
carbono em uma área experimental da floresta amazônica usada por pesquisadores
da engenharia florestal. O Capı́tulo 7 apresenta os próximos passos que serão adotados no decorrer da pesquisa. Para finalizar, a conclusão do trabalho é apresentada
no Capı́tulo 8 seguida pelas referências utilizadas no desenvolvimento deste.
Parte I
Fundamentação Teórica
11
Capı́tulo 2
Modelos computacionais
Este capı́tulo procura responder as seguintes questões: Quais são os fatores que
influenciam na qualidade de um modelo computacional? Que técnicas são usadas para a qualidade estão sendo utilizadas pelos desenvolvedores no processo de
desenvolvimento de software livre? Qual a percepção dos desenvolvedores e da
comunidade de software livre acerca da qualidade? Que tipo de contribuição as
comunidades aguardam? Como os projetos de Software Livre são testados? Como
o conhecimento de teste é compartilhado entre os colaboradores do projeto? Qual
o nı́vel de formalismo usado para este conhecimento? Tais respostas são fornecidas
com base na análise e compilação da literatura atual sobre o assunto.
2.1
Modelagem e Modelos Computacionais: conceitos e motivações
Modelagem é a atividade de construir modelos que expliquem as caracterı́sticas
ou o comportamento
Modelos computacionais não são apenas mecanismos de testes para teorias, mas
sim uma forma de obter elicitação e predição que transcende os próprios modelos.
12
2.1 Modelagem e Modelos Computacionais: conceitos e motivações
13
Muitos pesquisadores utilizam modelos computacionais como uma ferramenta para
descrição e implementação de teorias e consequentemete obter experimentos sobre
tais teorias.
Na indução é necessário procurar por um caminho ótimo ou aproximado, sempre
em busca do melhor; já na dedução, devemos seguir um desafio. Geralmente a
indução demanda mais tempo que a dedução e isso nos leva a crer que em certo
sentido, a análise é mais difı́cil e/ou trabalhosa que a invenção.
Assim, a motivação fundamental para a modelagem computacional é que ela
oferece uma liberdade relativa sobre os mecanismos integrados do modelo (e do ambiente de experimentos), juntamente com a capacidade de observar as consequências
(por vezes não óbvia) de tais escolhas.
Isto permite-nos investigar o funcionamento dos mecanismos hipotéticos, trabalhando de dentro para fora, em vez de fora para dentro. A modelagem também
oferece a vantagem de ser capaz de começar com um modelo relativamente simples
que se torna progressivamente elaborado através de um processo iterativo de projeto,
teste e refinamento.
Existem muitas outras motivações para a modelagem como uma ferramenta para
o desenvolvimento da investigação. Primeiro, pesquisadores que empenham forças
de construção de modelos para definir explicitamente construções teóricas (e as
relações causais entre eles, ou seja, mecanismos de desenvolvimento). Nem sempre
sabemos as consequências de nossos compromissos teóricos, particularmente no contexto de múltiplos mecanismos de interação. Assim, muitas vezes, a única maneira
de compreender as suas implicações é formalizá-los matematicamente. No entanto,
os modelos e experimentos comportamentais são mutuamente informativo. Modelos
implementam teorias, fornecer provas de suficiência, geram previsões, e responder a
perguntas sobre teorias. Estudos comportamentais avaliam estas previsões e fornecer
uma métrica para comparar modelos. Além disso, eles podem nos ajudar a compre-
2.1 Modelagem e Modelos Computacionais: conceitos e motivações
14
ender os processos, mesmo quando a teoria não é bem especificada o suficiente para
construir um modelo.
Para uma modelo ter sucesso ele deve oferecer uma explicação em linguagem
cientifica, sem se prender a jargões de modelagem. Modelos podem construir nı́veis
de análise. Em particular, o compromisso de um núcleo de desenvolvimento da teoria de sistemas é que as explicações de mudança no desenvolvimento muitas vezes
abrangem nı́veis de análise - os genes-a-neurônios, os neurônios-a-cérebro, cérebroa-comportamento e de volta novamente. Os modelos computacionais podem desempenhar um papel crı́tico no desenvolvimento de explicações coerentes que abrangem
esses nı́veis.
Finalmente, os modelos não tem de capturar a vida como ela é. Ao contrário
de suas contrapartes humanas, modelos computacionais estão abertos a uma gama
muito maior de experiências. Eles podem também ser expostos a entradas não
naturais, ou ”quebrada”ou manipulada de uma maneira que não pode ser feito com
seres humanos. Isso os torna uma ferramenta ideal para investigar fenômenos como
perı́odos crı́ticos, privação sensorial, desenvolvimento atı́pico, e assim por diante variação que nem sempre podem ser estudadas empiricamente.
Tudo isso não quer dizer que a modelagem é isenta de riscos. Além das habilidades técnicas, a modelagem é uma habilidade complexa teórica. Concepção de um
modelo útil requer restringir o desenvolvimento de modelos com compromissos mais
abstratos (por exemplo, o processamento paralelo, a aprendizagem incremental) e,
simultaneamente, usando o modelo para responder a questões teóricas. É tentador
”equipar”o modelo, como modeladores podem, as vezes explicitamente selecionar os
parâmetros de um modelo para combinar a um comportamento alvo e falha para
explorar plenamente o espaço do parâmetro.
Modelos pode também ser refinados quando o modelo e os fenômenos do mundo
real são tratados como isomorficos. E isso pode ser um fator motivante para construir
2.1 Modelagem e Modelos Computacionais: conceitos e motivações
15
mais e mais modelos sofisticados que podem fazer mais e mais coisas, sem realmente
responder nenhuma nova questão.
Em última análise, no entanto, isso é o que nós fazemos com um modelo que
é muito crucial para o avanço da ciência. Uma abordagem particularmente interessante é comparar modelos alterativos. Por exemplo, xxx descreve uma série de
passos (e.g., escala de balanço, número de conservação) e apresenta uma comparação
sistemática entre abordagem de modelagens alternativas em cada um desses passos.
A maioria dos modelos computacionais começar a partir de um conjunto de compromissos teóricos básicos, coisas como processamento paralelo, e assim por diante,
e usa esses princı́pios para restringir a construção do modelo. Desta forma, uma das
perguntas mais comuns feitas por um modelo é se alguns fenômenos podem emergir,
ou ser explicado, por tais princı́pios. Assim, compreender um modelo especı́fico é
frequentemente muito mais uma questão de compreender o paradigma, uma vez que
é o modelo. Aqui destacamos quatro dimensões que descrevem paradigmas de modelagem: o tipo de representação, o modo como mudanças são descritas, o mecanismo
de aprendizagem, e a escala de tempo em que a mudança ocorre. Enquanto as duas
primeiras dimensões distinguem a maioria dos paradigmas de modelagem em uso
(ver fig. 2), as duas últimas são cruciais para a compreensão de modelos especı́ficos.
Modelos podem ter um papel crucial como parte do processo cientı́fico-dedutivo.
Em particular, vários temas recorrentes podem ser visto através dos exemplos aqui.
Primeiro, cada modelo é uma implementação de uma teoria especı́fica e, quando
bem sucedido, fornecem uma prova de demonstração de que a teoria é plausı́vel ou
possı́vel. Isso por si só é importante. Segundo, tiveram ocasiões onde os modelos falharam ou foram menos capazes de captar um fenômeno particular do desenvolvimento de um modelo alternativo (por exemplo, os modelos do passado-tenso,
gramática categorização, fonema ea tarefa equilı́brio escala). Assim, os dados de
simulação forneceram uma métrica fundamental para a comparação de modelos, e
2.1 Modelagem e Modelos Computacionais: conceitos e motivações
16
de fato, os construtores de modelos utilizaram esses dados para refinar e melhorar
seus modelos. Terceiro, vários modelos têm fornecido uma nova perspectiva sobre o
fenômeno do desenvolvimento em estudo, por vezes, o que sugere uma manipulação
metodológica nova ou uma hipótese counterintuitive depois confirmada experimentalmente. Talvez o mais importante, estes modelos têm nos permitido responder
a perguntas sobre teoria do desenvolvimento próprio e, ocasionalmente, revelados
conseqüências inesperadas de nossos pressupostos teóricos.
Modelos não só validam as teorias, mas também fornecem feedback que ajudar
a rever teorias. Ao mesmo tempo, modelos não apenas reproduzem descobertas
centrais de experimentos crı́ticos, mas também geram novas previsões e sugerem
novos testes.
Nós notamos mais uma vez que modelagem computacional não pode substituir
a teoria. Na verdade, a contribuição mais importante dos modelos é empurrar a teoria em uma nova direção e ajudar na análise de consequencias não óbvias de nossas
teorias. Assim como nossos modelos se tornam incrivelmente poderosos e complexos, é igualmente importante que eles se tornem acessı́veis e compreensı́veis, para
que possam efetivamente contribuir com a interconexão entre modelos e teoria. A
modelagem está no seu melhor quando ela nos permite entender a gama de possı́veis
mecanismos que podem dar origem a um comportamento e por que. Sendo assim,
a modelagem nos permite fazer perguntas sobre nossas próprias teorias e descobrir
novas consequências por vezes muito relacionadas a velhas visões teóricas.
só examinando e comparando vários tipos de modelos que vamos aprender o que
é irrelevante e o que é relevante para a compreensão do desenvolvimento.
2.2 Contribuição dos Modelos
2.2
Contribuição dos Modelos
2.3
Engenharia Guiada por Modelos
2.4
Considerações Finais
17
Capı́tulo 3
Linguagens de Domı́nio Especı́fico
Este Capı́tulo procura responder as seguintes questões:
3.1
Teoria das Linguagens Formais e as DSLs
3.2
Porque, quando e como desenvolver uma DSL
3.3
Técnicas de Implementação
3.4
Combinando multiplas linguagens
3.5
Considerações Finais
18
Parte II
Descrição Metodológica
19
Capı́tulo 4
Instrumental de Pesquisa
O objetivo deste capı́tulo é apresentar o instrumental de pesquisa adotado para
o desenvolvimento ....
4.1
Escopo do Projeto
4.2
Métodos, Técnicas e Ferramentas Utilizados
4.3
Plano de Desenvolvimento da Pesquisa
4.4
Cronograma
4.5
Considerações Finais
20
Parte III
Apresentação, Análise e
Interpretação dos Resultados
Parciais
21
Capı́tulo 5
Mogno: um modelo computacional
para análise da dinâmica florestal
O objetivo deste Capı́tulo é apresentar a CarbonQL
5.1
Introdução
5.2
A linguagem CarbonQL
5.3
A ontologia Carbontology
5.4
Considerações Finais
Este Capı́tulo apresentou a
22
Capı́tulo 6
Aplicação do Modelo Mogno
6.1
Introdução
6.2
Estudo de caso: uma análise do sequestro e
emissão de carbono em uma área da floresta
amazônica
6.3
Considerações Finais
23
Capı́tulo 7
Próximos Passos
O objetivo deste Capı́tulo é
7.1
Revisão Sistemática
7.2
Aprimoramento do Modelo Mogno
7.3
Avaliação do Modelo Mogno
7.4
Metas de Publicações
24
Capı́tulo 8
Discussão e Contribuições
Esperadas
8.1
Limitações
25
Referências Bibliográficas
[1] Lesia Bilitchenko, Adam Liu, Sherine Cheung, Emma Weeding, Bing Xia, Mariana Leguia, J. Christopher Anderson, and Douglas Densmore. Eugene - a domain specific language for specifying and constraining synthetic biological parts,
devices, and systems. PLoS ONE, 6:e18882, 04 2011.
[2] André Carvalho, Angelo Brayner, Antonio Loureiro, and et al. Furtado, Antonio L. Grandes desafios da pesquisa em computação no brasil (2006-2016).
Technical report, Sociedade Brasileira da Computação, 2006.
[3] Robert France and Bernhard Rumpe. Model-driven development of complex
software: A research roadmap. In 2007 Future of Software Engineering, FOSE
’07, pages 37–54, Washington, DC, USA, 2007. IEEE Computer Society.
[4] J.L. Gersting. Fundamentos Matemáticos para a Ciência da Computação. LTC
Editora, Rio de Janeiro - RJ, 1995.
[5] B. Henderson-Sellers. Bridging metamodels and ontologies in software engineering. J. Syst. Softw., 84(2):301–313, February 2011.
[6] T.L. Juvenal and R.L.G. Mattos. O setor florestal no brasil e a importância do
reflorestamento. Technical report, BNDS Setorial, 2002.
26
Download

MOGNO: um modelo computacional para análise da dinâmica florestal