IMPRIMIR VOLTAR
A. Ciências Exatas e da Terra - 2. Ciência da Computação - 6. Inteligência Artificial e Redes Neurais
GERENCIAMENTO MULTIAGENTE PARA SIMULADORES WEB
Paulo Gurgel Pinheiro 1
Carlos Gustavo O. Fernandes 1
Leonardo Ayres de Morais e Silva 1
Vasco Furtado 1
(1. Universidade de Fortaleza / UNIFOR)
INTRODUÇÃO:

Atualmente, o desenvolvimento de simuladores computacionais, com o uso da abordagem multiagente, vem sendo cada vez mais usado. O uso de agentes autônomos, com comunicação definida e comportamentos específicos, faz com que aplicações que usam frameworks de controle de agentes, consigam representar nas simulações, o mundo real de forma mais semelhante.
Porém um dos grandes desafios da utilização de plataformas multiagentes está na alocação e gerência dos agentes que deve ser definida pelos desenvolvedores do sistema. Nesse ponto, algumas questões são levantadas; são elas: como alocar e organizar os agentes dos usuários nas plataformas, como realizar migrações, como executar o controle de usuários e como realizar a comunicação de agentes para os diferentes tipos de aplicação.
Neste trabalho, propomos uma arquitetura inteligente capaz de escolher uma estratégia de alocação e gerência de agentes, de acordo com a complexidade e necessidade da aplicação. A arquitetura é capaz de escolher uma entre três gerências disponíveis na arquitetura para ser usada na aplicação, principalmente em simuladores em ambiente web.
Tal proposta utiliza o JADE (Java Agent DEvelopment Framework) [Tilab (2000)] como plataforma multiagente e sua abordagem de containers (espaços alocados na plataforma para organização dos agentes). Por fim, usamos o Expertcop, um simulador multiagente de segurança publica, como ambiente para a demonstração dos resultados obtidos com o uso da nova arquitetura.

METODOLOGIA:
A arquitetura proposta foi desenvolvida para simuladores em ambiente web, uma vez que estes, geralmente, apresentam dois grandes desafios: número elevado de agentes e usuários distribuídos.
Desenvolvida em camadas, a arquitetura possui uma interface de entrada de parâmetros, uma camada de serviços e regras que serão usadas pelos desenvolvedores e uma camada superior composta pelos frameworks multiagentes, no caso JADE.
Três políticas de alocação foram implementadas na arquitetura: (1) “uma única plataforma será criada e cada usuário terá o seu container”, (2) “uma única plataforma será criada e apenas um container será criado para todos os usuários” e (3) “uma plataforma será criada para cada usuário”.
Para a escolha da política correta é necessário levantar informações sobre a aplicação que está sendo desenvolvida. Número de usuários, quantidade de agentes/usuário, tipo de comunicação, necessidade de tratamento de nomes (agentes de nomes iguais, mas de usuários diferentes) e se a aplicação possui ou não migração de agentes.
Após os parâmetros serem passados, a arquitetura executa os testes de desempenho para as três políticas, ou seja, são simuladas as três técnicas e armazenadas as métricas de tempo de inicialização, tempo de troca de mensagem e tempo de migração (se houver), em arquivo.
Sob esse contexto, testaremos o uso da arquitetura, analisaremos os seus testes e as diferenças entre o modelo de implementação com o uso da arquitetura e sem o seu uso.
RESULTADOS:
Para testarmos a arquitetura usamos o ExpertCop, um sistema multiagente de simulação em ambiente web, que possui em média 10 clientes simultâneos, com 30 agentes cada, sem migração em um servidor Pentium 4, 3.2Ghz, 512mb de memória RAM.
O teste automático da arquitetura, aplicando a política 01, teve um desempenho de 9,52s (segundos) de inicialização da plataforma e 0,200s para troca de mensagens. Aplicando a política 02, o desempenho foi o mesmo para inicialização da plataforma, e troca de mensagens em 0,110s. Mais rápida que a primeira técnica pelo fato de existir, agora, somente um container. Aplicando a política 03 (cada usuário possui uma plataforma inteira) o tempo foi de 11s e troca de mensagens de 0,300s, inviável de ser aplicada.
Baseando-se nas melhores métricas apresentadas, a técnica 02 foi associada ao nome da aplicação e gravada em arquivo.
Com o uso da arquitetura inteligente, a equipe desenvolvedora apenas precisou executar os testes automáticos e implementar a aplicação usando os métodos da arquitetura (mesmas assinaturas do framework JADE), sem se preocupar, nem com alocação, gerência e muito menos com que técnica que foi escolhida.
Já o desenvolvimento do sistema Expertcop, sem o uso da arquitetura, obrigou a equipe a ter o conhecimento da ferramenta multiagente para implementar toda a técnica de controle de agentes, semelhante a que já vem implementada por completo pela arquitetura proposta e atestada pelos testes na fase de desenvolvimento.
CONCLUSÕES:
Com o uso da arquitetura inteligente de gerência, as aplicações tiveram a disposição três políticas bem definidas de alocação e controle de agentes. Tais políticas, orientadas a containers e plataformas, já vêm implementadas pela arquitetura, onde através do teste automático (realizado previamente pela própria arquitetura) e dos atributos passados pelos desenvolvedores (aplicação usuária) é possível analisar as performances de cada uma das políticas de gerência. Assim foi possível demonstrar que a arquitetura é capaz de escolher dentre as três políticas de alocação e gerência, a melhor, baseando-se nas métricas de desempenho do teste automático.
Concluímos também, que o uso da arquitetura proposta, possibilita que os desenvolvedores de sistemas multiagentes, como o Expertcop, possam abstrair o controle de gerência e alocação dos agentes, podendo se preocupar mais com o domínio da própria aplicação. Dessa forma, as equipes não precisam conhecer as especificidades da gerência multiagente e nem implementar políticas de controle, tarefas muitas vezes demorada e complexa. Para simuladores em ambiente web, a arquitetura é fundamental, uma vez que é capaz de gerenciar e organizar os agentes de acordo com os usuários da aplicação.
Por fim, é fato que novas políticas de alocação podem ser integradas à arquitetura, tornando-a mais adaptativa a outros sistemas (como simuladores), aumentando o reuso de código e contribuindo, para o aumento da produtividade de sistemas multiagentes.
Instituição de fomento: CNPq
 
Palavras-chave: Multiagente; JADE; Simulação.
Anais da 58ª Reunião Anual da SBPC - Florianópolis, SC - Julho/2006