1. Capítulo 3:
Agent Toolkits
Agent-Based Software Development
Michael Luck, Ronald Ashri e Mark d’Inverno
Paulo Vitor, Rafael Novello, Renato Ochanato
3. Critérios de seleção dos
Toolkits
Os Toolkits que serão apresentados tiveram sua
seleção baseada em 3 critérios:
Abrangência
Documentação
Comunidade de usuários
4. Generic Toolkit Framework
Representação genérica, e com divisão de
responsabilidades bem definida, que serve como
ponto de partida para a comparação dos Toolkits.
Pode ser entendido como forma de “especificação”
de Agent Toolkit.
6. FIPA
Foundation for Intelligent Physical Agents
FIPA é uma organização de padrões de computação
que promove a tecnologia baseada em agentes e a
interoperabilidade de seus padrões com outras tecnologias
7. ZEUS
- Criado em 1997 pela BTexact Technologies
- Aborda 5 problemas principais de infraestrutura
- Toda comunicação entre agentes é baseada no
protocolo TPC/IP
- Provê um ambiente gráfico para o desenvolvimento
de agentes
- Possui ferramentas de sociedade, de relatórios, de
controle de execução de tarefas e de estatísticas
http://sourceforge.net/projects/zeusagent/
8. RETSINA
- Desenvolvido, desde 1995, pelo instituto de
robótica da Universidade Carnegie Mellon
- Baseado em duas premissas
- Possui quatro tipos de agentes
Integra com o Visual Studio
- Disponibiliza um Agent Name Server
http://www.cs.cmu.edu/~softagents/retsina.html
9. IMPACT
Interactive Maryland Plataform for Acting Together
Universidades de Maryland (EUA), Bar Ilan (Israel),
Koblenz-Landau (Alemanha), Vienna (Australia),
Milão (Italia).
Aplicações Militares:
- Análise de operações logísticas do exercito;
- Simulações de combate;
- Controle de voo
http://www.cs.umd.edu/projects/impact
10. JADE
Java Agent Development Environment
Projeto Open Source mantido pela TILab
Ativo desde 1999
Lista de discussão ativa
- jade-develop@avalon.tilab.com
Versão 4.0.1 de 7/7/10
http://jade.tilab.com
11. JACK
Desenvolvimento:
Princípios
- Extensão da OO para conceitos relacionados a agentes
- Baseado na arquitetura BDI
- Aderente ao FIPA
Ambiente
- Linguagem JACK baseada em Java
- Compilador JACK
- Kernel para agentes JACK
12. JACK
Multi Agentes:
- Comunicação UDP sobre IP, Comunicação via JACK Kernel,
servidor de nomes, coordenação sobre times de agentes.
- IDE de desenvolvimento e monitoração.
13. LIVING MARKETS
Agentes:
Proativos, entidades dirigidas à objetivos capazes de
realizar ações e que compreendem o ambiente.
4 tipos de funcionalidade:
Aplicação, integração, interface e sistema.
Multi Agentes:
LARS, canais de comunicação
Serviços de alto nível divididos em 4 camadas:
- Busca por parceiros, produtos e serviços
- Correspondência entre provedores e clientes de
serviços
- Mecanismos dinâmicos de negociação
- Compensação e liquidação de operações
14. Outros Toolkits
ZEUS, RETSINA e JACK -> arquitetura BDI
- ZEUS -> separação de recursos e modelos de outros
agentes.
- JACK -> sistema de gerenciamento de crenças.
- RETZINA -> infra-estrutura e agendamento e
monitoração.
A conclusão é que deve-se fazer a escolha baseada
em uma variedade de fatores de
facilidade,preferências e requisitos das aplicações.
15. Outros Toolkits
Serviços de baixo nível:
- ZEUS e JACK -> UDP e TCP para comunicação
- IMPACT, living markets e JADE -> RMI
- JADE e living market -> ferramentas de
monitoramento e gerenciamento.
- RETSINA e ZEUS -> Standalone
- IMPACT, living markets, JADE e JACK -> container
16. Outros Toolkits
Serviços de alto nível:
- JADE, RETSINA e ZEUS -> paginas brancas e amarelas
IMAPCT -> paginas amarelas
JACK -> paginas brancas
Comunicação:
JADE, JACK, living market e ZEUS -> FIPA
RETSINA -> KQML
19. Conclusão
O uso de agentes amadureceu bastante e hoje
existem muitas alternativas.
Na escolha de um toolkit para desenvolvimento
baseado em Agentes, é preciso atentar para o
domínio da aplicação e na experiencia existente.
O progresso feito ajudará a tecnologia a se infiltrar no
cotidiano dos projetos de software e o feedback
gerado farará os toolkits ficarem mais robustos.