AGROSOFT 97
I Congresso da SBI-Agro

 

Interoperabilidade de software para uso em 
agricultura de precisão


Saraiva, Antonio Mauro
amsaraiv@laa.pcs.usp.br
Laboratório de Automação Agrícola - LAA - EPUSP
Caixa Postal 61548 - São Paulo, SP, Brasil - CEP 05424-970
fone 55-11-818-5366 fax 55-11-818-5294

Basseto, Bruno Abrantes
babasset@laa.pcs.usp.br
Laboratório de Automação Agrícola - LAA - EPUSP
Caixa Postal 61548 - São Paulo, SP, Brasil - CEP 05424-970
Fone 55-11-818-5271, Fax 55-11-818-5294

Massola, Antonio M. de Aguirra
Departamento de Engenharia de Computação e Sistemas Digitais - EPUSP
Caixa Postal 61548 - São Paulo, SP, Brasil - CEP 05424-970
Fone 55-11-818-5366, Fax 55-11-818-5294

 

Resumo

O uso de tecnologias de aplicação precisa de insumos agrícolas, bem como de sistemas precisos de posicionamento global, têm possibilitado o surgimento de uma nova forma de agricultura, a Agricultura de Precisão. O gerenciamento de sistemas de AP freqüentemente depende do tratamento de grande quantidade de informação, usualmente proveniente de fontes heterogêneas, criando-se a necessidade por sistemas de informação extremamente complexos. Sugere-se como implementação deste sistema de informação um sistema construído a partir de aplicações independentes capazes de cooperarem entre si a partir de mecanismos de interoperabilidade de software.

Abstract

The new possibilities of the use of technologies of variable and precise rate application and global positioning systems have created a new concept in agriculture, named Precision Farming. The management of PF systems is usually very complex, involving several kinds of +information. This paper suggests an implementation of such system based on a number of independent applications that must work together with some interoperability mechanism.

Palavras-chave

Agricultura de Precisão; interoperabilidade; sistema de informações.

 

1. INTRODUÇÃO

O conceito de Agricultura de Precisão -AP, passou a ocupar papel de importância no meio agropecuário mundial, recentemente, mas não é uma idéia nova. Todavia, não se dispunha de meios para levar em conta essa variabilidade no gerenciamento das operações em campo, que é a meta final da AP: aplicar-se sementes, fertilizantes, e outros materiais variavelmente em cada campo (talhão) nas taxas adequadas à produtividade do solo em cada ponto do talhão [Goe92]. Foi a limitação tecnológica o grande impedimento para que a idéia fosse levada mais adiante até recentemente, quando, com a utilização da eletrônica na monitoração e controle das máquinas agrícolas, tornou-se real a possibilidade de se poder tratar a variabilidade espacial encontrada em campo.

As etapas básicas num sistema de agricultura de precisão são: a coleta de dados, o planejamento do gerenciamento, e a aplicação localizada dos insumos.

Na primeira etapa o objetivo é identificar a variabilidade existente em campo dos diversos fatores de produção (solo, pragas, ervas daninhas, etc.) e da própria produção da cultura. Para isso diversos equipamentos são utilizados: coletores de dados e amostradores - automáticos ou manuais, monitores de colheita, imagens de satélite, fotos aéreas, etc.

A segunda etapa consiste em se processar esses dados para: avaliar e quantificar a variabilidade medida; tentar relacionar a variabilidade da produção com a dos fatores de produção; propor estratégias de gerenciamento agrícola que levem em conta esse cenário de variabilidade, consolidados na forma de mapas de aplicação dos insumos.

Na terceira etapa serão utilizadas máquinas agrícolas com a capacidade aplicar os insumos em taxa variável ao longo do talhão, de forma automática, e levando em conta a sua posição no campo. Estas máquinas receberão os mapas com a recomendação da aplicação detalhada para cada ponto do terreno gerados na etapa anterior. Diversas máquinas com essa capacidade já estão disponíveis no mercado e estão em franca evolução tecnológica.

De todas as etapas, a que apresenta um estágio menos adequado para viabilizar uma maior utilização da agricultura de precisão é a etapa do planejamento do gerenciamento. A obtenção de correlações seguras e consistentes entre variabilidade espacial dos parâmetros e a sua conseqüência na produção tem sido um problema, e tem gerado uma situação sui generis: os produtores já dispõem dos equipamentos para a obtenção dos dados e para a aplicação localizada, mas não se dispõe do conhecimento para sua utilização eficaz.

 

2. O SISTEMA DE INFORMAÇÕES DE CAMPO - O CENTRO DA QUESTÃO

