Modelos Baseados em Agentes

18
DIMAp/UFRN DIMAp/UFRN Modelos Baseados em Modelos Baseados em Agentes Agentes Prof. André Campos Aula #15 Plataforma Plataforma s s Multi- Multi- Agente Agente Baseado no curso de Olivier Boissier (ENS Mines St. Etienne, Baseado no curso de Olivier Boissier (ENS Mines St. Etienne, F

description

Modelos Baseados em Agentes. Plataformas Multi-Agente. Prof. André Campos Aula #1 5. Baseado no curso de Olivier Boissier (ENS Mines St. Etienne, França). Problema. O interesse em SMA tem crescido, porém Linguagens orientadas a agentes são ainda raras ou em estágio de maturação - PowerPoint PPT Presentation

Transcript of Modelos Baseados em Agentes

Page 1: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Modelos Baseados em AgentesModelos Baseados em Agentes

Prof. André CamposAula #15

PlataformasPlataformasMulti-AgenteMulti-Agente

Baseado no curso de Olivier Boissier (ENS Mines St. Etienne, França)Baseado no curso de Olivier Boissier (ENS Mines St. Etienne, França)

Page 2: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

ProblemaProblema

• O interesse em SMA tem crescido, porém– Linguagens orientadas a agentes são ainda raras ou

em estágio de maturação– O desenvolvimento de SMA se apóia em linguagens e

paradigmas de programação existentes (em geral O-O)– A implementação de SMA em O-O é complexa

(distribuição, protocolos de comunicação etc)

• Conseqüência = surgimento de várias ferramentas dando o suporte ao desenvolvimento SMA– Existem centenas (ver, por exemplo

www.agentlink.org ou www.multiagent.org )

• Problema = qual utilizar?

Page 3: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Necessidades das Necessidades das ferramentasferramentas

• Suporte à implementação de agentes– Interação com o ambiente (sensores etc)– Comunicação (padrões, yellowpages, ACL etc)– Protocolos de negociação, cooperação etc

• Suporte ao design do SMA– Análise (descrição do problema etc)– Design (arquiteturas com protocolos de interação

etc)– Desenvolvimento (plataformas, frameworks etc)– Deployment (configuração, manutenção etc)

• Suporte ao usuário final– Segurança (confiabilidade, integridade etc)

Page 4: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Padrões em SMAPadrões em SMA

• FIPA – Foundation for Intelligent Physical Agents– Especificações de interfaces de componentes do

ambiente com as quais os agentes interagem• Ex.: usuários, outros agentes, ambiente físico (robôs)

etc

• MASIF – OMG (Object Management Group)– Padronização de agentes móveis– Serviços e interfaces de middleware

• DARPA Knowledge Sharing• Outros...

Page 5: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Visão geral de FIPAVisão geral de FIPA

• Objetivo– Criar padrões internacionais que promovam a

interoperabilidade entre agentes heterogêneos

• Estrutura– Quadro Arquitetural da FIPA, Comitês técnicos,

Grupos de trabalho

• Fundado em 1996– British Telecom, France Télécom, Fujitsu, HP, Hitachi, IBM,

Imperial College, Intel, Motorola, Nasa, Nec, Nortel Networks, NTT, Philipps, Siemens, SNCF, SUN, Telecom Italia, Toshiba, ...

• Primeiros padrões em 1997 – FIPA’97. Depois FIPA’98, FIPA’2000

Page 6: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Especificações de FIPAEspecificações de FIPA

• Última versão (FIPA’2000)• Padrões nas seguintes áreas (~80)

– Linguagem, conteúdo (semântica), protocolos de interação, diretório de serviços, ...

• 2 tipos de especificações– Normativa

• Especificações obrigatórias, assegurando a interoperabilidade entre outros sistemas FIPA

– Informativa• Especificações-guias sobre como utilizar tecnologias

desenvolvidas de acordo com as normas da FIPA

Page 7: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Quadro de especificaçõesQuadro de especificações

• Aplicações• Arquitetura abstrata• Gerenciamento dos agentes• Comunicação dos agentes

– Protocolos de interação– Atos de comunicação– Linguagens de conteúdo

• Transporte de mensagem– Representação ACL (Agent Comunication Language)– Representação dos envelopes– Protocolos de transporte

Page 8: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Plataformas FIPAPlataformas FIPA

• Para que uma plataforma seja considerada FIPA-compliant no mínimo: AMS e ACL

• Gerenciamento de agentes (AMS)– Autenticação, Recursos, “páginas brancas”

