IMPRIMIR VOLTAR
A. Ciências Exatas e da Terra - 2. Ciência da Computação - 6. Inteligência Artificial e Redes Neurais
DESENVOLVIMENTO DE SISTEMAS MULTIAGENTES BASEADO EM UMA ARQUITETURA ORIENTADA A SERVIÇOS
Carlos Gustavo Oliveira Fernandes 1
Paulo Gurgel Pinheiro 1
Leonardo Ayres de Morais e Silva 1
Vasco Furtado 1
(1. Universidade de Fortaleza / UNIFOR)
INTRODUÇÃO:
A abordagem multiagente tem sido atualmente uma das mais usadas pelos pesquisadores para o desenvolvimento de sistemas inteligentes. A flexibilidade e a capacidade de trabalhar com agentes autônomos garantem, a esse tipo de sistema, uma maior aproximação ao comportamento e inteligência humana.
Para que um sistema multiagente possa ser desenvolvido, a construção deve-se basear em uma plataforma que ofereça suporte aos agentes. Essa plataforma, claro, deve ser disponibilizada pela equipe e implantada ao sistema. 
A implantação da plataforma ocasiona uma série de exigências que deve ser levada em consideração ao se desenvolver o projeto. A primeira delas é o fato de ser obrigatória a aquisição de uma versão da plataforma e a segunda é que a equipe de desenvolvimento passa a ter a obrigação de conhecer a plataforma para implementá-la junto ao sistema e construir seus agentes.
Nesse trabalho, vamos propor uma arquitetura que possibilite o acesso a uma plataforma multiagente através do uso de web services, extinguindo tais problemas de desenvolvimento. Em particular, usaremos o ExpertCop, um sistema multiagente de segurança pública,  como estudo de caso e  como ambiente para demonstração dos resultados obtidos com o uso da nova arquitetura.
METODOLOGIA:
Com base nos problemas estruturais encontrados no desenvolvimento de sistemas multiagente, propomos uma arquitetura para oferecer o controle de agentes para outros usuários. Baseado em web services, a Arquitetura Multiagente Orientada a Serviço (AMOS) disponibiliza serviços de controle de agentes e gerencia de comunicação para demais sistemas multiagentes. A arquitetura consiste em agrupar num único servidor todas as implementações referentes ao uso das plataformas gerenciadoras de agentes. Comandos, como: a criação de containers, configuração de comunicação, criação e eliminação dos agentes, passam a ser transformados em serviços e disponibilizados através de web services.
Desenvolvida em camadas a arquitetura apresenta duas principais. A primeira é a própria plataforma multiagente. Em particular, utilizamos o JADE (Java Agent DEvelopment Framework) [Tilab (2000)], para implementar o servidor multiagente. Essa camada é a base para que as demais partes da arquitetura possam ter acesso às implementações de agentes e de comunicação. 
A segunda camada é formada pelo repositório de serviços web. Tal repositório aloca todos os serviços multiagente que serão disponibilizados para os desenvolvedores de outros sistemas.
Para testarmos a arquitetura usamos o ExpertCop, um sistema multiagente de simulação, que originalmente  faz uso dos códigos da plataforma JADE, sem usar os serviços da nova arquitetura, sendo assim denominado, até então,  de não orientado a serviço.
RESULTADOS:

No ExpertCop, a utilização da plataforma JADE foi realizada nos dois diferentes modelos de desenvolvimento: não orientado a serviço (com o uso da plataforma diretamente na aplicação) e no  modelo proposto.
A utilização do modelo não orientado a serviços, obrigou a instalação da plataforma em cada uma das máquinas de cliente. Para um laboratório com 40 máquinas, 40 plataformas foram adquiridas.
Para o desesenvolvimento, sob esse contexto, não orientado a serviço, foi necessário o uso direto da plataforma, obrigando a equipe a ter o conhecimento da ferramenta para implementar seus métodos de interações com os agentes.
O ExpertCop orientado a serviço, utilizando a arquitetura proposta, ficou independente das implementações da plataforma,  aumentando a produtividade através dos  acessos aos web services do servidor. Nesse contexto, para as 40 máquinas apenas uma plataforma foi usada, a do próprio servidor.
Quanto à performance, foram levantados os tempos de inicialização da plataforma nas duas versões.  Com a AMOS, o tempo de inicialização da plataforma foi, aproximadamente, 31% maior que o tempo do modelo não orientados a serviço. Porém, na AMOS, a plataforma, por ser única, só será inicializada uma única vez, gastando um tempo, aproximadamente, de  2,5 segundos. O modelo não orientado a serviço foi 0,6 segundos mais rápido, porém exigiu o prévio conhecimento da plataforma pela equipe, além de tornar o sistema dependente da plataforma usada.

CONCLUSÕES:
Em sistemas multiagentes, o uso da arquitetura multiagente orientada a serviço, possibilitou a desobrigação da aquisição de uma plataforma multiagente. Apenas uma plataforma é estabelecida, sendo ela, fornecida pela arquitetura via web services. Assim, sistemas que possuem vários clientes passam a acessar uma única camada servidora de agentes para quantos forem os acessos.
Atualmente, a plataforma usada, é gratuita, porém tal fato pode vir no futuro a se modificar com a ativação de cobrança de licenças. Nessa ocasião, o uso da AMOS se tornará ainda mais pertinente, uma vez que, apenas uma licença precisará ser comprada.
Concluímos também que as equipes de desenvolvimento dos sistemas multiagente que fazem uso da arquitetura proposta não precisam conhecer a ferramenta multiagente e tão pouco tê-la para sua implementação. A criação de interações entre agentes é feita de forma simples, através do acesso a web services, não precisando das APIs das plataformas para construção do software.
O uso de web services resultou em uma enorme flexibilidade estrutural, uma vez que, não importa em que ambiente a aplicação está inserida. Sistemas desenvolvidos em diferentes linguagens e sobre os mais diversos sistemas operacionais podem acessar os serviços, tendo como única exigência o acesso à internet.
Por fim, concluímos que o uso de tal arquitetura contribui para o reuso de código, aumentado a produtividade no desenvolvimento de sistemas multiagentes.
Instituição de fomento: CNPq
Trabalho de Iniciação Científica  
Palavras-chave: Multiagente; Web Services; Plataforma de Agentes.
Anais da 58ª Reunião Anual da SBPC - Florianópolis, SC - Julho/2006