1 Agentes Inteligentes e Sistemas Multi-agente FIPA IST- 2003/2004 Ana Paiva.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Ciclo de vida e organização do projeto
Electronic Data Interchange
Introdução aos Sistemas Distribuídos
Rational Unified Process
1 ZEUS Agentes Inteligentes e Sistemas Multi-agente Ferramentas de Contrução de Agentes IST- 2003/2004 Ana Paiva.
ATSI ExtendingAndFormalizingTheFrameworkForInormati onStyleArchitecture Alunos: Manuel Mendes- nº49703 Francisco Silva – nº51298 Cristina Fraga- nº51383.
Metodologias Equipe do Curso de ES para SMA
Viviane Torres da Silva
Comunicação Distribuída
Web Services Erika Hmeljevski Estefania Borm Leonardo Malagoli
Modelos Baseados em Agentes
Metodologias Orientadas a Agentes
Interação Cliente Servidor
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
JADE Java Agent DEvelopment Framework
DAS Sistemas Distribuídos para Automação Industrial
Engenharia Concorrente
Mobilidade na Internet
Sistemas Distribuídos
Introdução a Arquitetura Orientada a serviços
Tópicos de Sistemas de Informação A
Middleware e Sistemas Distribuídos
Software de Rede Willamys Araújo.
Sistemas Distribuídos
Web Services Uninorte Semana de Tecnologia da Informação
CORBA e Desenvolvimento Baseado em Componentes
Análise e Projeto de Sistemas
O Uso de Objetos de Aprendizagem nos Processos Educativos
Marcela Bezerra da Silva Cin - UFPE
Roteiro Agentes Trabalhando Juntos Coordenação em SMA
Sistemas Especialistas
Professor: Márcio Amador
FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
TMV Gestão de Redes e de Sistemas Distribuídos ???? Sumário  Arquitectura de Gestão SNMP  Arquitectura de Gestão OSI/TMN  Novas Arquitecturas.
Planejamento de estratégias:
Profª: Adriana Vettorazzo
Agentes Inteligentes e Sistemas Multi- agente (UD 8) Comunicação IST- 2004/2005.
Banco de Dados Aplicado ao Desenvolvimento de Software
RPC and Web Service André Pereira.
Comunicação.
X.400 Liane Tarouco. Sistemas de mensagens Sistemas e serviços de tratamento de mensagens habilitam os usuários a trocar mensagens na base do armazena-e-envia.
Inteligência Artificial Web Semântica
Agentes Inteligentes e Sistemas Multi- agente (UD5) Construção de Sociedades de Agentes IST- 2004/2005.
Laboratório de Programação
Trabalho de Engenharia de Software II
Gestão SNMP. Planeamento Montagem e Manutenção de Redes e Equipamentos Informáticos 2 SNMP- Simple Network Management Protocol Nos primeiros dias da Arpanet,
Comunicação em Sistemas Multiagentes
Integração de Ferramentas CASE
Modelo OSI Disciplina: Comunicação de Dados Ricardo Bento 12ºL nº11.
Fundamentos de linguagens de programação
Linguagem de Modelagem Unificada
WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.
Infra-Estrutura para Computação Distribuída
Agentes Inteligentes e Sistemas Multi- agente (UD 8) Comunicação IST- 2004/2005.
Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.
Capítulo 6: SAD – Arquitetura e aspectos de rede e segurança
Protocolos de Cooperação Contract Net Systems Partial Global Planning Negociações.
Unified Modeling Language
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
TCP/IP.
III – Aplicações – Serviços Virtuais – Web Services Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018 O Produto Internet e suas.
Projeto de Banco de Dados
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
Aula: Arquiteturas de redes: modelo de referência OSI 04/12/2010.
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

1 Agentes Inteligentes e Sistemas Multi-agente FIPA IST- 2003/2004 Ana Paiva

