Agentes Cognitivos Adaptativos Aula: Sistemas Baseados em Regras de Produção Flávia Barros 1.
Modelos Baseados em Agentes
description
Transcript of 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)
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?
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)
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...
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
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
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
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
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
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
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!!!!
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
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
DIMAp/UFRNDIMAp/UFRN
MadKitMadKit
• Multi-Agent Development Kit– Baseado no modelo Aalaadin (organização)
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
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
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)
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