Para tratar as diversas e numerosas informações coletadas, analisá-las com base em diferentes técnicas (estatísticas, geoestatísticas, etc.) e segundo os conhecimentos agronômicos aplicáveis, um significativo aparato computacional é necessário. O conceito de AP ressaltou a complexidade do processo agrícola e a necessidade de um enfoque de sistemas na sua abordagem. A consideração de um maior número de fatores na análise do problema amplia a necessidade de apoio computacional, mas esbarra na inexistência de um sistema que integre as diversas ferramentas exigidas. Do ponto de vista prático, a alternativa possível no momento para essa abordagem de sistema é se trabalhar com um conjunto de diversos softwares independentes, cada qual responsável por parte da tentativa de solução do problema.

Entre os pacotes que têm sido utilizados ou sugeridos como de interesse num sistema para agricultura de precisão destacam-se: os sistemas de informação geográfica - GIS, os modelos de simulação (de crescimento de culturas, de perdas de nutrientes no solo, etc.), programas de cálculos estatísticos, geoestatísticos e de processamento de imagens, conversores de formatos, além de sistemas baseados em conhecimento, como sistemas especialistas. [Sko96][Sea95][Sch92].

Essa diversidade de pacotes tem revelado alguns problemas: baseiam-se freqüentemente em plataformas diferentes de hardware: estações de trabalho, PCs, mainframes; e de software: DOS, Unix, Windows; apresentam formas e interfaces de operação bastante diversas, dificultando sua utilização pelo usuário; não foram desenvolvidos com qualquer preocupação com uma possível operação integrada, portanto a troca de dados entre eles nem sempre é trivial ou possível de maneira automática; não foram desenvolvidos segundo técnicas que possibilitem uma maior flexibilidade de evolução dos programas, sua escalabilidade e manutenibilidade;

Para eliminar os problemas decorrentes da heterogeneidade dos pacotes disponíveis, parece crescer um consenso de que a constituição de pacotes integrados, ou daquilo que se poderia chamar um Sistema de Informações de Campo traria diversas vantagens. [Lar96][Sko96][Sch92][Goe93]

Algumas características desejáveis desse Sistema de Informações seriam: permitir criar uma interface única com o usuário, evitando que este tenha que conhecer e operar diversos pacotes individuais; automatizar certos procedimentos de processamento das informações, tornando-os transparentes ao usuário, por exemplo: a troca de dados entre os pacotes ou módulos constituintes; a seleção de parâmetros ou métodos mais adequados para uma dada operação, de modo que o usuário não tenha que ser um especialista em cada uma das técnicas (processamento de imagens, estatística, geoestatística, etc.); permitir personalizar a configuração do sistema, de sua interface e de seu processamento, em função da aplicação específica, e em função do perfil do operador - pesquisador, produtor, extensionista; permitir sua rápida evolução, com a introdução de novos módulos, substituição dos existentes, na medida da evolução das técnicas aplicáveis.

Para atingir essas características, a alternativa mais coerente com as atuais tendências dos setores envolvidos na tecnologia da informação é o do desenvolvimento de sistemas, módulos, pacotes de software que atendam a um padrão aberto de interoperabilidade, de modo que possam ser facilmente interconectados. Desta maneira produtos de diferentes desenvolvedores poderiam ser integrados compondo sistemas maiores, na medida da necessidade de cada aplicação e na medida da evolução da tecnologia, tanto da agricultura de precisão como da própria computação.

 

3. INTEROPERABILIDADE DE SOFTWARE

3.1 - Introdução

O problema de fazer diferentes pacotes de software cooperarem entre si necessita cada vez mais de uma solução prática e eficiente. A grande potencialidade de aplicações altamente especializadas é restringida pela incapacidade destas mesmas aplicações no tratamento de outros tipos de informações que não aqueles para os quais foram projetadas. Sistemas onde diferentes tipos de informação e de tratamentos estão presentes são cada vez mais comuns. O problema torna-se ainda mais complexo quando as aplicações que devem ser executadas em plataformas de software, ou mesmo de hardware, diferentes.

Tal situação absolutamente não é nova. No entanto, o que se busca atualmente é uma forma automatizada de obter esta cooperação entre softwares, ao invés das técnicas manuais usualmente empregadas pelos usuários. A dificuldade inerente a esta tarefa encontra-se em dois fatos: em primeiro lugar, as aplicações não são construídas prevendo-se esta interação com outras aplicações; em segundo lugar, os sistemas operacionais tradicionais não fornecem um suporte eficiente e seguro para este tipo de cooperação.

Algumas formas de troca de dados entre aplicações são conhecidas, e serão discutidas brevemente aqui. A mais antiga e utilizada certamente é a utilização de arquivos. Arquivos são elementos lógicos, independentes das aplicações que os consultam, e, desta forma, podem servir de entrada para aplicações diferentes ou ainda, um arquivo produzido como saída de uma aplicação ser utilizado como entrada de outra. Mecanismos automatizados de intercâmbio de informação com base nesta técnica têm sido utilizados, como os pipes, utilizados nos sistemas UNIX, que nada mais são do que arquivos temporários.