A. Paiva Sumário  A estrutura da FIPA  Alguns Parceiros da FIPA  Especificações -FIPA-ACL  Plataformas FIPA (amanhã): -FIPA-OS  Cooperação entre agentes: -Contract-NET (breve) FIPA = Federação InterPlanetária Anónima??? João Leonardo Carmo - IAA - LEIC - IST /03

A. Paiva  FIPA é o acrónimo de Foundation for Intelligent Physical Agents  Criada em 1996 e localizada em Genebra, na Suíça, é uma associação sem fins lucrativos  Tem como objectivo a promoção de standards de software (especificações) e de tecnologias que facilitem comunidades de agentes heterogéneos e sistemas baseados em agentes a interactuar entre si  Para atingir estes objectivos, a FIPA cria, divulga e gere especificações por forma maximizar a interoperabilidade entre estes sistemas heterogéneos de agentes João Leonardo Carmo - IAA - LEIC - IST /03 FIPA???

A. Paiva  Na produção dos ditos standards, a FIPA recorre também à comunidade dos seus membros (empresas associadas), realizando periodicamente sessões de reuniões com os mesmos (4 vezes por ano)  Juntos, tentam desenvolver formas para que agentes criados em plataformas de empresas e comunidades diferentes consigam comunicar e inter-operar entre si  A juntar a este grupo estão outras organizações de standards como a Object Management Group (OMG) FIPA???

A. Paiva  A FIPA está organizada e estruturada em dois grupos: -Grupo Administrativo -Grupo Técnico  O Grupo Administrativo da FIPA é responsável por toda a gestão e bom funcionamento da empresa  Por sua vez, o Grupo Técnico é responsável pelo desenvolvimento das especificações da FIPA A estrutura da FIPA

A. Paiva Grupo AdministrativoGrupo Técnico A estrutura da FIPA

A. Paiva  Do Grupo Técnico destacam-se três entidades: -os Comités Técnicos, que produzem trabalho técnico e escrevem as especificações da FIPA -os Grupos de Trabalho, que se encarregam de outros aspectos no trabalho da FIPA, como coordenar actividades de implementação ou centrarem-se mais sobre uma determinada aplicação -as duas entidades anteriores juntas formam o Conselho de Arquitectura -finalmente, os Grupos de Interesses Especiais, que desempenham um papel preponderante ao auxiliarem a FIPA com trabalho que é do interesse desta, como estarem atentos a novas tecnologias que poderão evoluir para standards (Agentcities - rede aberta de vários serviços de agentes, faculdades, etc.) A estrutura da FIPA

A. Paiva  ADETTI - Lisboa / Portugal  Boeing – Delaware / Estados Unidos  BOSCH - Hildesheim / Alemanha  British Telecommunications - Londres / Reino Unido  France Telecom - Paris / França  Fujitsu - Tóquio / Japão  Hewlett-Packard - Estados Unidos  IBM - Armonk / Estados Unidos  Intel – Hilsboro / Estados Unidos  Mitsubishi Electric - Kanagawa / Japão  Motorola - Schaumburg / Estados Unidos  NASA - Greenbelt / Estados Unidos  Siemens - Munique / Alemanha  Sun Microsystems – Palo Alto / Estados Unidos  Toshiba - Tóquio / Japão  Unisys - Tóquio / Japão Alguns parceiros da FIPA

A. Paiva  Tipos de Especificações  Identificadores de Especificações  Ciclo de vida de uma Especificação  Estrutura de uma Especificação -FIPA-ACL Especificações

A. Paiva  Existem dois tipos de especificações: -especificação de componentes -especificação de perfis  Uma especificação de componentes descreve uma especificação lógica para uma tecnologia ou para um grupo intrínseco de tecnologias  Por sua vez, uma especificação de perfis descreve como um conjunto de especificações de componentes pode ser usado para definir colectivamente uma entidade mais avançada Especificações

A. Paiva  Cada especificação da FIPA é representada por um identificador de especificação.  Existem cinco tipos de identificadores, um por estágio no ciclo de vida da especificação. Identificadores de Especificações

