Universidade Federal do Amazonas
Instituto de Computa¸c˜
ao
Programa de P´
os-Gradua¸c˜
ao em Inform´
atica
MOGNO: um modelo computacional para
an´
alise da dinˆ
amica florestal
Daniella Rodrigues Bezerra
Universidade Federal do Amazonas
Instituto de Computa¸c˜
ao
Daniella Rodrigues Bezerra
MOGNO: um modelo computacional para an´
alise
da dinˆ
amica florestal
Segunda qualifica¸c˜ao submetida `a comiss˜ao do Programa de P´os-Gradua¸c˜ao em Inform´atica da UFAM, como parte dos requisitos necess´arios `a candidatura para o Doutorado em Inform´atica.
´
Area de concentra¸c˜ao: Engenharia de Soft-ware. Sub-´area: Compiladores e Linguagem de Dom´ınio Espec´ıfico.
Orientador: Prof Raimundo da Silva Barreto, Dr.
Daniella Rodrigues Bezerra
MOGNO: um modelo computacional para
an´
alise da dinˆ
amica florestal
Segunda qualifica¸c˜ao submetida `a comiss˜ao do Programa de P´os-Gradua¸c˜ao em Inform´atica da UFAM, como parte dos requisitos necess´arios `a candidatura para o Doutorado em Inform´atica.
´
Area de concentra¸c˜ao: Engenharia de Soft-ware. Sub-´area: Compiladores e Linguagem de Dom´ınio Espec´ıfico.
BANCA EXAMINADORA
Prof. Raimundo da Silva Barreto, Dr., Presidente Universidade Federal do Amazonas
Prof. Francisco Heron de Carvalho J´unior, Dr., Membro Universidade Federal do Cear´a
Prof. Marco Antˆonio Pinheiro de Cristo, Dr., Membro Universidade Federal do Amazonas
Que vocˆes sejam grandes empreendedores. Se empreenderem, n˜ao tenham medo de falhar. Se falharem, n˜ao tenham medo de chorar. Se chorarem, repensem a sua vida, mas n˜ao desistam. Dˆeem sempre uma nova chance a si mesmos.
Resumo
As florestas representam um componente fundamental para o sistema clim´atico pois contribuem diretamente na regula¸c˜ao do clima e influenciam em varios ciclos como o hidrol´ogico, de carbono e energia. Este forte elo de coopera¸c˜ao entre as florestas e o sistema clim´atico vem despertando o interesse da comunidade cient´ıfica em compreender melhor as vulnerabilidades, impactos e a capacidade de regenera¸c˜ao das florestas diante de mudan¸cas clim´aticas. Trata-se de um dom´ınio complexo que envolve muitos questionamentos sobre a an´alise da dinˆamica florestal, estimativa de carbono e que sofre uma carˆencia de modelos computacionais formais capazes de auxiliar tais atividades. Este trabalho de pesquisa aborda o problema de como ma-ximizar a an´alise da dinˆamica florestal e estimativa de carbono minimizando tempo, custo, esfor¸co e prop˜oe um modelo computacional formado por dois componentes centrais inovadores que s˜ao respectivamente: a linguagem de dom´ınio espec´ıfico Car-bonQL e a ontologia Carbontology. Esses dois componentes integrados formam o modelo Mogno que usa a Engenharia Guiada por Modelos como m´etodo para a in-tegra¸c˜ao e modulariza¸c˜ao 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¸c˜ao de consultas usando a terminologia do dom´ınio, formalizada por este trabalho atrav´es da Carbontology. Este trabalho tem como principal contribui¸c˜ao cient´ıfica a prova de que o modelo Mogno parte dos questionamentos feitos pelos especialistas ao n´ıvel de execu¸c˜ao computacional de tal forma que propriedades do dom´ınio possam ser extra´ıdas e validadas de forma otimizada.
Lista de Figuras
1.1 Fase de concep¸c˜ao da metodologia. . . 8 1.2 Fase de avalia¸c˜ao da metodologia. . . 9 2.1 Tradicional abordagem entre a modelagem matem´atica e
computaci-onal, adaptada de Daniluk [9]. . . 13 3.1 Metodologia sugerida por Shull et al. [42] e estendida por Mafra et
al. [32]. . . 23 3.2 Detalhamento da fase de concep¸c˜ao, composta pelo ciclo do projeto
piloto e mapeamento sistem´atico. . . 25 3.3 Detalhamento do ciclo de avalia¸c˜ao e revis˜ao sistem´atica da
metodo-logia. . . 27 3.4 Atividades de pesquisa, ferramentas usadas no desenvolvimento e
es-for¸co demandado em ambas as fases desta pesquisa. . . 34 3.5 Adapta¸c˜ao da Metodologia de Shull et al. [42] para o contexto desta
pesquisa em fun¸c˜ao do tempo. . . 34 5.1 Fluxo MDE adaptado de Haan [21] e as respectivas escolhas
tec-nol´ogicas desta pesquisa que d˜ao suporte `a implementa¸c˜ao. . . 42 5.2 Abstra¸c˜ao MDE para o desenvolvimento da linguagem CarbonQL. . . 44 5.3 Fragmento da gram´atica CarbonQL em formato EBNF. . . 46 5.4 Projeto do compilador CarbonQL. . . 48 5.5 Vis˜ao macro do padr˜ao MVC no projeto. . . 50 5.6 Vis˜ao micro do padr˜ao MVC aplicado ao Compilador CarbonQL. . . 51 5.7 Instˆancias da classe CarbonBalance. . . 54 5.8 Propriedade de tipo de dados da classe CarbonEstimationMethod. . . 55 5.9 Propriedade objeto locatedIn e uma classe anˆonima. . . 55 5.10 Classes disjuntas. . . 56
LISTA DE FIGURAS vii
6.1 Fluxo para a condu¸c˜ao da Revis˜ao Sistem´atica. . . 60 7.1 Uso do compilador CarbonQL: do questionamento do usu´ario a
Lista de Tabelas
3.1 Plano de Desenvolvimento da Pesquisa . . . 28 3.2 Distribui¸c˜ao de atividades do cronograma por semestre de cada ano. . 30 5.1 Interpreta¸c˜ao das principais regras da gram´atica CarbonQL. . . 45 5.2 Equa¸c˜oes e coeficientes de regress˜ao (Ara´ujo et. al. [2], tabela 1).
FW - fresh weight - ´e o peso fresco (kg), D - diameter - diˆametro `a altura do peito (cm), H - tree hight - altura total da ´arvore (m), ρ densidade m´edia da madeira (g cm−3), M teor m´edio de humidade por unidade de biomassa fresca, α, β, γ e Φ coeficiente de regress˜ao, e R2 coeficiente de determina¸c˜ao. . . 52
5.3 Algumas consultas de interesse dos especialistas relacionadas a dinˆamica florestal e estimativa do carbono que foram identificadas durante a etapa de an´alise. . . 57 6.1 Metas de Publica¸c˜oes - Conferˆencias Candidatas. . . 62 6.2 Metas de Publica¸c˜oes - Peri´odicos Candidatos. . . 62
Sum´
ario
Resumo v
Lista de Figuras vi
Lista de Tabelas viii
1 Introdu¸c˜ao 1
1.1 Motiva¸c˜ao e Justificativa . . . 4
1.2 Quest˜oes de Pesquisa . . . 5
1.3 Objetivos . . . 6
1.4 Metodologia . . . 7
1.5 Organiza¸c˜ao da Proposta de Tese . . . 9
I
Fundamenta¸
c˜
ao Te´
orica
11
2 Modelos computacionais 12 2.1 Modelagem e Modelos Computacionais: conceitos e motiva¸c˜oes . . . . 122.2 Contribui¸c˜ao dos Modelos Computacionais . . . 14
2.3 Engenharia Guiada por Modelo . . . 15
2.4 Linguagens de Dom´ınio Espec´ıfico . . . 16
2.5 Ontologias Formais . . . 18
2.6 Considera¸c˜oes Finais . . . 20
II
Descri¸
c˜
ao Metodol´
ogica
21
3 Instrumental de Pesquisa 22 3.1 Metodologia . . . 223.1.1 Fase de Concep¸c˜ao do Modelo . . . 23 ix
SUM ´ARIO x
3.1.2 Fase de Avalia¸c˜ao do Modelo . . . 26
3.2 Plano de Desenvolvimento da Pesquisa . . . 27
3.3 Cronograma . . . 28
3.4 Considera¸c˜oes Finais . . . 34
III
Apresenta¸
c˜
ao, An´
alise e Interpreta¸
c˜
ao dos Resultados
Parciais
36
4 Mogno: um modelo computacional para an´alise da dinˆamica flores-tal 37 4.1 Vis˜ao Geral . . . 374.2 Contribui¸c˜oes Esperadas . . . 38
4.3 Avalia¸c˜ao da Proposta . . . 39
4.4 Considera¸c˜oes Finais . . . 39
5 Implementa¸c˜ao e Aplica¸c˜ao do Modelo Mogno 40 5.1 Introdu¸c˜ao . . . 40
5.2 A linguagem CarbonQL . . . 43
5.3 A ontologia Carbontology . . . 50
5.3.1 Escopo . . . 51
5.3.2 Processo de Desenvolvimento . . . 53
5.4 Estudo de caso: uma an´alise do sequestro e emiss˜ao de carbono em uma ´area da floresta amazˆonica . . . 56
5.5 Considera¸c˜oes Finais . . . 56
6 Pr´oximos Passos 59 6.1 Revis˜ao Sistem´atica . . . 59
6.2 Aprimoramento e Avalia¸c˜ao do Modelo Mogno . . . 60
6.3 Publica¸c˜oes . . . 61
6.3.1 Artigos Aceitos . . . 61
6.3.2 Metas de Publica¸c˜oes . . . 61
7 Conclus˜oes 63 7.1 Resultados Obtidos . . . 63
7.2 Limita¸c˜oes . . . 65
Cap´ıtulo 1
Introdu¸
c˜
ao
T´ecnicas como generaliza¸c˜ao e especializa¸c˜ao s˜ao utilizadas pela ciˆencia para mo-delar, analisar e explicar fenˆomenos nas mais diversas ´areas do conhecimento. Na computa¸c˜ao um dos modelos te´oricos pioneiros que fundamenta a generaliza¸c˜ao e a especializa¸c˜ao ´e a m´aquina de Turing [13]. Do ponto de vista da generaliza¸c˜ao, Tu-ring propˆos uma m´aquina universal, capaz de dizer se uma dada fun¸c˜ao naturalmente considerada comput´avel, pode ser computada por seu modelo abstrato. J´a do ponto de vista espec´ıfico, a m´aquina de Turing ´e usada para representar aspectos l´ogicos do funcionamento de um computador como mem´oria, estados e transi¸c˜oes. Linguagens de programa¸c˜ao ou de especifica¸c˜ao surgiram a partir deste modelo te´orico proposto e s˜ao usadas basicamente em prop´ositos gerais ou espec´ıficos, cujo termo popular em inglˆes ´e respectivamente General Purpose Language (GPL) e Domain Specific Language (DSL)1
As GPLs tais como Java, C, Python, etc., oferecem um amplo conjunto de abs-tra¸c˜oes disponibilizando flexibilidade ao programador para constru¸c˜ao de sistemas relacionados aos mais variados dom´ınios como processos de neg´ocios, computa¸c˜ao num´erica, processamento simb´olico, programa¸c˜ao cient´ıfica, entre outros. J´a as DSLs s˜ao mais pontuais e restritas (conjunto reduzido de nota¸c˜oes e abstra¸c˜oes) ao subdom´ınio para o qual elas foram projetadas, por exemplo, Eugene [4] ´e uma DSL para especifica¸c˜ao e defini¸c˜ao de restri¸c˜oes de partes, recursos e regras associadas a elementos da biologia sint´etica. Esta DSL foi desenvolvida com o intuito de permitir que bi´ologos e outros especialistas de ´areas correlatas e com o mesmo interesse de pesquisa possam criar de forma autˆonoma e padronizada suas especifica¸c˜oes sobre o
1Por uma quest˜ao de padroniza¸c˜ao com a literatura internacional, no decorrer deste trabalho
ser˜ao utilizadas as siglas GPL para referenciar linguagem de prop´osito geral e DSL para linguagem de dom´ınio espec´ıfico.
2
dom´ınio. Como resultado, os especialistas passaram a ter um m´etodo formal e que adicionou mais confiabilidade as especifica¸c˜oes. Eugene ´e uma alternativa ao m´etodo ad-hoc que agregou maior produtividade na an´alise do DNA (deoxyribonucleic acid ). Desde o modelo de Turing aos atuais, que derivaram ou n˜ao deste, os problemas da ´area de modelagem computacional investigados por este trabalho s˜ao:
Problema 1. Mapear quais problemas podem ser ou n˜ao computados em um dado modelo computacional e,
Problema 2. Como evoluir os modelos computacionais para otimizar a representa¸c˜ao e a solu¸c˜ao dos problemas do mundo real.
Existem v´arios m´etodos que sugerem um ponto de partida `a obten¸c˜ao de solu¸c˜oes de tais problemas. Um deles ´e a engenharia guiada por modelos, em inglˆes, model-driven engineering (MDE), que procura contribuir com seus exemplos de heteroge-neidade atrav´es da automa¸c˜ao 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¸c˜ao, seja por gera¸c˜ao de c´odigo ou pela interpreta¸c˜ao de modelos.
MDE promove o uso de modelos em v´arios n´ıveis de abstra¸c˜ao como artefatos para a especifica¸c˜ao de sistemas bem como transforma¸c˜oes autom´aticas do modelo do usu´ario em software e emerge como um paradigma promissor em engenharia de software por enfatizar o uso de modelos n˜ao apenas para fins de documenta¸c˜ao e comunica¸c˜ao, mas como artefatos que podem ser transformados em outros modelos. Dentro do contexto de MDE, as DSL’s representam para os especialistas o encap-sulamento de um determinado dom´ınio, capaz de melhorar a qualidade e produtivi-dade do desenvolvimento de software, como exemplificado anteriormente no caso da DSL Eugene. Parte desta produtividade est´a associada `a possibilidade dos especia-listas desenvolverem, modificarem, validarem e testarem suas pr´oprias aplica¸c˜oes j´a que a sintaxe/semˆantica da linguagem contempla uma terminologia que faz parte do vocabul´ario comum, onde o mesmo pode ser descrito com o aux´ılio de uma ontologia formal.
De acordo com Henderson-Sellers [15], a ontologia formal, tema de pesquisa amplamente explorado pela ´area de inteligˆencia artificial, pode ser definida como um conjunto de conceitos pertinentes a um dom´ınio e expressos em uma linguagem computacional de representa¸c˜ao ontol´ogica. Atualmente uma linguagem que vem ganhando popularidade neste contexto ´e a Web Ontology Language, informalmente conhecida como OWL.
3
Segundo France e Rumpe [12], pesquisas sobre t´ecnicas de especifica¸c˜ao, como ontologias formais, s˜ao particularmente relevantes porque linguagens de modelagem devem ter uma semˆantica formalmente definida caso realmente se queira criar mo-delos pass´ıveis de an´alise.
O projeto de uma DSL envolve uma an´alise profunda do dom´ınio, o que acarreta um custo significativo ao processo de desenvolvimento. De acordo com um estudo desenvolvido por Tairas et al. [45], a utiliza¸c˜ao de ontologias na fase de an´alise de uma DSL pode reduzir significativamente o custo do projeto. Neste mesmo estudo tamb´em s˜ao apresentados ind´ıcios de que ontologias podem ser utilizadas tamb´em em fases posteriores como projeto e desenvolvimento.
Kaufmann e Bernstein [23] fizeram uma avalia¸c˜ao de quatro linguagens de con-sulta, com n´ıveis formais diferentes, variando da consulta feita em linguagem natural, no idioma inglˆes (e.g. Chinese restaurants in San Francisco? ) usando a ferramenta NLPReduce, passando por duas pseudo-linguagens, an´alogas ao portugol por´em em inglˆes, chamadas Querix e Ginseng e uma linguagem visual chamada Semantic Crys-tal que permite definir consultas usando uma estrutura gr´afica que se assemelha com mapas conceituais ou grafo.
Todas as quatro ferramentas avaliadas, usam ontologias como base para a termi-nologia do dom´ınio e isso confere maior autonomia ao usu´ario pois um vocabul´ario intuitivo pode ser utilizado na elabora¸c˜ao de uma consulta sem exigir um esfor¸co ex-tra para aprender uma DSL. Em conex-trapartida, o esfor¸co ´e repassado ao engenheiro de software que precisa incorporar ao projeto uma base ontol´ogica que contemple uma ampla ou restrita cobertura de termos em linguagem natural. Este tipo de abordagem ´e particularmente relevante para este trabalho que tem como objetivo espec´ıfico avaliar de que forma ontologias podem ser efetivamente incorporadas aos compiladores de DSL, bem como vantagens e desvantagens deste m´etodo.
Como a ´area de modelagem computacional ´e multi e interdisciplinar, os Proble-mas 1 e 2 tamb´em s˜ao amplamente discutidos em outras ´areas de conhecimento, por exemplo, na Engenharia Florestal. As florestas representam um componente funda-mental para o sistema clim´atico pois contribuem diretamente na regula¸c˜ao do clima e influenciam em v´arios ciclos como o hidrol´ogico, de carbono e energia. Este forte elo de coopera¸c˜ao entre as florestas e o sistema clim´atico vem despertando o interesse da comunidade cient´ıfica em compreender melhor as vulnerabilidades, impactos e a capacidade de regenera¸c˜ao das florestas diante de mudan¸cas clim´aticas. Trata-se de um dom´ınio complexo que envolve muitos questionamentos sobre a an´alise da
1.1 Motiva¸c˜ao e Justificativa 4
dinˆamica florestal, estimativa de carbono e que sofre uma carˆencia de modelos com-putacionais 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´alise da dinˆamica florestal e estimativa de car-bono minimizando tempo, custo, esfor¸co?
Segundo um levantamento feito por Juvenal e Mattos [22], o Brasil ´e o segundo pa´ıs com maior cobertura florestal do mundo, superado apenas pela R´ussia. Com tal extens˜ao de cobertura florestal, al´em de posi¸c˜ao estrat´egica nas quest˜oes ambientais globais, o Brasil possui um grande potencial produtivo de produtos madeireiros e servi¸cos ambientais. Inicialmente este fato motivou a investiga¸c˜ao deste dom´ınio como um poss´ıvel estudo de caso, realiza¸c˜ao de experimentos e aplica¸c˜oes pr´aticas para esta pesquisa j´a que do ponto de vista computacional, a dinˆamica florestal ´e um dom´ınio de estudo muito suscet´ıvel a abstra¸c˜oes e simula¸c˜oes, ideal para a aplica¸c˜ao e an´alise de modelos computacionais.
1.1
Motiva¸
c˜
ao e Justificativa
Com base nos Problemas 1, 2 e 3, ´e poss´ıvel observar uma interse¸c˜ao nos interesses de pesquisa que resultou no mapeamento de dois grupos relevantes para o contexto desse trabalho: (i) comunidade da ciˆencia da computa¸c˜ao, interessada em criar/evoluir modelos computacionais e aplicar m´etodos como MDE e linguagens formais (GPLs ou DSLs) em sistemas complexos que representem abstra¸c˜oes do mundo real, com o objetivo de entender como modelos, metamodelos e m´etodos podem ser otimizados, e (ii) a comunidade da engenharia florestal com interesse em obter respostas para quest˜oes que resultem em uma melhor compreens˜ao da dinˆamica florestal e ciclo do carbono j´a que o tema envolve a sociedade como um todo, desde a¸c˜oes individuais, passando pela cadeia produtiva, econˆomica e chegando ao n´ıvel de decis˜oes governamentais.
A motiva¸c˜ao para a an´alise deste dom´ınio est´a no fato de a atividade madei-reira e a cadeia produtiva a ela associada contemplarem problemas interessantes de serem investigados do ponto de vista computacional e por ser um dom´ınio mundi-almente em evidˆencia j´a que em v´arios pa´ıses, a atividade madeireira ´e objeto de investimentos e transa¸c˜oes comerciais de elevado valor.
A justificativa para a realiza¸c˜ao deste trabalho est´a alinhada com os grandes desafios da pesquisa em computa¸c˜ao no Brasil (2006-2016), mapeados e discutido
1.2 Quest˜oes de Pesquisa 5
em um semin´ario realizado pela Sociedade Brasileira da Computa¸c˜ao. Um dos cinco grandes desafios est´a associado `a “modelagem computacional de sistemas complexos artificiais, naturais e da intera¸c˜ao homem-natureza”. A modelagem computacional envolve um grande conjunto de algoritmos e t´ecnicas de simula¸c˜ao, manipula¸c˜ao, minera¸c˜ao de dados, dentre outros, em que o modelo ´e um dos produtos da pesquisa, sendo interpretado como um processo computacional que filtra, transforma, aglutina e gera dados. Isto envolve frequentemente coopera¸c˜ao entre cientistas da computa¸c˜ao e de outros dom´ınios. Normalmente, na modelagem computacional h´a incertezas sobre o pr´oprio modelo, pois esses envolvem um grande n´umero de parˆametros que devem ser explorados e ajustados [5].
Este trabalho tem como principal contribui¸c˜ao cient´ıfica a prova de que o mo-delo Mogno parte dos questionamentos feitos pelos engenheiros florestais ao n´ıvel de execu¸c˜ao computacional de tal forma que propriedades do dom´ınio possam ser extra´ıdas e validadas de forma otimizada.
1.2
Quest˜
oes de Pesquisa
A an´alise da dinˆamica florestal ´e um t´opico de pesquisa que est´a em constante investiga¸c˜ao, por n˜ao haver uma tecnologia consolidada nesta ´area. Por isso podem ser encontrados diversos questionamentos que levam a novos caminhos de pesquisa. As quest˜oes de pesquisa deste trabalho s˜ao as seguintes:
Quest˜ao de Pesquisa 1. ´E vi´avel o desenvolvimento de um modelo computacional para an´alise da dinˆamica florestal?
Atualmente existem modelos que contemplam mais a parte de simula¸c˜ao, com o objetivo de imitar o comportamento de crescimento e mortalidade de ´arvores e fatores de perturba¸c˜ao do cen´ario como queimadas, fenˆomenos clim´aticos, desmata-mento, reflorestadesmata-mento, etc. At´e o momento, nenhum modelo foi desenvolvido com o intuito de estabelecer um mecanismo de consultas aos dados do dom´ınio que via-bilize a an´alise dos mesmos e que leve em considera¸c˜ao a autonomia dos engenheiros florestais para obter respostas aos seus questionamentos.
Quest˜ao de Pesquisa 2. Que linguagens formais podem ser obtidas a partir de um modelo computacional para an´alise da dinˆamica florestal?
Uma das poss´ıveis formas de se compreender o poder de expressividade de um modelo computacional ´e atrav´es da classe das linguagens formais que o modelo
1.3 Objetivos 6
pode gerar. Ao fazer uma analogia com a tese de Turing, qualquer programa de computador2 pode ser traduzido em uma m´aquina de Turing, e qualquer m´aquina
de Turing pode ser traduzida para uma GPL.
Quest˜ao de Pesquisa 3. Que interfaces multimodais extens´ıveis podem ser usadas com o intuito de facilitar a configura¸c˜ao dinˆamica dos modelos?
O desenvolvimento de modelos corretos envolve uma alta complexidade e ´e uma atividade que demanda tempo e um extraordin´ario esfor¸co de implementa¸c˜ao e pro-jeto. Todo esse custo dificulta o processo de adapta¸c˜ao, portabilidade, integra¸c˜ao e neste caso, interfaces multimodais extens´ıveis que facilitem a configura¸c˜ao dinˆamica dos modelos s˜ao muito bem-vindas.
Quest˜ao de Pesquisa 4. Quais s˜ao os aspectos que um modelo computacional precisa contemplar, para que possa ser considerado potencialmente satisfat´orio?
Um modelo computacional ´e criado inicialmente com o intuito de representar fatos, eventos, objetos e/ou processos. Normalmente os modelos s˜ao mais simples que o mundo a ser modelado e espera-se obter com a implementa¸c˜ao dos modelos a compreens˜ao do mundo modelado. Um outro aspecto importante dos modelos e do processo de modelagem ´e que a mesma realidade pode ser modelada de diferentes maneiras, representando diferentes aspectos do problema ou diferentes vis˜oes. Do ponto de vista da valida¸c˜ao cient´ıfica, ´e necess´ario estabelecer crit´erios formais para garantir que determinado modelo ´e potencialmente satisfat´orio dentro das fronteiras do seu prop´osito.
Quest˜ao de Pesquisa 5. Como ocorre o processo natural de an´alise da dinˆamica florestal?
A modelagem computacional deve refletir primeiramente a realidade constatada em pesquisas de manejo e invent´ario florestal. Isso porque todo modelo ´e uma representa¸c˜ao do mundo real. Se a realidade em quest˜ao ´e a an´alise da dinˆamica florestal, os questionamentos dos pesquisadores deste dom´ınio devem ser investigados para se obter tal concep¸c˜ao.
1.3
Objetivos
O objetivo geral desta proposta de tese de doutorado ´e demonstrar que a partir do modelo Mogno, os engenheiros florestais podem obter respostas aos seus
1.4 Metodologia 7
namentos por meio da especifica¸c˜ao de consultas usando a terminologia do dom´ınio com o intuito de extrair e validar propriedades.
Em linhas gerais, este objetivo geral decomp˜oe-se nos seguintes objetivos es-pec´ıficos:
1. Criar uma DSL com base no benchmark3 da ´area de Linguagens de Dom´ınio
Espec´ıfico que receba como entrada consultas definidas sob a terminologia formalizada;
2. Formalizar a terminologia do dom´ınio de dinˆamica florestal por meio de uma ontologia formal e incorpor´a-la a DSL;
3. Gerar automaticamente c´odigo para um framework4 de mapeamento
objeto-relacional de forma que as consultas originalmente especificadas na DSL sejam mapeadas do alto n´ıvel para um n´ıvel execut´avel em banco de dados relacional; 4. Aplicar MDE com o intuito de facilitar o entendimento dos objetos e eventos
modelados e facilitar a configura¸c˜ao dinˆamica dos modelos;
5. Avaliar o m´etodo proposto do ponto de vista do usu´ario (usando m´etricas como usabilidade, ortogonalidade, conformidade, etc.) e do processo (usando m´etricas como integrabilidade, suportabilidade, etc.).
1.4
Metodologia
A metodologia deste trabalho se divide, em alto n´ıvel, em duas fases incrementais e iterativas: (i) concep¸c˜ao e (ii) avalia¸c˜ao do modelo proposto.
A fase de concep¸c˜ao compreende entrevistas com especialistas do dom´ınio e estu-dos in loco em reservas florestais para compreender a an´alise da dinˆamica florestal e quest˜oes relacionadas bem como a identifica¸c˜ao de evidˆencias na literatura por meio de mapeamento sistem´atico [39] com o intuito de obter o estado-da-arte e respostas para quest˜oes de pesquisa em n´ıvel abrangente como: Quais os principais desafios
3De acordo com a ´area de compiladores e linguagens, benchmark ´e um conjunto de parˆametros
definidos com o intuito de avaliar performance e qualidade. Funciona como um referencial do que ´e considerado satisfat´orio dentro de um escopo estabelecido e reconhecido pela comunidade cient´ıfica. Um exemplo pr´atico ´e o benchmark de compiladores livres (GCC, LLVM, PCC e Open64).
4Framework ´e uma estrutura de sistema que deve ser instanciada. O processo de instancia¸c˜ao
1.4 Metodologia 8
da ´area? Quais s˜ao os t´opicos mais investigados? Quais s˜ao os tipos de pesquisa mais populares? Quais s˜ao os principais ve´ıculos de publica¸c˜ao? etc.
A proposta do Mogno se concretiza atrav´es da constru¸c˜ao de um projeto piloto para valida¸c˜ao da ideia. A fase de concep¸c˜ao se subdivide em quatro etapas que s˜ao respectivamente: (1) an´alise, (2) projeto, (3) implementa¸c˜ao e (4) teste, conforme Figura 1.1.
Figura 1.1: Fase de concep¸c˜ao da metodologia.
Uma revis˜ao explorat´oria da literatura e o mapeamento dos requisitos s˜ao os ar-tefatos de entrada para a fase de concep¸c˜ao gerando como sa´ıda o projeto piloto, ou seja, o modelo Mogno, inicialmente em escala simplificada e reduzida que gradati-vamente ´e incrementado com as v´arias itera¸c˜oes da fase de concep¸c˜ao. Desta forma, ´e poss´ıvel observar que existe uma subfase de desenvolvimento embutida dentro da fase de concep¸c˜ao pois compreende-se que o conhecimento cient´ıfico ´e dinˆamico e que a concep¸c˜ao guia o desenvolvimento. Ao final dessas itera¸c˜oes ou ciclos, a ideia ´e que se obtenha um modelo apto a ser submetido como entrada para a pr´oxima etapa que ´e a avalia¸c˜ao emp´ırica.
A fase de avalia¸c˜ao compreende a an´alise de evidˆencias na literatura por meio de revis˜ao sistem´atica [25] com o intuito de obter respostas para quest˜oes mais objetivas de pesquisa que evolu´ıram ao longo do processo de concep¸c˜ao/desenvolvimento. No contexto desta pesquisa, foi selecionado o Framework de Experimenta¸c˜ao proposto por Basili [3] que compreende em alto n´ıvel as seguintes etapas: (1) planejamento dos experimentos, (2) projeto, (3) coleta de dados e mensura¸c˜ao e (4) an´alise e interpreta¸c˜ao, conforme Figura 1.2.
O modelo em si, gerado pela fase de concep¸c˜ao, ´e a entrada para a fase de avalia¸c˜ao. A interpreta¸c˜ao dos resultados e novas descobertas representam a sa´ıda e respectivas contribui¸c˜oes cient´ıficas deste trabalho.
Esta pesquisa ´e do tipo explicativa pois visa esclarecer que ganhos a an´alise da dinˆamica florestal pode obter com um modelo computacional capaz de filtrar, transformar e gerar dados bem como a identifica¸c˜ao de incertezas sobre o pr´oprio
1.5 Organiza¸c˜ao da Proposta de Tese 9
Figura 1.2: Fase de avalia¸c˜ao da metodologia.
modelo, j´a que parˆametros devem ser explorados e ajustados juntamente com a iden-tifica¸c˜ao dos fatores que determinam e contribuem para uma melhor representa¸c˜ao do dom´ınios espec´ıficos.
A pesquisa tamb´em se caracteriza como experimental do ponto de vista dos pro-cedimentos emp´ıricos utilizados pois um dos objetivos deste trabalho considera a aplica¸c˜ao do Mogno e a avalia¸c˜ao de qu˜ao bom ´e este modelo para o prop´osito es-tabelecido. Segundo as boas pr´aticas cient´ıficas, novos m´etodos, modelos, t´ecnicas, linguagens e ferramentas n˜ao devem ser apenas sugeridos, publicados ou apresenta-dos sem a devida experimenta¸c˜ao e valida¸c˜ao. Uma das melhores formas de garantir um modo sistem´atico e controlado para tal valida¸c˜ao ´e por meio da utiliza¸c˜ao de um m´etodo experimental.
1.5
Organiza¸
c˜
ao da Proposta de Tese
Esta proposta est´a dividida em trˆes partes. A Parte I, “Fundamenta¸c˜ao Te´orica”, corresponde ao estudo realizado e concentra as referˆencias mais relevantes para este trabalho. O Cap´ıtulo 2 aborda conceitos relacionados a modelos e modelagem com-putacional bem como a importˆancia de MDE como uma interface multimodal ex-tens´ıvel capaz de facilitar a configura¸c˜ao dinˆamica dos modelos. Este t´opico ´e par-ticularmente relevante para o contexto deste trabalho pois est´a relacionado com uma das quest˜oes de pesquisa. As DSLs tamb´em s˜ao abordadas neste Cap´ıtulo e discutidas dentro do contexto das linguagens formais. Ontologias Formais tamb´em s˜ao discutidas neste Cap´ıtulo bem como a interse¸c˜ao com MDE e DSLs. A Parte II, trata da orienta¸c˜ao metodol´ogica utilizada para a condu¸c˜ao deste trabalho. O Cap´ıtulo 3, destaca o escopo do projeto, os m´etodos, t´ecnicas utilizadas, plano de desenvolvimento da pesquisa e o cronograma. A Parte III apresenta os resultados parciais obtidos pelo trabalho. O Cap´ıtulo 4 apresenta o modelo Mogno e a sua formaliza¸c˜ao. O Cap´ıtulo 5 apresenta uma an´alise da aplica¸c˜ao pr´atica do modelo
1.5 Organiza¸c˜ao da Proposta de Tese 10
Mogno bem como os principais artefatos produzidos a partir deste modelo que s˜ao respectivamente a DSL CarbonQL e a ontologia Carbontology. Para tal, um estudo de caso foi elaborado com o intuito de ilustrar a an´alise do sequestro e emiss˜ao de carbono em uma ´area experimental da floresta amazˆonica usada por pesquisadores da engenharia florestal. O Cap´ıtulo 6 apresenta os pr´oximos passos que ser˜ao ado-tados no decorrer da pesquisa. Para finalizar, a conclus˜ao do trabalho ´e apresentada no Cap´ıtulo 7 seguida pelas referˆencias utilizadas no desenvolvimento deste.
Parte I
Fundamenta¸
c˜
ao Te´
orica
Cap´ıtulo 2
Modelos computacionais
O objetivo central deste Cap´ıtulo ´e discutir sobre conceitos, motiva¸c˜oes, be-nef´ıcios e desvantagens dos modelos computacionais ao longo das Se¸c˜oes 2.1 e 2.2. Atrav´es do levantamento do estado da arte e da pr´atica, a Engenharia Guiada por Modelo, discutida na Se¸c˜ao 2.3, foi identificada como uma metodologia capaz de mi-nimizar a complexidade relacionada a modelagem computacional. As Linguagens de Dom´ınio Espec´ıfico s˜ao discutidas na Se¸c˜ao 2.4 como uma abordagem de destaque para gera¸c˜ao, tradu¸c˜ao e transforma¸c˜ao de modelos. Na Se¸c˜ao 2.5 discute-se sobre Ontologias Formais. Finalmente, a Se¸c˜ao 2.6 apresenta algumas considera¸c˜oes.
2.1
Modelagem e Modelos Computacionais:
con-ceitos e motiva¸
c˜
oes
Modelagem ´e a atividade de construir modelos que expliquem as caracter´ısticas ou o comportamento de fenˆomenos. Os modelos computacionais representam uma forma de obter elicita¸c˜ao e predi¸c˜ao que vai muito al´em do pr´oprio modelo. A constata¸c˜ao deste fato pode ser observada atrav´es de in´umeros exemplos no campo cient´ıfico onde pesquisadores fazem uso de modelos computacionais para descrever, implementar, testar teorias e consequentemente obter experimentos sobre elas e se surpreendem com os resultados capazes de fornecer entendimento para ´areas de conhecimento que n˜ao est˜ao diretamente relacionadas com a teoria original.
Assim, a motiva¸c˜ao fundamental para a modelagem computacional ´e que ela ofe-rece uma liberdade relativa aos mecanismos de integra¸c˜ao do modelo e do ambiente de experimentos, juntamente com a capacidade de observar as consequˆencias, por vezes n˜ao ´obvias, de tais escolhas.
2.1 Modelagem e Modelos Computacionais: conceitos e motiva¸c˜oes 13
O esfor¸co desempenhado por pesquisadores que desenvolvem modelos para defi-nir explicitamente constru¸c˜oes te´oricas e as rela¸c˜oes causais entre as mesmas tamb´em representa uma motiva¸c˜ao para o uso da modelagem como uma ferramenta de in-vestiga¸c˜ao. Nem sempre ´e poss´ıvel identificar com antecedˆencia as consequˆencias de certos compromissos te´oricos, particularmente quando se desenvolve ou se faz uso de m´ultiplos mecanismos de intera¸c˜ao. Em alguns casos, a ´unica maneira de compreender as suas implica¸c˜oes ´e formaliz´a-los matematicamente.
Daniluk [9] comenta sobre um poss´ıvel fluxo de formaliza¸c˜ao, ilustrado na Fi-gura 2.1 que inicia com a modelagem matem´atica. Ap´os o tratamento num´erico ´e poss´ıvel criar um algoritmo. A atividade de implementa¸c˜ao produz um modelo com-putacional implementado que permitir´a a visualiza¸c˜ao de resultados obtidos com o processamento de tal modelo pass´ıveis de an´alise, interpreta¸c˜ao e aplica¸c˜ao pr´atica.
Figura 2.1: Tradicional abordagem entre a modelagem matem´atica e computacional, adaptada de Daniluk [9].
Modelos e aplica¸c˜oes pr´aticas ou experimentos comportamentais dos mesmos, s˜ao mutuamente informativos. Modelos implementam teorias, fornecem provas de suficiˆencia, geram previs˜oes, e respondem a perguntas sobre as teorias. Estudos comportamentais avaliam estas previs˜oes e fornecer uma m´etrica para comparar modelos. Al´em disso, eles podem ajudar a compreender os processos, mesmo quando a teoria n˜ao ´e detalhada o suficiente para se construir um modelo.
2.2 Contribui¸c˜ao dos Modelos Computacionais 14
Schlesinger [40] comenta que para uma modelo ter sucesso ele deve oferecer uma explica¸c˜ao em linguagem cientifica, sem se prender a jarg˜oes de modelagem e enfa-tiza que modelos podem construir n´ıveis de an´alise, por exemplo, genes-neurˆonios, neurˆonios-c´erebro, c´erebro-comportamento e de volta novamente formando um ciclo de an´alise. Desta forma, os modelos computacionais podem desempenhar um papel cr´ıtico no desenvolvimento de explica¸c˜oes coerentes que abrangem esses n´ıveis.
Uma outra forte caracter´ıstica ´e que os modelos n˜ao tem necessariamente que capturar a vida, fenˆomenos ou processos como eles s˜ao. Modelos computacionais est˜ao abertos a uma gama muito maior de experiˆencias. Eles podem tamb´em ser expostos a entradas n˜ao naturais, ou manipuladas de uma maneira que n˜ao pode ser feito, por exemplo, com seres humanos. Isso os torna uma ferramenta ideal para investigar fenˆomenos que nem sempre podem ser estudados empiricamente in vivo.
Todas essas caracter´ısticas e fatores motivantes n˜ao querem dizer que a modela-gem computacional ´e isenta de riscos. Al´em das habilidades t´ecnicas, a modelagem exige do pesquisador uma habilidade te´orica complexa. Lane [31] argumenta que a concep¸c˜ao de um modelo computacional ´util e aplic´avel se restringir a um dom´ınio espec´ıfico. Modelos com compromissos mais abstratos s˜ao usados para responder quest˜oes mais te´oricas.
2.2
Contribui¸
c˜
ao dos Modelos Computacionais
Modelos computacionais podem ter um papel crucial como parte do processo cient´ıfico-dedutivo. Cada modelo ´e uma implementa¸c˜ao de uma teoria espec´ıfica e, quando bem sucedido, fornecem uma prova de demonstra¸c˜ao de que a teoria ´e plaus´ıvel ou poss´ıvel. Modelos computacionais n˜ao s´o validam as teorias, mas tamb´em fornecem parˆametros que ajudam a rever teorias. Ao mesmo tempo, os mo-delos computacionais n˜ao apenas reproduzem descobertas centrais de experimentos cr´ıticos, mas tamb´em geram novas previs˜oes e sugerem novos testes.
Uma das contribui¸c˜oes mais importante dos modelos computacionais ´e conduzir a teoria em uma nova dire¸c˜ao e ajudar na an´alise de consequˆencias n˜ao ´obvias de tais teorias. Assim como os modelos computacionais se tornam incrivelmente poderosos e complexos, ´e igualmente importante que eles se tornem acess´ıveis e compreens´ıveis, para que possam efetivamente contribuir com a interconex˜ao entre novos modelos e teorias. A modelagem computacional est´a no seu melhor caso quando ela nos permite entender a gama de poss´ıveis mecanismos que podem dar origem a um
2.3 Engenharia Guiada por Modelo 15
comportamento e por que. Sendo assim, a utiliza¸c˜ao da modelagem computacional permite fazer perguntas sobre determinadas teorias e descobrir novas consequˆencias. A maioria dos modelos computacionais surgem a partir de um conjunto de com-promissos te´oricos b´asicos. Desta forma, uma das perguntas mais comuns feitas por um modelo ´e se alguns fenˆomenos podem emergir, ou ser explicado, por tais princ´ıpios. Do ponto de vista da modelagem computacional, uma de suas contri-bui¸c˜oes ´e viabilizar que no in´ıcio, comece com um modelo relativamente simples e se torne progressivamente elaborado atrav´es de um processo iterativo de projeto, teste e refinamento.
2.3
Engenharia Guiada por Modelo
Segundo Schmidt [41] uma metodologia que promete expressar efetivamente con-ceitos de dom´ınios complexos ´e a engenharia guiada por modelo (em inglˆes, model-driven engineering - MDE). MDE prioriza o desenvolvimento de software com foco na m´axima produtividade, interoperabilidade, portabilidade e reusabilidade.
A ideia central desta metodologia inicia com modelos computacionais em alto n´ıvel de abstra¸c˜ao (em inglˆes, Computational Independent Model - CIM). Em se-guida, o modelo ´e submetido a um processo de transforma¸c˜ao que reduz o n´ıvel de abstra¸c˜ao para um modelo independente da plataforma computacional usada (Pla-taform Independent Model - PIM) que representa a solu¸c˜ao em n´ıvel de projeto para os requisitos do CIM. O PIM pode ser transformado em um ou mais modelos es-pec´ıficos para uma ou mais plataformas tecnol´ogicas desejadas (Plataform Specific Model - PSM) que estar´a pronto para ser refinado ou diretamente usado.
MDE emerge como um paradigma promissor em engenharia de software por en-fatizar o uso de modelos n˜ao apenas para fins de documenta¸c˜ao e comunica¸c˜ao, mas como artefatos que podem ser transformados em outros modelos, c´odigo fonte ou scripts de teste [21, 18]. MDE promove o uso de modelos em v´arios n´ıveis de abs-tra¸c˜ao como artefatos para a especifica¸c˜ao de sistemas bem como a transforma¸c˜oes autom´aticas do modelo do usu´ario em software.
Kent [24] sugere UML (Unified Modeling Language) como linguagem de mode-lagem PIM de forma que os modelos gerados possam ser transformado de forma semi ou autom´atica para c´odigo. Linguagens expressivas como UML oferecem um bom suporte para modelagem de sistemas at´e um certo ponto de vista, facilitando a comunica¸c˜ao entre m´ultiplas aplica¸c˜oes. No entanto, sabe-se que quanto mais
2.4 Linguagens de Dom´ınio Espec´ıfico 16
expressiva ´e a linguagem de modelagem, mais dif´ıcil ´e o tratamento semˆantico da mesma. A complexidade de linguagens como UML se reflete em seus metamodelos. A identifica¸c˜ao de dependˆencia entre conceitos fica comprometida, dificultando o entendimento e o uso efetivo por parte dos desenvolvedores que necessitam mani-pul´a-los e identificar se o metamodelo captura todas as dependˆencias requeridas.
No entanto, de acordo com Hutchinson et al. [18] os resultados de sua pesquisa emp´ırica mostram que os usu´arios MDE utilizam v´arias linguagens de modelagem. Aproximadamente 85% dos entrevistados fazem uso de UML e aproximadamente 40% usam uma DSL de projeto pr´oprio. Entretanto, h´a uma ambivalˆencia significa-tiva sobre o equil´ıbrio entre a complexidade da UML. 43% dos participantes acham que UML ´e muito complexa comparado com 32% que discordam. Enquanto que 23% s˜ao neutros. Essa vis˜ao inconclusiva, indica que a discuss˜ao sobre linguagens de modelagem alternativas ´e bem-vinda, bem como entender que tipo de linguagem de modelagem pode representar melhor certos tipos de modelos.
2.4
Linguagens de Dom´ınio Espec´ıfico
As DSLs s˜ao linguagens de programa¸c˜ao ou linguagens de especifica¸c˜ao que ofe-recem um conjunto restrito de nota¸c˜oes e abstra¸c˜oes apropriadas ao dom´ınio para o qual elas foram projetadas [11, 27, 36]. SQL (Structured Query Language), por exemplo, ´e uma linguagem que permite apenas a cria¸c˜ao de consultas e esquemas para bancos de dados e s´o atendem a este prop´osito, ao passo que uma linguagem de prop´osito geral (em inglˆes, General Purpose Language - GPL) como Java, possui um amplo conjunto de abstra¸c˜oes, oferecendo flexibilidade ao desenvolvedor para constru¸c˜ao de sistemas relacionados aos mais variados dom´ınios.
Muitos dos requisitos das GPLs se aplicam as DSLs. A diferen¸ca est´a no n´ıvel de importˆancia para o contexto das DSLs, que segundo Kolovos et al. [29], s˜ao listados na seguinte ordem:
• Conformidade: as constru¸c˜oes da DSL devem corresponder a importantes con-ceitos do dom´ınio.
• Ortogonalidade: nada de ambiguidades. Cada constru¸c˜ao existente na lingua-gem ´e usada para representar exatamente um conceito distinto do dom´ınio. • Suportabilidade: uma DSL necessita de ferramentas complementares que
2.4 Linguagens de Dom´ınio Espec´ıfico 17
editar, rastrear erros (debugging) e transformar.
• Integrabilidade: a DSL e suas ferramentas, podem ser combinadas com ou-tras linguagens e ferramentas preferencialmente com o minimo esfor¸co. Isso ´
e essencial para integrar a DSL com outras facilidades usadas no processo de engenharia. Um requisito alternativo ´e a extensibilidade, ou seja, a DSL e suas ferramentas podem ser estendidas para suportar constru¸c˜oes adicionais e conceitos. Entretanto, a integrabilidade ´e preferencialmente considerada como requisito para DSLs de forma a preservar a coerˆencia semˆantica.
• Longevidade: o ciclo de vida de uma DSL est´a associado ao ciclo de vida do dom´ınio. Enquanto houver interesse de se investigar tal dom´ınio, o custo de desenvolvimento incremental da DSL e de suas ferramentas de suporte s˜ao justificados.
• Simplicidade: uma DSL deve ser o mais simples poss´ıvel, expressar os conceitos de interesse e dar aos seus usu´arios a forma esperada de trabalho e produ¸c˜ao de artefatos.
• Qualidade: a linguagem deve prover mecanismos que resultem na produ¸c˜ao de sistemas com qualidade. Isto inclui recursos que melhorem a confiabilidade, seguran¸ca, etc.
• Escalabilidade: a linguagem deve prover constru¸c˜oes que ajudem a gerenciar descri¸c˜oes em larga escala.
• Usabilidade: inclui requisitos como acessibilidade e simplicidade de compre-ens˜ao.
Segundo Deursen et al.[46], adotar uma DSL envolve benef´ıcios e riscos listados a seguir.
Os benef´ıcios de uma DSL incluem:
(i) Os softwares implementados em DSLs seguem a nomenclatura do dom´ınio e consequentemente, especialistas podem validar, modificar e desenvolver os programas.
(ii) A concis˜ao dos programas pode ser provada e validada mais facilmente e reu-sada para diferentes prop´ositos.
2.5 Ontologias Formais 18
(iii) A manutenibilidade, portabilidade e produtividade melhoram. (iv) Facilidade no reuso e conserva¸c˜ao do conhecimento mapeado.
As desvantagens do uso de uma DSL s˜ao:
(i) O custo de projetar, implementar e manter uma DSL. (ii) O custo de aprender uma DSL.
(iii) Dificuldade de definir o escopo de uma DSL.
(iv) Dificuldade de balancear as constru¸c˜oes e poss´ıveis conex˜oes entre DSL e GPL. (v) Potencial perda de eficiˆencia quando comparada a codifica¸c˜ao de programas
feita por programadores.
No contexto de MDE, os modelos come¸caram a ser desenvolvidos inicialmente em linguagens de modelagem de uso geral, tais como o UML (Unified Modeling Language). Atualmente o estado da arte ´e a utiliza¸c˜ao de DSLs, que fornecem aos especialistas do dom´ınio a op¸c˜ao de trabalhar no espa¸co do problema sem se preocupar com detalhes t´ecnicos do espa¸co da solu¸c˜ao.
Publica¸c˜oes recentes demonstram um crescente interesse da comunidade cient´ıfica pelo uso de DSLs em abordagens como o desenvolvimento de software dirigido por modelos [44, 12] e arquitetura dirigida por modelo [28, 8]. Estas abordagens usam DSLs com linguagens que representam uma abstra¸c˜ao familiar aos especialistas do dom´ınio.
A integra¸c˜ao entre DSL e MDE vem se destacando do ponto de vista pr´atico e cient´ıfico por criar camadas eficientes entre a especifica¸c˜ao ou modelagem do pro-blema e a modulariza¸c˜ao da solu¸c˜ao. No contexto de problemas computacionalmente complexos, essa divis˜ao pode ser crucial por viabilizar o mapeamento de solu¸c˜oes eficientes.
2.5
Ontologias Formais
De acordo com Sellers [15], ontologias formais amplamente exploradas pela ´area de inteligˆencia artificial tem sido desenvolvida em paralelo a metamodelos investiga-dos por MDE, mas estuinvestiga-dos mostram que ambos possuem similaridades. No contexto desta pesquisa, uma ontologia formal ´e um conjunto de conceitos, expressos em uma
2.5 Ontologias Formais 19
linguagem de representa¸c˜ao ontol´ogica. No contexto desta pesquisa, a linguagem selecionada foi OWL DL [34] por permitir inferˆencia l´ogica realizada por mecanis-mos de racioc´ınio autom´atico com suporte a valida¸c˜ao de consistˆencia, verifica¸c˜ao de satisfabilidade, classifica¸c˜ao, taxonomia e consultas.
Afsharchi [1] apresenta uma defini¸c˜ao para ontologias formais onde esta ´e definida como uma estrutura O := (C, ≤C, R, σ, ≤R). C e R s˜ao conjuntos disjuntos onde
os membros de C s˜ao chamados de conceitos e os membros de R s˜ao chamados de rela¸c˜oes. ≤C ´e uma ordem parcial de C chamada de hierarquia de conceitos ou
taxonomia e ≤R´e uma ordem parcial de R chamada de hierarquia de rela¸c˜ao.
Se c1 ≤C c2 para c1, c2 ∈ C, ent˜ao c1 ´e chamado de subconceito de c2 e c2
´e superconceito de c1. Obviamente a rela¸c˜ao ≤C ´e supostamente conectada com
conceitos que s˜ao definidos. Na literatura, as taxonomias s˜ao constru´ıdas usando-se rela¸c˜ao de subconjuntos, ou seja, ci ≤C cj se e somente se para todo o ∈ ci tem-se
o ∈ cj. Esta defini¸c˜ao de ≤C produz uma ordem parcial em C que ´e usada pelas
ontologias formais.
Os conceitos podem ser vistos como cole¸c˜oes de objetos que podem ter cer-tas caracter´ısticas instanciadas. Neste trabalho, para uma ontologia O existe um conjunto de caracter´ısticas F = f1, . . . , fn e para cada caracter´ıstica fi existe um
dom´ınio Di = vil, . . . , vimi que define os poss´ıveis valores e caracter´ısticas. Ent˜ao,
um objeto o = ([f1 = v1], . . . , [fn = vn]) ´e caracterizado por valores para cada
ca-racter´ıstica (muitas vezes uma caca-racter´ıstica ´e o nome de identifica¸c˜ao de um objeto que por sua vez tem uma ´unica combina¸c˜ao de caracter´ısticas).
As ontologias formais oferecem v´arios benef´ıcios para a representa¸c˜ao do conheci-mento. O primeiro deles ´e que m´etodos formais introduzem o conceito de corretude ao sistema. O segundo benef´ıcio ´e o fato da estrutura l´ogica de um problema ser en-fatizada ao inv´es de uma constru¸c˜ao engessada de um procedimento para resolvˆe-lo. Isso permite que o conhecimento seja reusado e inferido sobre o dom´ınio.
Trabalhos relacionados a t´ecnicas de especifica¸c˜ao formal s˜ao particularmente relevantes para MDE pois DSLs devem incorporar uma semˆantica formalmente defi-nida caso realmente se queira criar modelos pass´ıveis de an´alise. Pesquisas apontam que MDE necessita que a manipula¸c˜ao dos modelos seja baseada na semˆantica e em seus aspectos apropriados e as linguagens de modelagem devem ser formalizadas [12].
A ideia de agregar ontologias + DSLs + MDE vem sendo gradativamente inves-tigada [43, 14, 30, 38]. Pahl [35] prop˜oe um processo de transforma¸c˜ao de modelos
2.6 Considera¸c˜oes Finais 20
baseado em ontologia como alternativa a cl´assica abordagem baseada em UML. Walter et al. [47] apresenta um framework que permite reusar o conhecimento de projeto e desenvolvimento de ontologias em DSLs. J´a o interesse desta pesquisa ´e efetivamente embarcar uma ontologia no contexto de uma DSL de forma que a especifica¸c˜ao feita por um usu´ario atrav´es da DSL siga a terminologia representada por uma ontologia.
2.6
Considera¸
c˜
oes Finais
Os modelos computacionais tˆem fornecido uma nova perspectiva sobre a compre-ens˜ao de fenˆomenos e/ou processos, se destacando como uma poss´ıvel manipula¸c˜ao metodol´ogica posteriormente confirmada experimentalmente. Os modelos computa-cionais permitem responder perguntas sobre determinada teoria e, ocasionalmente, revelam consequˆencias inesperadas a partir de pressupostos te´oricos. No contexto desta pesquisa, a compreens˜ao das caracter´ısticas, benef´ıcios e riscos dos modelos computacionais est˜ao alinhadas com o objetivo central de pesquisa.
Com o intuito de mitigar as dificuldades relacionadas com o desenvolvimento de um modelo computacional, MDE foi investigada e adotada como metodologia capaz de fragmentar a complexidade dos modelos computacionais em camadas que vai do n´ıvel mais abstrato (espa¸co do problema) ao n´ıvel de execu¸c˜ao computacional (espa¸co da solu¸c˜ao).
As DSL s˜ao adotadas como uma eficiente abordagem para gera¸c˜ao de modelos no PIM e/ou PSM. A decis˜ao de onde aplicar uma DSL vai depender da caracter´ıstica do problema que se pretende resolver. Com base na an´alise do problema ´e que a arquitetura se definir´a.
As ontologias contribuem com a representa¸c˜ao formal de determinado dom´ınio. Como discutido na Se¸c˜ao 2.1, um modelo computacional aplic´avel se restringe com frequˆencia a um dom´ınio espec´ıfico e as ontologias auxiliam exatamente neste pro-cesso por meio de formalismo l´ogico.
Parte II
Descri¸
c˜
ao Metodol´
ogica
Cap´ıtulo 3
Instrumental de Pesquisa
O objetivo deste cap´ıtulo ´e apresentar o instrumental de pesquisa adotado para o desenvolvimento deste projeto. A Se¸c˜ao 3.1 define a metodologia e detalha cada uma das fases e subfases previstas. O plano de pesquisa ´e discutido na Se¸c˜ao 3.2. O cronograma estabelecido para esta pesquisa ´e apresentado na Se¸c˜ao 3.3. Na Se¸c˜ao 3.4 s˜ao discutidas as considera¸c˜oes finais.
3.1
Metodologia
Segundo Denning [10] a ciˆencia classifica conhecimento. J´a a ciˆencia experimen-tal classifica conhecimento derivado de observa¸c˜oes. Desde a publica¸c˜ao de Denning, que em 1980 chamou aten¸c˜ao para a importˆancia da experimenta¸c˜ao na ciˆencia da computa¸c˜ao aos dias atuais, ´e poss´ıvel observar que gradativamente estamos cami-nhando para um n´ıvel maior de comprometimento com os experimentos. O enfoque experimental agrega muitos benef´ıcios como a possibilidade de eliminar abordagens in´uteis e suposi¸c˜oes errˆoneas. A experimenta¸c˜ao ajuda tamb´em a orientar a enge-nharia e a teoria nas dire¸c˜oes promissoras de pesquisa. Baseado neste princ´ıpio, a engenharia de software experimental sugere que, na medida do poss´ıvel, os m´etodos experimentais validados sejam reusados. Com base nesta sugest˜ao, na an´alise das metodologias existentes e nas caracter´ısticas desta pesquisa, este trabalho segue a metodologia proposta por Shull et al. [42], posteriormente estendida por Mafra et al. [32] conforme Figura 3.1. Tal metodologia se divide, em alto n´ıvel, em duas fases: (i) concep¸c˜ao e (ii) avalia¸c˜ao do modelo proposto. Estas duas fases, sofreram uma adapta¸c˜ao iterativa e incremental no contexto deste trabalho de acordo com a Figura 3.5.
3.1 Metodologia 23
Figura 3.1: Metodologia sugerida por Shull et al. [42] e estendida por Mafra et al. [32].
3.1.1
Fase de Concep¸
c˜
ao do Modelo
A fase de concep¸c˜ao tem como objetivo criar o alicerce da pesquisa e ao final, gerar um projeto piloto que valide a ideia. Esta fase inicia com uma revis˜ao explo-rat´oria ou ad-hoc da literatura com o intuito de se obter uma vis˜ao geral do problema de pesquisa, da problem´atica relacionada a ´area da dinˆamica florestal, mapeamento pr´evio de modelos existentes, desafios associados a modelagem computacional, bem como a extra¸c˜ao de termos t´ecnicos e sinˆonimos, que posteriormente ser˜ao usados na formula¸c˜ao da string de busca tanto no mapeamento como na revis˜ao sistem´atica da literatura. ´E importante enfatizar a an´alise pr´evia da real necessidade de se realizar mapeamentos e/ou revis˜oes sistem´aticas da literatura. O pesquisador deve caracte-rizar, com base nos objetivos definidos, que tipo de pesquisa pretende realizar e em seguida investigar se n˜ao existe at´e o presente momento algum mapeamento e/ou revis˜ao que possa ser reusado no contexto da pesquisa.
Em seguida s˜ao realizadas entrevistas com engenheiros florestais e estudos de observa¸c˜ao in loco em reservas florestais para compreender a an´alise da dinˆamica florestal e quest˜oes relacionadas. De posse da revis˜ao ad-hoc e do estudo de ob-serva¸c˜ao, requisitos iniciais de pesquisa s˜ao formulados.
Desta forma ´e poss´ıvel confrontar necessidades regionais, por exemplo, relacio-nadas ao cen´ario amazˆonico e necessidades mais abrangentes de pesquisa com base na revis˜ao ad-hoc da literatura. Essa fundamenta¸c˜ao ´e o primeiro ponto de partida
3.1 Metodologia 24
para auxiliar o pesquisador a identificar quest˜oes v´alidas ou n˜ao do ponto de vista cient´ıfico, foco, fatores motivacionais, objetivos, etc.
O pr´oximo passo ´e iniciar ciclos iterativos e incrementais que v˜ao compor a fase de concep¸c˜ao, subdividindo-se, no caso desta pesquisa, nos subciclos de mapeamento sistem´atico e projeto piloto.
Mapeamento Sistem´atico
O mapeamento sistem´atico segue a mesma metodologia da revis˜ao sistem´atica, por´em com objetivo diferente. Atrav´es do mapeamento sistem´atico ´e poss´ıvel obter uma vis˜ao geral de determinada ´area de interesse e mapear quais subt´opicos neces-sitam mais de estudos prim´arios ou de estudos secund´arios. J´a a revis˜ao sistem´atica ´e considerada um estudo secund´ario pois usa os estudos prim´arios como fonte para a compila¸c˜ao de dados cient´ıficos e conclus˜oes a partir de quest˜oes espec´ıficas de pesquisa. A diferen¸ca entre ambos os m´etodos ´e discutida com mais propriedade por Kitchenham [26].
O processo para a condu¸c˜ao do mapeamento sistem´atico envolve trˆes etapas: 1. Planejamento: os objetivos da pesquisa s˜ao listados e o protocolo do
mapea-mento ´e definido;
2. Execu¸c˜ao: as fontes para o mapeamento s˜ao selecionadas, os estudos prim´arios s˜ao identificados, selecionados e avaliados de acordo com os crit´erios de in-clus˜ao, exclus˜ao e de qualidade estabelecidos durante o protocolo do mapea-mento;
3. An´alise dos Resultados: os dados do estudo s˜ao extra´ıdos e sintetizados. Projeto Piloto
A proposta do Mogno se concretiza atrav´es da constru¸c˜ao de um projeto piloto para valida¸c˜ao da ideia. Este processo, compreende a constru¸c˜ao de artefatos de pesquisa com base na engenharia guiada por modelos que sugere a constru¸c˜ao sim-plificada do dom´ınio em duas camadas: (i) modelos independentes de plataforma e (ii) modelos de plataforma espec´ıfica. Com o objetivo de atender a camada (i), o projeto piloto gera a DSL CarbonQL e a Carbontology como artefatos. Entre a camada (i) e (ii) existe um tradutor de modelos chamado CarbonQLWalker e na camada (ii) temos o CarbonQL2HQL, um gerador de c´odigo para um framework
3.1 Metodologia 25
de mapeamento objeto-relacional que ´e respons´avel em gerenciar o mapeamento en-tre a CarbonQL (n´ıvel de especifica¸c˜ao) e SQL (n´ıvel de execu¸c˜ao). O framework selecionado foi o Hibernate [16] por ser um projeto open source consolidado e de desenvolvimento ativo capaz de oferecer o arcabou¸co necess´ario a este projeto. Os artefatos de pesquisa gerados na camada (i) e (ii) foram constru´ıdos com base nas seguintes etapas:
1. An´alise: os requisitos previamente identificados s˜ao refinados e as caracter´ısticas, estruturas e comportamentos do projeto piloto s˜ao descritos em n´ıvel concei-tual;
2. Projeto: nesta etapa, o projeto piloto ´e descrito em um n´ıvel mais concreto, m´etodos, linguagens de programa¸c˜ao, ferramentas e frameworks s˜ao avaliados e selecionados para que a fase seguinte seja realizada com base em um arcabou¸co tecnol´ogico e cient´ıfico.
3. Implementa¸c˜ao: os artefatos do projeto piloto s˜ao efetivamente implementados na forma de componentes com base nas decis˜oes de projeto.
4. Teste: os artefatos s˜ao testados. Os que apresentarem algum tipo de falha ou restri¸c˜ao retornam ao fluxo de implementa¸c˜ao para que os mesmos sejam corrigidos ou reimplementados.
A Figura 3.2 ilustra cada uma das etapas da fase de concep¸c˜ao com destaque para os interesses de pesquisa de cada uma.
Figura 3.2: Detalhamento da fase de concep¸c˜ao, composta pelo ciclo do projeto piloto e mapeamento sistem´atico.
3.1 Metodologia 26
3.1.2
Fase de Avalia¸
c˜
ao do Modelo
A fase de avalia¸c˜ao tem como objetivo identificar o qu˜ao bom ´e o modelo Mogno para o prop´osito estabelecido. Segundo as boas pr´aticas cient´ıficas, novos m´etodos, modelos, t´ecnicas, linguagens e ferramentas n˜ao devem ser apenas sugeridos, publi-cados ou apresentados sem a devida experimenta¸c˜ao e valida¸c˜ao. Uma das melhores formas de garantir um modo sistem´atico e controlado para tal valida¸c˜ao ´e por meio de um m´etodo experimental.
No contexto desta pesquisa, a fase de avalia¸c˜ao ocorre de forma iterativa e incre-mental com um subciclo de revis˜ao sistem´atica seguindo os mesmos passos do mape-amento sistem´atico que s˜ao respectivamente: planejamento, execu¸c˜ao e an´alise dos resultados. A execu¸c˜ao desta revis˜ao sistem´atica visa obter respostas para quest˜oes mais espec´ıfica relacionada aos modelos computacionais e consequentemente oferecer uma contribui¸c˜ao em uma das sub´areas de pesquisa carente de estudos secund´arios identificadas pelo mapeamento sistem´atico.
Para que o experimento ofere¸ca resultados v´alidos, ele deve ser adequadamente organizado e controlado. Com o prop´osito de atingir este objetivo v´arias metodolo-gias de organiza¸c˜ao dos experimentos foram elaboradas, por exemplo, o Framework de Experimenta¸c˜ao proposto por Basili [3] e adotado neste trabalho. Este framework possui as seguintes etapas:
1. Planejamento do Experimento: descreve os objetivos, o objeto do estudo, o foco da qualidade, o ponto de vista e contexto. Como resultado, a fase de planejamento fornece a dire¸c˜ao geral do experimento, o seu escopo, a base para a formula¸c˜ao das hip´oteses e as nota¸c˜oes preliminares para a avalia¸c˜ao da validade.
2. Projeto: implementa a funda¸c˜ao do experimento. Nesta fase o contexto ´e se-lecionado, as hip´oteses s˜ao formuladas, as vari´aveis e os participantes s˜ao sele-cionados, ocorre a prepara¸c˜ao da instrumenta¸c˜ao e a considera¸c˜ao da validade do experimento. O resultado dessa fase apresenta o experimento totalmente elaborado e pronto para execu¸c˜ao.
3. Coleta de Dados e Mensura¸c˜ao: Ocorre sobre a execu¸c˜ao do experimento. Nesta fase ´e importante atentar ao fator humano. Os participantes devem ser preparados para a experimenta¸c˜ao do ponto de vista moral e metodol´ogico para evitar resultados errˆoneos devido ao mal-entendido ou falta de interesse. A
3.2 Plano de Desenvolvimento da Pesquisa 27
coleta de dados deve ser realizada de maneira que n˜ao cause efeito significativo ao estudo em andamento.
4. An´alise e interpreta¸c˜ao: oferecem as conclus˜oes sobre a possibilidade da re-jei¸c˜ao da hip´otese nula, a redu¸c˜ao do conjunto de dados, e a verifica¸c˜ao das hip´oteses. Nessa fase, os aspectos mais importantes s˜ao: escolher o teste estat´ıstico apropriado, explicar os resultados considerando os aspectos da va-lidade, realizar a an´alise custo-benef´ıcio, e interpretar corretamente os resul-tados negativos.
A Figura 3.3 ilustra cada uma das etapas da fase de concep¸c˜ao com destaque para os interesses de pesquisa de cada uma.
Figura 3.3: Detalhamento do ciclo de avalia¸c˜ao e revis˜ao sistem´atica da metodologia. A repeti¸c˜ao ´e um princ´ıpio muito importante que deve ser considerado em um experimento pois est´a diretamente relacionado com a reprodu¸c˜ao dos resultados por outros investigadores. Tal repeti¸c˜ao ´e importante porque implica que as vari´aveis imprevistas n˜ao est˜ao afetando os resultados. Os resultados dos experimentos n˜ao podem ser amplamente aceitos sem que a repeti¸c˜ao interna ou externa seja aplicada.
3.2
Plano de Desenvolvimento da Pesquisa
A Tabela 3.1 destaca os principais objetivos, metas, atividades e indicadores previstos para esta pesquisa.
3.3 Cronograma 28
Tabela 3.1: Plano de Desenvolvimento da Pesquisa
Objetivos Metas Atividades Indicadores Criar uma DSL com
base no benchmark da ´
area de Linguagens de Dom´ınio Espec´ıfico que receba como entrada consultas definidas sob a terminologia formalizada.
(1)Estudo de m´etodos, t´ecnicas e ferramentas; (2)Formula¸c˜ao do escopo da DSL; (3)Desenvolvi-mento iterativo e incre-mental da DSL.
(1) Mapeamento Sis-tem´atico; (2)Planeja-mento do Projeto Piloto; (3) Desenvolvimento da CarbonQL seguindo as atividades de: an´alise, projeto, implementa¸c˜ao e teste. (1)Principais m´etodos e t´ecnicas conhecidas; (2)Linguagem CarbonQL implementada. Formalizar a terminologia do dom´ınio de dinˆamica florestal por meio de uma ontologia formal e incor-por´a-la a DSL.
(1)Estudo de m´etodos, t´ecnicas e ferramentas; (2)Formula¸c˜ao do escopo da Ontologia; (3)Desen-volvimento iterativo e in-cremental da Ontologia; (4) Incorporar a ontologia na DSL.
(1) Continua¸c˜ao do ma-peamento Sistem´atico; (2)Entrevistas com en-genheiros florestais; (3)Estudos de observa¸c˜ao em campo; (4) Desenvol-vimento da Carbontology seguindo as atividades de: an´alise, projeto, implementa¸c˜ao e teste; (5)Carbontology incorpo-rada na CarbonQL (1)Principais m´etodos e t´ecnicas conhecidas; (2)Carbontology imple-mentada; (3)Avalia¸c˜ao dos benef´ıcios desta incorpora¸c˜ao j´a que o vocabul´ario do dom´ınio espec´ıfico pode ser in-corporado na gram´atica da CarbonQL sem a necessidade de uma ontologia.
Gerar automaticamente c´odigo para um fra-mework de mapeamento objeto-relacional de forma que as consultas original-mente especificadas na DSL sejam mapeadas do alto n´ıvel para um n´ıvel execut´avel em banco de dados relacional.
(1)Estudo de m´etodos, t´ecnicas e ferramentas; (2)Desenvolvimento itera-tivo e incremental do tradutor e gerador au-tom´atico de c´odigo.
(1)Continua¸c˜ao do mape-amento Sistem´atico; (2) Desenvolvimento do tra-dutor CarbonQLWalker e do gerador de c´odigo Car-bonQL2HQL seguindo as atividades de: an´alise, projeto, implementa¸c˜ao e teste.
(1)Consultas partindo da especifica¸c˜ao em Car-bonQL, traduzidas para HQL, executadas em SQL e visualiza¸c˜ao dos resultados, (2)Garantir a equivalˆencia entre con-sultas CarbonQL x HQL x SQL; (3)Consistˆencia; (4)Completude.
Aplicar MDE com o in-tuito de facilitar o en-tendimento dos objetos e eventos modelados e facilitar a configura¸c˜ao dinˆamica dos modelos.
Formular a arquitetura multicamadas da solu¸c˜ao usando os princ´ıpios de MDE.
(1)Implementa¸c˜ao da ca-mada de modelos inde-pendentes de plataforma, (2)Implementa¸c˜ao da ca-mada de modelos depen-dentes de plataforma.
(1)Configura¸c˜ao dinˆamica dos modelos; (2)Reusabi-lidade; (3)Confiabilidade. Avaliar
experimental-mente o modelo proposto do ponto de vista do usu´ario (usando m´etricas como usabilidade, ortogo-nalidade, conformidade, etc.) e do processo (usando m´etricas como integrabilidade, suporta-bilidade, etc.).
(1)Estudo de m´etodos, t´ecnicas e ferramentas; (2)Desenvolvimento itera-tivo e incremental da ava-lia¸c˜ao e realiza¸c˜ao dos ex-perimentos.
(1)Revis˜ao sistem´atica; (2)Planejamento dos experimentos; (3)Projeto; (4)Coleta de dados e mensura¸c˜ao; (5)An´alise e interpreta¸c˜ao; (6)Em-pacotar os experimentos de forma que os mes-mos sejam facilmente repetidos.
Validade interna, externa, da conclus˜ao e constru¸c˜ao do estudo.
3.3
Cronograma
O cronograma de execu¸c˜ao desta pesquisa envolve v´arios marcos. As atividades atuais constam como “Em andamento”. As que j´a foram conclu´ıdas est˜ao iden-tificadas nos itens seguintes com o status “Realizado”. As atividades sem status s˜ao as que ser˜ao realizadas no decorrer dos pr´oximos doze meses.
1. Cumprimento de Cr´editos - Participa¸c˜ao em disciplinas essenciais para a fun-damenta¸c˜ao da pesquisa. (Realizado)
3.3 Cronograma 29
2. Pesquisa bibliogr´afica ad-hoc - Realizada com o intuito de se obter uma vis˜ao geral do problema de pesquisa, da problem´atica relacionada a ´area da dinˆamica florestal, mapeamento pr´evio de modelos existentes, desafios associados a mo-delagem computacional, bem como a extra¸c˜ao de termos t´ecnicos e sinˆonimos, que posteriormente ser˜ao usados na formula¸c˜ao da string de busca tanto no mapeamento como na revis˜ao sistem´atica da literatura. (Realizado)
3. Participa¸c˜ao no WOPI-UFAM 2010 (Workshop de Pesquisa em Inform´atica) -Apresenta¸c˜ao do andamento do trabalho e resultados parciais obtidos. (Realizado) 4. Coopera¸c˜ao com a Rede FLORestal - Foram realizadas algumas
entrevis-tas com engenheiros florestais da EMBRAPA - Amazˆonia Ocidental, UFAM, INPA, IBAMA e Servi¸co Florestal Brasileiro. (Realizado)
5. Mapeamento Sistem´atico - Coleta, organiza¸c˜ao e an´alise da literatura t´ecnica e cient´ıfica relacionada com os assuntos abordados no trabalho. O intuito desta revis˜ao foi identificar principais ve´ıculos de publica¸c˜ao, fronteiras do estado da arte e estado da pr´atica. (Realizado)
6. Primeira Qualifica¸c˜ao - Apresenta¸c˜ao do estado da arte em outubro de 2011. (Realizado)
7. Estudo de Campo - Realizado na Reserva Florestal ZF2, localizada no km 50 da BR 174, na estrada vicinal ZF-2, Manaus/AM. Neste estudo foram observadas ´areas experimentais de estudo da dinˆamica florestal. (Realizado) 8. Projeto Piloto - Realizado com o intuito de validar a ideia. Nesta etapa foi desenvolvida a DSL CarbonQL, Carbontology, o tradutor CarbonQLWalker e o gerador de c´odigo CarbonQL2HQL. (Em andamento - 80% realizado) 9. Doutorado Sandu´ıche - Est´agio no grupo de sistemas eletrˆonicos e software
(ESS) da Universidade de Southampton - Inglaterra, no intervalo de dezem-bro/2011 a dezembro/2012. (Realizado)
10. Segunda Qualifica¸c˜ao - Apresenta¸c˜ao da proposta de tese de doutorado em mar¸co de 2013.
11. Revis˜ao Sistem´atica - Estudo secund´ario - Coleta, organiza¸c˜ao e an´alise da literatura t´ecnica e cient´ıfica seguindo um protocolo e metodologia que permita a repeti¸c˜ao e avalia¸c˜ao do estudo realizado.
3.3 Cronograma 30
Tabela 3.2: Distribui¸c˜ao de atividades do cronograma por semestre de cada ano.
Tarefas 1/2010 2/2010 1/2011 2/2011 1/2012 2/2012 1/2013 2/2013 1/2014 Cumprimento de Cr´editos
Revis˜ao ad-hoc
Participa¸c˜ao no WOPI-UFAM 2010 Coopera¸c˜ao com a REDE FLORestal Mapeamento Sistem´atico
Primeria Qualifica¸c˜ao Estudo de campo Projeto Piloto Doutorado Sandu´ıche Segunda Qualifica¸c˜ao Revis˜ao sistem´atica
Realiza¸c˜ao de Experimentos e Ajustes Escrita de Artigos e Relat´orios T´ecnicos Defesa da tese
12. Realiza¸c˜ao de Experimentos e Ajustes - Nesta etapa ser˜ao realizados experi-mentos mais refinados a partir da experiˆencia adquirida com a fase anterior. Al´em disso, novas alternativas para obten¸c˜ao de melhores resultados dever˜ao ser estudadas para que o objetivo deste trabalho seja alcan¸cado. Nesta etapa, a partir da an´alise dos resultados e implementa¸c˜oes, novos experimentos podem ser feitos.
13. Participa¸c˜ao em simp´osios, congressos e encontros cient´ıficos relacionados ao tema do trabalho.
14. Escrita de textos cient´ıficos divulgando os resultados parciais e finais. 15. Defesa da tese. Previs˜ao para mar¸co de 2014.
A Figura 3.4 complementa a Tabela 3.2 atrav´es de um gr´afico aproximado. De 2013 para frente o gr´afico mostra apenas previs˜oes. De 2012 para tr´as as apro-xima¸c˜oes s˜ao baseadas em fatos reais.
Com base na linha do tempo de execu¸c˜ao deste trabalho duas atividades se des-tacam: a pesquisa e o desenvolvimento. Na atividade de pesquisa, a ´area que se forma ao longo da linha do tempo (destacada em amarelo), demonstra o esfor¸co gasto com as atividades de pesquisa. O destaque vai para o pico m´aximo (durante a revis˜ao ad-hoc) e pico m´ınimo (durante o mapeamento sistem´atico). Esse tipo de resultado gera um questionamento inevit´avel: Porque tal resultado foi obtido se temos como premissa que o mapeamento/revis˜ao sistem´atica s˜ao mais trabalhosos e demandam mais tempo que a revis˜ao ad-hoc? Na verdade o que foi observado no decorrer desta pesquisa ´e que a revis˜ao ad-hoc foi realizada de forma explorat´oria