• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
80
0
0

Texto

(1)

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

(2)

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.

(3)

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

(4)

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.

(5)

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.

(6)

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

(7)

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

(8)

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

(9)

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¸

ao Te´

orica

11

2 Modelos computacionais 12 2.1 Modelagem e Modelos Computacionais: conceitos e motiva¸c˜oes . . . . 12

2.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¸

ao Metodol´

ogica

21

3 Instrumental de Pesquisa 22 3.1 Metodologia . . . 22

3.1.1 Fase de Concep¸c˜ao do Modelo . . . 23 ix

(10)

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¸

ao, An´

alise e Interpreta¸

ao dos Resultados

Parciais

36

4 Mogno: um modelo computacional para an´alise da dinˆamica flores-tal 37 4.1 Vis˜ao Geral . . . 37

4.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

(11)

Cap´ıtulo 1

Introdu¸

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¸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.

(12)

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.

(13)

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

(14)

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¸

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

(15)

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

(16)

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

(17)

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¸ao

(18)

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

(19)

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¸

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

(20)

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.

(21)

Parte I

Fundamenta¸

ao Te´

orica

(22)

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¸

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.

(23)

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.

(24)

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¸

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

(25)

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

(26)

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

(27)

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.

(28)

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

(29)

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

(30)

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¸

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.

(31)

Parte II

Descri¸

ao Metodol´

ogica

(32)

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.

(33)

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¸

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

(34)

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

(35)

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.

(36)

3.1 Metodologia 26

3.1.2

Fase de Avalia¸

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

(37)

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.

(38)

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)

(39)

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.

(40)

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

Referências

Documentos relacionados

b) Os resultados e conclusões de um ensaio clínico especificamente projetado para o produto médico em questão, desenvolvido anteriormente... Os produtos médicos deverão

Em sua fase de construção, foram elaborados 28 itens para representar contentamento no trabalho a partir de seis dimensões: satisfação com o salário (cinco itens), satisfação com

Vertendo a análise para o incumprimento ou cumprimento defeituoso do contrato de viagem organizada e dada a especificidade do mesmo, o viajante tem direito ao reembolso

The unsteady-state flow (frequently called transient flow) is defined as the fluid flowing condition at which the rate of change of. pressure with respect to time at any position

As aprendizagens curriculares articulam-se intrinsecamente com cruzamentos múltiplos entre os demais sectores do projeto Chapitô, desde a ação social à produção de eventos na

Já quanto para aqueles condutores das categorias C, D ou E que não exercem atividade remunerada, se o exame toxicológi- co estiver vencido antes do dia 12 de abril de 2021, terão

Estando o investigador por vezes sujeito a algumas restri¸c˜ oes t´ ecnicas quando tem de realizar uma investiga¸c˜ ao, nem sempre ´ e poss´ıvel extrair essa informa¸c˜ ao,

As principais constatações identificam ações e práticas no âmbito da gestão logística e da cadeia do abastecimento que contribuem para o equilíbrio entre os