A. Paiva  As especificações da FIPA são publicadas de acordo com a sua posição no ciclo de vida de uma especificação.  Pretende-se com o ciclo de vida monitorizar e registar o progresso de uma dada especificação desde a sua concepção até ao fim do seu papel, seja este o de standard ou de especificação obsoleta. Ciclo de vida de uma Especificação

A. Paiva  Preliminar: um “esboço” de uma especificação ainda em construção (Ex: PC00035 => lê- se “especificação de componente preliminar nº 00035”) PreliminarExperimentalStandardObsoleta Desaprovada Ciclo de vida de uma Especificação

A. Paiva  Experimental: uma especificação preliminar que foi aprovada para o nível experimental, pois é estável por um período de pelo menos dois anos e está agora pronta para ser proposta como standard. (Ex: XC00035) PreliminarExperimentalStandardObsoleta Desaprovada Ciclo de vida de uma Especificação

A. Paiva  Standard: uma especificação experimental que foi implementada com sucesso em várias plataformas de agentes de acordo com as normas da FIPA, evolui para o estatuto de Standard, e é formalmente publicada pela FIPA (Ex: SC00035)  Depois de chegar a standard, a especificação só pode sair deste estado se deixar de ser necessária, altura em que é colocada no estado de Desaprovada PreliminarExperimentalStandardObsoleta Desaprovada Ciclo de vida de uma Especificação

A. Paiva  Desaprovada: uma especificação standard que foi identificada como sendo potencialmente desnecessária para os standards da FIPA (Ex: DC00035)  Possivelmente devido à evolução tecnológica ou mesmo à evolução de outros standards ou especificações da FIPA  Se ao fim de 6 meses de permanência neste estado, a especificação continuar a ser considerada como potencialmente desnecessária, então avançará para o estado de Obsoleta, caso contrário retornará ao estatuto de Standard PreliminarExperimentalStandardObsoleta Desaprovada Ciclo de vida de uma Especificação

A. Paiva  Obsoleta: uma especificação Desaprovada que foi identificada e comprovada como sendo desnecessária para os standards da FIPA (Ex: OC00035) PreliminarExperimentalStandardObsoleta Desaprovada Ciclo de vida de uma Especificação

A. Paiva Arquitectura Abstracta Sistema de Transporte de Mensagens do Agente Sistema de Gestão do Agente Sistema de Comunicações do Agente Aplicações baseadas em Agentes Estrutura de uma Especificação

A. Paiva  Arquitectura Abstracta: é a responsável por todas as entidades abstractas necessárias para o desenvolvimento de sistemas baseados em agentes. Faz a distinção entre as entidades que são facilmente representadas de uma forma abstracta (como por exemplo o FIPA ACL) dos elementos que não são genéricos a todos os sistemas de agentes (como a mobilidade do agente ou o sistema de gestão do mesmo)  Na prática, a Arquitectura Abstracta da FIPA é a parcela comum a todas as plataformas de agentes que a implementam e que são compatíveis com as suas especificações, como é o caso do FIPA-OS, JADE e ZEUS  Sistema de Transporte de Mensagens do Agente: é o responsável pela entrega e pela representação de mensagens no seio de ambientes e redes heterogéneas com diferentes protocolos de transporte Estrutura de uma Especificação

A. Paiva Plataforma de Agentes Agente A Agente B Plataforma de Agentes Message Transport Service (MTS) Mensagem ACL sobre MTSMessage Transport Protocol (MTP) Estrutura de uma Especificação

A. Paiva  Sistema de Gestão do Agente: providencia a framework dentro da qual os agentes FIPA existem e operam. Estabelece o modelo lógico de referência para a criação, registo, localização, comunicação, migração e eliminação de agentes Estrutura de uma Especificação

A. Paiva Aplicação Aplicação de Agentes Agente Sistema de Gestão de Agentes (White Pages) Directory Facilitator (DF) (Yellow Pages) Message Transport Service (MTS) Plataforma de Agentes Estrutura de uma Especificação

