View
169
Download
0
Category
Tags:
Preview:
Citation preview
Capítulo 3:Agent Toolkits
Agent-Based Software Development
Michael Luck, Ronald Ashri e Mark d’Inverno
Paulo Vitor, Rafael Novello, Renato Ochanato
Introdução
Contextualização
A definição de Agent Toolkit
O objetivo do capítulo
A definição de Agent Toolkit
O objetivo do capítulo
Critérios de seleção dos Toolkits
Os Toolkits que serão apresentados tiveram sua seleção baseada em 3 critérios:
AbrangênciaDocumentaçãoComunidade de usuários
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.
FIPAFoundation for Intelligent Physical Agents
FIPA é uma organização de padrões de computaçãoque promove a tecnologia baseada em agentes e ainteroperabilidade de seus padrões com outras tecnologias
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/
RETSINA
- Desenvolvido, desde 1995, pelo instituto de robótica da Universidade Carnegie Mellon- Baseado em duas premissas- Possui quatro tipos de agentesIntegra com o Visual Studio- Disponibiliza um Agent Name Server
http://www.cs.cmu.edu/~softagents/retsina.html
IMPACTInteractive 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
JADEJava Agent Development Environment
Projeto Open Source mantido pela TILabAtivo desde 1999Lista de discussão ativa - jade-develop@avalon.tilab.comVersão 4.0.1 de 7/7/10
http://jade.tilab.com
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
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.
LIVING MARKETSAgentes: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çãoServiç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
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.
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
Outros Toolkits
Serviços de alto nível:
- JADE, RETSINA e ZEUS -> paginas brancas e amarelasIMAPCT -> paginas amarelasJACK -> paginas brancas
Comunicação:
JADE, JACK, living market e ZEUS -> FIPARETSINA -> KQML
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.
Recommended