UTILIZANDO A API HTTPUNIT PARA RECUPERAR DA WEB

Propaganda
SIMUPLAN - SIMULADOR GENÉRICO DO CRESCIMENTO E
DESENVOLVIMENTO DE PLANTAS
Willingthon Pavan1
José Mauricio Cunha Fernandes2
Roberto dos Santos Rabello3
RESUMO
O objetivo deste trabalho foi a construção de uma estrutura para o desenvolvimento mais efetivo e eficiente
de modelos de simulação para uso na agricultura. Alguns dos fundamentos é o formato de coleta e
distribuição de dados, a modularidade do modelo de simulação, o desenvolvimento de softwares de
simulação multiplataforma e programação em multicamadas.
PALAVRAS-CHAVE: Linguagens de Programação, Java, Modelos de Simulação e Banco de Dados.
ABSTRACT
The objective of this work was the construction of a framework for effectively and efficiently develop
simulation models for use in agriculture. Some of the foundations are the standards for dataset collection and
distribution, the modularity of the simulation model, the development of softwares of simulation multplataform and programming in mult-layers.
KEYWORDS: Programming languages, Java, simulation models and database.
1. INTRODUÇÃO
No fim dos anos 60 e início da década de 70 surgiram os primeiros modelos de computador para a
simulação de crescimento e rendimento de culturas (Jones et al., 2001). A medida que os computadores
foram se popularizando também aumentaram os números de modelos e de pesquisadores envolvidos neste
ramo da ciência.
Uma vez que muitos programas foram desenvolvidos de forma independente a incompatibilidade
representava uma dificuldade para aqueles que se encontravam fora do ambiente de desenvolvimento. Nos
dias de hoje há um consenso sobre a necessidade de se fazer modelos mais compatíveis e eficientes.
O desenvolvimento de modelos envolvendo sistemas de produção agrícola requer uma análise
profunda do sistema, acúmulo de conhecimento e uma grande coleção de dados. Porém, é também crucial o
emprego de métodos e ferramentas de tecnologia de software. A modularidade e a forma genérica são as
palavras que descrevem a nova e amplamente aceita metodologia para superar as complexidades que surgem
ao construir, manter e reusar modelos em partes ou como um todo.
Na agricultura como em outros modelos dinâmicos o sistema pode ser analisado em termos de
variáveis de estado, de fluxo e auxiliares. Estes em geral acabam fazendo parte de um conjunto de equações
diferenciais que devem ser integradas numericamente dadas a complexidade do sistema. Esta estrutura
comumente usada faz com que seja possível desenhar e codificar um modelo com finalidades de entradas e
saídas arranjadas com ferramentas de software. Isto tem sido feito utilizando-se de bibliotecas de linguagens
de programação como o Fortran, C, Pascal e outras.
1
Mestre em Ciência da Computação. Universidade de Passo Fundo – UPF/RS.
PhD em Fitopatologia. Embrapa Trigo – Passo Fundo/RS.
3
Especialista em Informática na Educação. Universidade de Passo Fundo – UPF/RS.
2
Anais do IV Congresso Brasileiro da Sociedade Brasileira de Informática Aplicada à Agropecuária e à Agroindústria
A grande maioria dos programas de simulação de crescimento e desenvolvimento de culturas foi
escrita em Fortran. Esforços têm sido feitos para que os programas escritos em Fortran sejam re-estruturados
visando os aspectos fundamentais de modularidade.
Por outro lado, novas linguagens de programação com fortes características de modularidade são hoje
amplamente utilizadas. Entre estas se destaca o Java que além da modularidade apresenta outras vantagens
como segurança, interatividade com banco de dados, disponibilização dos aplicativos na Internet e outras. O
Java é uma linguagem que foi desenvolvida sob o novo paradigma de programação orientada a objetos
(POO).
A programação orientada para objetos tem revolucionado a maneira de como os “softwares” são
concebidos, escritos e mantidos. A orientação a objetos simplesmente significa a visualização de um
problema em termos de objetos envolvidos com aquele problema. Os princípios de orientação a objetos
permitem que os “softwares” não apenas modelem o mundo real, mas permitem que o código do programa
seja escrito de uma forma mais organizada e consistente. Modelos construídos com linguagem orientada a
objetos podem ser desenvolvidos de forma intuitiva que imitam com relativa precisão a lógica do mundo
verdadeiro.
O uso de objetos na representação dos elementos permite que os controles sobre as ações dos mesmos
sejam feitos de forma relativamente simples, pois são necessárias somente alterações na classe que está
gerando o elemento, independente da quantidade. Facilidade também refletida na forma de implementação e
criação de novos elementos, pois pode ser usada a característica de herança a fim de desenvolver um novo
elemento a partir de suas características individuais e não das coletivas.
Características de reaproveitamento são usadas com grande freqüência na programação orientada a
objetos, pela facilidade e rapidez no desenvolvimento, podendo ser aproveitadas para desenvolver
simulações complexas. Formas de reaproveitamento como documentação padronizada e generalização das
especificações dos elementos, permitem uma fácil adequação às necessidades sobre as características dos
objetos. A orientação a objetos possibilita inserir novos elementos no ambiente sem que haja a necessidade
de recodificação, fazendo com que os componentes envolvidos possam trocar informações necessárias para o
funcionamento do modelo.
Estas características nos permitem desenvolver softwares modulares, capazes de se acoplarem na
busca de um objetivo específico de tal forma que a programação se torna muito mais rápida e eficiente.
2. MATERIAL E MÉTODOS
Baseado em um modelo genérico desenvolvido na linguagem Fortran (Porter et. al., 1999), foi
desenvolvido um novo modelo de simulação utilizando o modelo de objetos fazendo com que o mesmo
possa ser dimensionado conforme a necessidade da simulação (Figura 1). Com esta filosofia pode-se ter
quantos objetos forem necessários para a simulação assim como parametrizar a sua execução. A orientação a
objetos possibilita inserir novos elementos no ambiente sem que haja a necessidade de recodificação,
fazendo com que os componentes envolvidos possam trocar informações necessárias para o funcionamento
do modelo.
2
Anais do IV Congresso Brasileiro da Sociedade Brasileira de Informática Aplicada à Agropecuária e à Agroindústria
FIGURA 1: Esquema do modelo de simulação.
FIGURA 2: Tela capturada Simulador SimTrigo.
Processos fundamentais para as plantas (expansão das folhas, fotossíntese, fenologia, etc.), fatores
ambientais tais como características do solo, dados de clima, práticas culturais e variáveis de estado foram
codificadas como objetos de classes em Java, baseados na teoria agronômica, dados experimentais e modelos
já publicados.
Para o desenvolvimento do módulo principal, foram utilizadas as características inerentes do
paradigma orientado a objetos, possibilitando a centralização e troca de informações entre os módulos do
sistema. Uma interface genérica foi criada para que todo e qualquer módulo do sistema pudesse trocar
informações com os outros módulos, a fim de realizar a simulação com segurança, rapidez e confiabilidade.
Para os sub-módulos, são utilizadas as mesmas técnicas (classes abstratas e interfaces) para que estes
conheçam e ofereçam informações esperadas por outros.
Foram desenvolvidos os seguintes módulos: Simulador (integrador), Solo (H2O e N), Pragas, Clima,
Planta e o módulo de Aspectos Econômicos (Figura 1). Os módulos de clima e de solo computam a energia e
a água disponível para o crescimento das plantas. O módulo planta, simula os eventos fenológicos, expansão
foliar, acumulação de carboidratos e a partição entre parte aérea e as raízes. O módulo de Aspectos
Econômicos avalia os resultados da simulação frente a diferentes cenários para fins de tomada de decisão
sobre o uso de insumos e práticas. A alimentação do modelo consiste em características da planta (espécie),
dados de clima (radiação solar, temperatura mínima, temperatura máxima precipitação), assim como práticas
agronômicas como data de semeadura e espaçamento.
Um banco de dados foi modelado (Figura 3) para armazenar os dados de entrada (inputs) e os dados
resultantes da simulação (outputs) para que os mesmos possam ser analisados e validados. Este banco de
dados armazena diversos tipos de informações, tais como informações sobre o ambiente, clima, solo,
irrigação, planta e pragas que servirão como dados de entrada. O banco foi modelado para que todas as
informações ficassem centralizadas em apenas um local, fornecendo informações completas, precisas e
atualizadas para todos os interessados nelas.
3
Anais do IV Congresso Brasileiro da Sociedade Brasileira de Informática Aplicada à Agropecuária e à Agroindústria
FIGURA 3: Representação gráfica do banco de dados modelado.
Os resultados armazenados no banco são usados para criar tabelas e/ou gráficos, para a visualização da
simulação das variáveis de estado como o índice de área foliar, estádios fenológicos, acumulação de
carboidratos, fotossíntese, balanço hídrico, estresses hídrico das plantas, etc.
3. RESULTADOS E DISCUSSÃO
Baseado no modelo de simulação do crescimento e desenvolvimento de plantas criado, e apresentado
acima, foi possível construir uma aplicação gráfica que se utiliza deste modelo, chamado informalmente de
SimTrigo, entre os participantes do projeto, que visa simular o crescimento e desenvolvimento do trigo e
apresentar os resultados em um formato visual, com dados tabulados, gráficos e animações, além de
informações textuais (Figura 2). Nesta fase de desenvolvimento, o modelo ainda é considerado genérico,
pois muitas simplificações foram tidas como verdadeiras, principalmente, nos módulos que tratam da planta
e solo. Em contrário, o conhecimento dos fatores que governam a fenologia do trigo assim como as relações
patógeno-hospedeiro foram cuidadosamente exploradas para obter o máximo realismo.
Desta forma, podemos dizer que o SimTrigo, hoje, é um aplicativo que simula de forma razoável o
crescimento e o desenvolvimento de uma variedade de trigo tipo o BR23 e que também pode simular com
muito realismo epidemias de giberela.
4. CONCLUSÕES
Com a realização deste trabalho, podemos concluir que a utilização do paradigma de orientação a
objetos, juntamente com modernas linguagens de programação (neste caso Java), nos possibilita desenvolver
modelos de simulação mais realísticos e de fácil compreensão para a área agrícola. O presente trabalho,
demonstra a aplicabilidade destas preciosas ferramentas e técnicas na área de simulação de sistemas. Outras
técnicas, não apresentadas aqui, estão sendo estudadas a fim de deixar os sistemas com um formato ainda
mais dinâmico.
4
Anais do IV Congresso Brasileiro da Sociedade Brasileira de Informática Aplicada à Agropecuária e à Agroindústria
5. REFERÊNCIAS BIBLIOGRÁFICAS
FERNANDES, J. M. C. As doenças das plantas e o sistema de plantio direto. Revisão anual de patologia de
plantas (RAPP), v. 5, p. 317-352, 1997.
JONES, J. W., KEATING, B. A. and PORTER, C. H. Approaches for Modular Model Development.
Agricultural Systems. 70/2:421-443, 2001.
PORTER, C.H., BRAGA, R. & JONES, J.W. Na approach for modular crop model development. Disponível
em: www.icasanet.org. Acesso em: 3 de agosto de 1999.
5
Download