A. Paiva  Sistema de Comunicações do Agente: a comunicação entre agentes FIPA é baseada num modelo que assenta basicamente na grande qualidade semântica das mensagens, ou seja, toda a comunicação encontra-se pré-definida e enriquecida semânticamente para que seja bem entendida por todos os agentes  A base da comunicação entre agentes FIPA é conseguida atrabés do uso de actos comunicativos ou performativas, como request, inform ou refuse, independentes do conteúdo global da mensagem em si Estrutura de uma Especificação

A. Paiva  A mensagem que é fornecida ao agente juntamente com o acto comunicativo está “embrulhada” num envelope bem especificado, envelope esse denominado de Envelope de Linguagem de Comunicação de Agentes, ou Envelope ACL (Agent Communication Language)  Uma ACL providencia mecanismos para adicionar contexto ao conteúdo das mensagens e ao acto comunicativo, tais como identificar o emissor e o receptor, a ontologia, a linguagem e o protocolo de interacção da mensagem, entre outros  Graças a uma ACL, agentes de sistemas heterogéneos conseguem comunicar entre si, uma vez que a definição da ACL é uma definição abstracta e bastante genérica (definida na Arquitectura Abstracta) FIPA-ACL

A. Paiva  Cada agente interpreta a mensagem consoante os seus meios internos, mas a comunicação e transmissão de dados, graças à FIPA-ACL, está standardizada, sendo genérica a todos os agentes FIPA  O conteúdo concreto da mensagem é expresso numa linguagem de conteúdo, tal como a linguagem semântica FIPA (SL), KIF (Knowledge Interchange Format) ou RDF (Resource Description Framework), por exemplo  A FIPA-ACL foi baseada originalmente no ARCOL com uma série de revisões do KQML FIPA-ACL

A. Paiva FIPA-ACL Actos Comunicativos

A. Paiva  Assertives: inform, refuse, failure, etc…  Directives: request, query-reg, etc…  Commissives (compromissos): agree  Expressives (expressões de interesse): subscribe São tipos básicos de conversação (actos comunicativos) Protocolo: mensagens ocorrem em padrões, denominados conversas ou diálogos (ex: fipa-request, fipa-cfp) FIPA-ACL Actos Comunicativos e protocolos

A. Paiva (request :sender luis :receiver tio-ze :content (inform-if :sender tio-ze :receiver luis :content "(tempo alentejo chuva)" :language sl :ontology meteorologia) :language sl :reply-with query-1234) (inform :sender tio-ze :receiver luis :content "(not (tempo alentejo chuva))" :language sl :ontology meteorologia :in-reply-to query-1234) FIPA-ACL Comunicação entre dois agentes

A. Paiva FIPA-ACL: Comunicação entre dois agentes

A. Paiva FIPA-ACL O Envelope ACL

A. Paiva FIPA-ACL O Envelope ACL  Ontologia: define os termos, as relações entre os termos e as operações sobre esses termos num dado contexto (domínio) (Ex: meteorologia)  Conteúdo: representa o conteúdo da mensagem (o exemplo do Tio Zé!)  Linguagem: representa a linguagem utilizada no conteúdo da mensagem, que define as condições, regras e operações genéricas para que se possa inferir algo do conteúdo da mensagem (Ex: SL, RDF, KIF, …)

A. Paiva Plataformas FIPA

FIPA-OS  A plataforma FIPA-OS foi a primeira implementação Open Source da FIPA  OS significa... Adivinharam! Open-Source!  Iniciada em Agosto de 1999  Tipos de agentes básicos suportados: -Reactivo: reage a mensagens ACL provenientes de outros agentes no ambiente -Proactivo: o agente consegue decidir quando deve iniciar a interacção com outros agentes (só para objectivos simples, como registar-se num servidor de registo!) -Social: reactivo e proactivo -Autónomo: cada agente possui várias threads de controlo

A. Paiva FIPA-OS

