Professional Documents
Culture Documents
mais complexas. Um dos paradigmas, quem tem ganhado a ateno da indstria de software, e tem tido um desenvolvimento promissor o paradigma de orientao a agentes; vale ressaltar que um tpico de ativa pesquisa na comunidade cientfica e que ainda no foi solidificado para o mercado, mas que j existem tcnicas, metodologias, ferramentas e etc. validadas e disponveis para uso. A Engenharia de Software Orientada a Agentes (ESOA) trata do uso do paradigma de agentes para desenvolvimento de software para soluo de sistemas complexos. Estes sistemas complexos so descritos como sistemas que geralmente operam em ambientes abertos (ex. uma rede de computadores), no previsveis e de mudanas rpidas; onde estes sistemas devem ser capazes de decidir o que fazer em qualquer situao para alcanar objetivos. Esta no descarta o uso de tcnicas da ES j validadas como gerenciamento de projeto de software, ciclos de vida de projeto, mtodos e processos geis e etc.. Alm disso, pode haver projetos de software onde o paradigma de agentes pode ser mesclado com o paradigma de objetos, quando na existncia de estruturas de software que so mais simples de se resolver e o paradigma de objetos o suficiente para isto; neste caso, modelagens convencionais aplicados orientao a objetos so bem-vindos.
Motivao
O paradigma de objetos, mesmo sendo popular, sofreu extenses para, com menor esforo, realizar propriedades de um software de qualidade como suporte a sistemas distribudos (SUN, 2005), caractersticas transversais (KICZALES et al., 1997) e sistemas de tempo real (BIHARI et al., 1989). Os agentes so evolues naturais de objetos. Possuem memria e comportamento, mas no entidades passivas como objetos. Os objetos encapsulam o seu estado e comportamento, mas no podem
ativar o seu comportamento tendo que depender de outros objetos. J os agentes so autnomos em seu conhecimento desde a sua criao at na interao com o ambiente adquirindo experincia. Assim, os agentes so entidades continuamente ativas pela sua observao no ambiente, atualizao de estado interno e seleo e execuo de aes. J um objeto estrutura passiva na maioria do tempo, sendo ativado quando um dos seus mtodos invocado por outro objeto. O uso da abordagem de agentes baseado nos seguintes argumentos (JENNINGS E WOOLDRIDGE, 2001) (ODELL, 2000):
O conceito de sistemas de agentes adequado para construir solues de software para sistemas complexos; Representam um verdadeiro avano sobre o estado da arte na engenharia de sistemas complexos. Maneira efetiva de decomposio do espao do problema; A abstrao de agentes so um meio natural de modelar sistemas complexos; Organizam entidades colaborativas de maneira concorrente; Estrutura arquitetural dinmica;
Figura 1: Arquitetura genrica de um Agente. De acordo com uma pesquisa de CASTRO et al. (2006), as seguintes propriedades de agentes devem ser consideradas no seu desenvolvimento:
Autonomia: agir independente de ao humana ou outros objetos; Deliberatividade: tomar decises por informaes vindo do ambiente ou de suas experincias; Reatividade: reagir a estmulos externos;
Organizao: grupo de agentes que trabalham para atingir um objetivo em comum; Socializao: interao com agentes e sistemas multiagente.
Entre as caractersticas de sistemas multiagente so as distribuies de dados e controle dos mesmos, encapsulamento de sistemas legados em agentes e construo de sistemas abertos, ou seja, que no tempo de projeto no existe uma total definio de todos os componentes que interagem com este sistema.
Aplicabilidade
Sistemas multiagente podem ser aplicados em diversas reas, inclusive uma tecnologia que deixa de ser exclusivamente acadmica e est passando a ser usada no mundo real. Entre as reas de aplicao de sistemas multiagente est (WOOLDRIDGE, 2002):
Aplicaes industriais: como sistemas de telecomunicaes, de trfego areo e de transporte; Aplicaes comerciais: presente em sistemas de comrcio eletrnico e gerenciamento de informao; Aplicaes mdicas: para monitoramento de pacientes e plano de sade.
Metodologias de Desenvolvimento
Existem vrias metodologias disponveis. Algumas so baseadas em tcnicas aplicadas a desenvolvimento orientado a objetos e outras, baseadas em Engenharia do Conhecimento. Vale salientar que todo o sistema de software projetado deve ser abstrado sob a tica do paradigma de agentes. As abstraes apresentadas aqui so a
descritas por GIRARDI (2004), segundo as metodologias existentes e como elas tratam o projeto de desenvolvimento de software multiagente; o sistema de software multiagente tratado como uma organizao formada por vrios funcionrios, que desempenham papis para executar aes para soluo dos servios e ou produtos oferecidos por esta organizao. Vale salientar que assim, como as metodologias tradicionais aplicadas a sistemas orientados a objetos, a ESOA tambm produz artefatos. Entre as metodologias orientadas a agentes esto: Tropos, MASCommonKADS, Gaia, Prometheus, PASSI, ADELFE, MESSAGE, INGENIAS, dentre outras. Existem livros disponveis no mercado que podem ser adquiridos nos sites da Biblioteca ACM, editora Elsevier e AMAZON. Quanto metodologia Tropos podem ser obtidas informaes no site www.troposproject.org.
modelo de arquitetura de agentes especfico. Ser descritos algumas das ferramentas mais conhecidas disponveis. A plataforma FIPA-OS baseada em componentes e com suporte a maioria das especificaes da FIPA (Foundation for Intelligent Physical Agents), uma fundao que fomenta a cultura do desenvolvimento de sistemas baseados em agentes. Esta ferramenta pode ser adquirida no site http://fipa-os.sourceforge.net/index.htm. O JADE (Java Agent Development Framework) um framework implementado em Java que, atravs de um middleware, facilita o desenvolvimento de agentes baseado nos padres FIPA. uma ferramenta que pode ser adquirida no site http://jade.tilab.com/. O Aglets uma ferramenta que facilita o desenvolvimento de aplicaes baseadas em agentes mveis; desenvolvida pelo laboratrio de pesquisas da IBM. Disponvel no site http://aglets.sourceforge.net/. O JACK um ambiente de desenvolvimento orientado a agentes que estende a tecnologia Java para suporte a modelo de agentes de arquitetura BDI. Disponvel no site http://aosgrp.com/products/jack/. necessrio licena para adquirir o software.
Ferramentas Case
Quanto a ferramentas CASE a nica ferramenta que foi possvel achar atravs de pesquisas foi ferramentas de suporte a metodologia Tropos, disponveis no site da mesma. Isto no quer dizer que as outras metodologias aqui citadas no disponham de ferramentas, contudo existem livros disponveis venda no mercado sobre as outras metodologias onde, provavelmente, se podem adquirir informaes sobre como obter ferramentas de suporte.
Concluso
Como pode ter sido observado neste artigo existem avanos sendo realizados para que o paradigma de orientao a agentes se torne uma tendncia popular. Isto no implica que sistemas orientados a objetos deixem de existir, pois os sistemas multiagentes so construdos para resolver problemas de sistemas complexos. Como toda tecnologia nova, esta vem sendo validada no ambiente acadmico e cientfico por algum tempo, mas ainda h muito a ser feito, pois necessrio avaliar sua coexistncia com outros paradigmas de software, amadurecimento das metodologias, melhoramento no projeto de sistemas abertos e escalabilidade, j que todo sistema de software tende a evolui. Apesar destes desafios que precisam ser solucionados pde ser observado, ao longo deste artigo e pelas citaes bibliogrficas que, as ferramentas e metodologias disponveis asseguram a construo com sucesso e segura de um sistema de software orientado a agentes. Espero que tenham gostado deste artigo e at o prximo.