A principal limitação deste tipo de solução encontra-se no fato de que os formatos de tais arquivos são abertos e dependentes das aplicações que os geram. Assim, para que uma aplicação consulte alguma informação constante em um dado arquivo ela precisará conhecer em detalhes o formato como aquela informação está codificada dentro dele, o que muitas vezes significa implementar a própria aplicação de origem, a qual trata aquele tipo de arquivo.

Outra solução, semelhante a esta, é o uso de áreas de transferência internas do sistema operacional, os "quadros de avisos" ou clipboards. Esta é uma solução um pouco mais eficiente e automatizada que vem a permitir maior flexibilidade de fluxo de informação e de sincronização entre aplicações que estejam sendo executadas concorrentemente. A solução do clipboard também incorre em problemas semelhantes aos arquivos com relação ao formato da informação nele contida. Ainda persiste a dificuldade de tratamento de dados produzidos por outra aplicação.

A idéia mais eficiente no tratamento da interoperabilidade é o compartilhamento de serviços ao invés do compartilhamento de dados. Ou seja, a aplicação responsável por determinado tipo de informação deverá ser consultada sempre que aquela informação estiver sendo requisitada por alguma aplicação do sistema. Desta forma, uma aplicação disponibiliza ao sistema seus serviços sobre determinados tipos de dados por ela tratados. Assim, o que uma aplicação recebe não é apenas a informação em si, mas também um conjunto de serviços e operações que podem ser efetuados sobre esta informação.

3.2 - Interoperabilidade e objetos

O conceito de objeto é particularmente útil a esse tipo de filosofia, onde os dados estão sempre associados às aplicações que os mantém, não possuindo sentido algum fora delas. Isto é o que configura o encapsulamento da informação, bem como a abstração dos dados, já que o "pacote" dados + aplicação é o que transparece, possuindo existência autônoma e funcionalidade própria, cumprindo tarefas que lhe são atribuídas, e apenas estas. A este "pacote" damos o nome de objeto.

Um mecanismo de herança pode permitir aos objetos servidores manterem versões cada vez mais atualizadas de seus serviços, sem que precisem ser totalmente remodelados. A presença de mais objetos definidos no sistema torna-o mais poderoso e flexível. A escolha pelo objeto e serviço será feita em função da própria informação, e possivelmente da versão dos objetos envolvidos, sendo possível, inclusive, ser um objeto utilizado diferentemente por diferentes clientes, configurando o que se chama polimorfismo.

3.3 - Objetos e interfaces

Uma técnica comum de possibilitar a cooperação entre diferentes objetos é o uso de interfaces conhecidas por todos os objetos do sistema. Os objetos serão, então, visíveis apenas através de sua interface, que será identificada univocamente dentro do sistema. Desta forma, todas as características de implementação ficarão ocultas aos demais elementos do sistema. As interfaces geralmente possuem um mecanismo de identificação, possibilitando aos clientes reconhecerem os serviços e propriedades oferecidos pelo objeto em questão.

Um exemplo de objeto que pode ser definido é o "mapa", tratado por uma aplicação tipo GIS. Todo o tratamento conferido a este objeto é limitado ao escopo de tal aplicação, que oferecerá para as demais aplicações do sistema interfaces para seus serviços sobre este tipo de dados, como por exemplo interfaces para efetuar operações aritméticas e lógicas sobre mapas, como um método "SomarMapa". Também deverão estar presentes métodos de consulta, ou seja, destinados a extrair informações dos mapas.

3.4 - Sistemas distribuídos ou heterogêneos

Os mesmos conceitos podem ser empregados para troca de dados e serviços entre aplicações que não compartilham áreas de dados, mas que estão dispostas em máquinas diferentes e, possivelmente, em ambientes e sistemas operacionais distintos. Para tanto, alguns níveis a mais de padronização e controle são necessários, como por exemplo, a criação de interfaces locais que farão o papel de representantes dos objetos remotos.

 

4. INTEROPERABILIDADE EM AGRICULTURA DE PRECISÃO

Com o objetivo de obter-se um sistema capaz de tratar os diferentes tipos de dados envolvidos na análise e produção de recomendações em sistemas de Agricultura de Precisão, a alternativa básica e mais atraente seria a cooperação de diversas aplicações diferentes, cada qual responsável por seus tipos de dados e operações ou serviços sobre os mesmos.