(naming)

• Comunicação (ACL)– Diretório de agentes (páginas amarelas)– Canal de comunicação (ACC)– transporte de mensagens

• Serviços opcionais– Ontologia, Interação H-M etc

AMS

PA

Transporte (ACC)HTTP

Page 9: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Interoperabilidade entre Interoperabilidade entre plataformasplataformas

• Comunicação entre agentes pode ocorrer– Internamente no seio na mesma plataforma– Entre plataformas – usa ACC e transporte de

mensagem

• Cada plataforma pode– Estar implementada em linguagem diferentes– Possuir arquiteturas diferentes– Suportar diferentes funcionalidades

• Porém possuem– Mesmos serviços de transporte– Mesma linguagem de comunicação

Page 10: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Tipos de plataformasTipos de plataformas

• Suporte às diferentes fases de elaboração de um SMA

• Design– Em geral baseadas em componentes– Middlewares

• Design + Implementação– Facilita a definição dos agentes– Frameworks

• Design + Implementação + Testes

• Análise + Design + Imp. + Testes

Análise

Design

Implementação

Teste e validação

Page 11: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Exemplos de plataformasExemplos de plataformas

• JADE (Java Agent Development Framework)• MadKit (Multi-Agent Development Kit)• Zeus• Outros

– ADE, ADK, Agent Factory, AgentBuilder, AgentTool, Aglets, Bee-gent, BOND, DECAF, DIET, DIVA, EVO, Hive, IMPACT, Jack, JAFMAS, JIAC, JINI, Knowbot, LIME, MAGE, MAML, RETSINA, SOAR , TuCSoN, VOYAGER,...

– ... e muito mais!!!!

Page 12: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

JADEJADE

• Java Agent Development Framework– Open source– Conforme especificações da FIPA (uma das primeiras ferramentas)

• Análise e Design– N/A

• Implementação– Um agente em JADE é instância de uma subclasse da classe

“Agent”– Inclui uma biblioteca de protocolos de interação e comportamentos

gerais de agentes (podem ser configurados)

• Deployment– Alguns utilitários são fornecidos

• RMA (Remote Monitoring Agent) permite o controle do ciclo de vida dos agentes à distância

• DummyAgent permite configurar como o usuário interage com os agentes

Page 13: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Modelo de comunicação em Modelo de comunicação em JADEJADE

• Agentes enviam/recebem objetos (Java) que representam mensagens ACL no escopo de um protocolo de interação

• Usuários não se preocupam em codificar mensagens– Níveis de envelope, ACL, Linguagem de

Conteúdo e Ontologia– Pode ser estendido

• Biblioteca de protocolos de interação– Usuários precisam apenas implementar métodos

pré-definidos– Ex.: Rede de contrato

Page 14: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

MadKitMadKit

• Multi-Agent Development Kit– Baseado no modelo Aalaadin (organização)

Page 15: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

MadKitMadKit

• Análise– N/A

• Design– Definição de modelos organizacionais (grupos, papéis,...),

modelo de interação (protocolos, mensagens,...), tarefas, objetivos

– Não há software que dê suporte à definição de tais modelos

• Implementação– Baseado na estrutura Agent-Micro Kernel

• Deployment– Uso de G-box

Page 16: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

ZeusZeus

• Versões inicial (1.02)– Open source (Mozilla)

• Última versão fechada: British Telecom• Análise

– Modelagem de papéis através de UML– Forte ênfase na metodologia

• Design– Zeus Agent Model

• Implementação– Baseado em ferramentas gráficas (ontologia, agente,

configuração de tarefas dos agentes etc)

• Deployment– Ferramentas de visualização e monitoramento dos agentes

Page 17: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Desenvolvimento em ZeusDesenvolvimento em Zeus

• 3 bibliotecas– Agentes utilitários– Ferramentas de construção

de agentes– Biblioteca de componentes

de agentes

• Definição gráfica dos agentes e serviços, em seguida pode-se gerar código (Java)

Page 18: Modelos Baseados em Agentes

DIMAp/UFRNDIMAp/UFRN

Passos de Passos de desenvolvimentodesenvolvimento

• Criação de uma ontologia– Conhecimento declarativo dos conceitos

significativos dentro de um domínio de aplicação (Zeus Ontology Editor)

• Criação de agentes– Definição de agentes de tarefa (específico da

aplicação)

• Configuração dos agentes utilitários• Configuração dos agentes de tarefa

(parâmetros de execução)• Implementação

– Geração de código automático