agent toolkits rc3

21
Capítulo 3: Agent Toolkits Agent-Based Software Development Michael Luck, Ronald Ashri e Mark d’Inverno Paulo Vitor, Rafael Novello, Renato Ochanato

Upload: rafael-novello

Post on 13-Jul-2015

168 views

Category:

Documents


0 download

TRANSCRIPT

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.

… Generic Toolkit Framework

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 - [email protected]ã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.

Dúvidas?

Obrigado!