Para conseguir-se isso, algumas tarefas impõem-se: adoção de padrões de troca de dados internas, por exemplo formatos de representação de imagens; definição de um dicionário de dados conhecido, para que as aplicações em entrechoque possam identificar o conteúdo das informações de outras aplicações sem que precisem conhecer em detalhes o seu formato; definição de um conjunto padrão de objetos do sistema, bem como de suas interfaces (métodos oferecidos). Tais interfaces poderão ser estendidas livremente no futuro, desde que seus sucessores implementem adequadamente este conjunto de métodos básicos; estabelecimento de uma visão do sistema, quer seja através de uma única aplicação cliente (visão centralizada), quer seja através da busca de dados pelas aplicações participantes (visão distribuída); modelamento do problema de modo a permitir sua especificação e implementação segundo os paradigmas acima citados.

No que diz respeito à padronização, diversos esforços de criação e estabelecimento de normas para o desenvolvimento de software têm sido conduzidos por várias entidades. Alguns deles são bastante genéricos, enquanto outros já se referem ao detalhamento para áreas de aplicação específicas, como é o caso da agricultura. A ISO - International Organization for Standardization coordena diversos desses esforços. Especificamente o comitê técnico TC­23, sub comitê SC­19, denominado Agricultural Electronics, possui dois grupos de trabalho voltados para aspectos da troca de informação e da comunicação entre diferentes sistemas computacionais agrícolas.

A A*E*A - Agricultural Electronics Association, através de seu conselho de software/sistemas de informação também coordena um esforço de padronização de diversos aspectos ligados ao desenvolvimento de software para a agricultura. Foram estabelecidos grupos de trabalho para a definição de formatos de troca de dados em sistemas GIS e em troca de dados em tempo real. Entre as atividades atuais trabalha-se na definição de dicionários de dados para AP: um dicionário de dados de colheita e um de dados de solos.

 

5. CONCLUSÃO

Para fazer bom uso dos mecanismos de interoperabilidade um adequado modelamento do sistema de informação de campo a ser implementado é necessário. Tal modelamento vem sendo desenvolvido no LAA apoiado em métodos orientados a objetos, com o objetivo de proporcionar uma base para a implementação de um sistema integrado a partir de soluções comerciais e acadêmicas que atendam a padrões de interoperabilidade.

O trabalho envolve o estudo e acompanhamento dos esforços de padronização específicos para software agrícola, em particular, bem como o levantamento das soluções existentes para a implementação dos diversos módulos funcionais que poderão compor o sistema-alvo.

 

6. REFERÊNCIAS

  • [GOE92] GOERING, C.E. How much and where. Agricultural Engineering v.73 (4), p.13-15. jul 1992.
  • [GOE93] GOERING, C.E.; HAN, S. A field information system for SSCM. 1993 International Off-Highway & Powerplant Congress & Exposition, Milwaukee, 13-15/9/1993. SAE. Warrendale, paper nº 932422. 1993. SAE technical paper series.
  • [LARS96] LARSCHEID, G.; BLACKMORE, S. Interactions between farm managers and information systems with respect to yield mapping. In: International Conference on Precision Agriculture, 3., Minneapolis, 1996. ASA-CSSA-SSSA, Madison, 1996. 1153-1164
  • [SCH92] SCHUELLER, J.K. A review and integrating analysis of spatially-variable control of crop production. Fertilizer Research. V.33. p. 1-34, 1992. Kluwer Academic Publ.
  • [SEA95] SEARCY, S.W. Engineering systems for site-specific management: opportunities and limitations. In: Site Specific Management for Agricultural Systems. Minneapolis, 1994. ASA-CSSA-SSSA, Madison, 1995. n.44.
  • [SKO96] SKOTNIKOV, A.; ROBERT P. Site-specific crop management - a system approach. In: International Conference on Precision Agriculture, 3., Minneapolis, 1996. ASA-CSSA-SSSA, Madison, 1996. 1145-1152D.

 

7. BIOGRAFIA

Antonio Mauro - Engenheiro Eletricista e Mestre em Engenharia pela Escola Politécnica da Universidade de São Paulo - EPUSP, em 1980 e 1993, respectivamente. Doutorando em Engenharia na mesma Escola. Professor da EPUSP, Depto. de Engenharia de Computação e Sistemas Digitais - PCS, desde 1989. Coordenador do Laboratório de Automação Agrícola - LAA da EPUSP-PCS.

Antonio Marcos de Aguirra - Engenheiro Eletricista, Mestre e Doutor em Engenharia pela EPUSP.
Professor Titular e Chefe do Depto. de Engenharia de Computação e Sistemas Digitais da EPUSP.
Diretor Executivo da Fundação de Apoio à USP - FUSP

Bruno Abrantes - Engenheiro Eletricista com ênfase em Computação e Sistemas Digitais pela EPUSP. Pesquisador do Laboratório de Automação Agrícola LAA - EPUSP - PCS.
Professor Assistente da Faculdade Paulistana de Ciências e Letras, São Paulo.