A. Paiva FIPA-OS  Qualquer plataforma FIPA contém: -Directory Facilitator (DF): Tipo de agentes que fornecem o serviço de “páginas amerelas” a outros agentes (localização de serviços e serviços de registo) -Agent Management System (AMS): gere o ciclo de vida de um agente na plataforma, enquanto providencia serviços de “páginas brancas” a outros agentes (localização de agentes, nomes e serviços de controlo de acessos) -Message Transport Service (MTS): - MTP (Message Transport Protocol) numa determinada plataforma (varios protocolos) - ACC (Agent Communication Channel) para comunicar entre plataformas

A. Paiva FIPA-OS Componentes específicos do FIPA-OS

A. Paiva FIPA-OS  Agent Shell: para além dos componentes mandatórios presentes no Modelo de Referência da FIPA, a distribuição da FIPA-OS inclui um template vazio de um agente denominado Agent Shell.  Através deste template podemos produzir os nossos agentes para inter-operarem na FIPA-OS  Agent Management Service (AMS): É um agente que faz o papel de Serviço e é usado para controlar os ciclos de vida dos outros agentes.  O agente registado informa o AMS sobre alterações significativas no seu ciclo de vida e deixa o AMS controlar esse mesmo ciclo. No caso de um agente rebelde que não se deixe controlar pelo AMS, este invoca directamente operações do agente pela sua API

A. Paiva FIPA-OS  Task Manager: Cada tarefa de cada agente é uma tarefa distinta (ambiente multi-tarefa)  As mensagens são redireccionadas automaticamente para o estado correcto  É possível interagir dentro da mesma tarefa

A. Paiva FIPA-OS  Parse Factory: sempre que um agente recebe uma mensagem, o Parse Factory descobre em que linguagem a mensagem vem escrita e carrega dinamicamente o parser respectivo para que a conversão se faça sem sobressaltos  A vantagem mais notória é a transparência com que se pode encarar as mensagens, dando total atenção à componente semântica destas  Uma vez que o parsing é feito automaticamente, para o agente é como se estivesse a comunicar na mesma linguagem! Não há necessidade de codificação sintática!  Só o conteúdo semântico interessa ao agente

A. Paiva FIPA-OS  Conversation Manager: Trata de todo o tráfego de conversas (não trata mensagens individuais)  Simplifica a implementação das conversas, senão teriamos de associar sempre a identificação das conversas à mensagem antes do agente enviar a mesma

A. Paiva FIPA-OS  Comunicações: Remote Method Invocation (RMI) usado em comunicação no interior da mesma plataforma (intra-plataforma)  IIOP com Voyager e SunIDL para comunicação para plataformas diferentes! (inter-plataforma)

A. Paiva FIPA-OS: Exemplo Plataforma móvel Agência A Agência B

A. Paiva Cooperação entre agentes: Contract-NET  É um protocolo do FIPA-ACL para a cooperação entre os agentes para resolver problemas por comunicação directa.  É modelado sobre os mecanismos que governam a troca de mercadorias e serviços.  Prevê uma solução para o chamado problema da conexão: encontrar um agente apropriado para realizar uma determinada tarefa.

A. Paiva Cooperação entre agentes: Contract-NET - exemplo  Um agente que tem uma tarefa a ser feita é o chamado gerente  Agentes que podem resolver essa tarefa são os chamados contrantantes.  Do ponto de vista do gerente, o processo é o seguinte: -Anuncia uma tarefa que precisa de ser executada -Recebe e avalia as “ofertas” dos potenciais contratantes -Decide a favor de um contratante conveniente e envia-lhe o contrato -Recebe e sintetiza os resultados

A. Paiva Cooperação entre agentes: Contract-NET - exemplo  Do ponto de vista do contratante, o processo é o seguinte: -Recebe o anúncio de uma tarefa -Avalia sua própria capacidade de a resolver -Responde negando ou fazendo uma “oferta” -Executa a tarefa se sua “oferta” é aceite -Envia os resultados ao gerente  O papel dos agentes não é previamente especificado. Qualquer um pode ser gerente ou contratante.

A. Paiva FIPA  Referências: -http :// ://