FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS http://www.fipa.org. FIPA • Uma organização da IEEE Computer Society que promove a tecnologia baseada em agentes • O conjunto completo de especificações da FIPA estão disponíveis publicamente no site http://www.fipa.org Histórico e Metas • Criada em 1996 como uma associação internacional para desenvolver padrões para tecnologia de agentes de software • Agentes de software já eram bem conhecidos na comunidade acadêmica, mas tinham recebido pouca atenção do mercado • Aceita pelo IEEE em 2005 Princípios da FIPA • Novo paradigma para solucionar velhos e novos problemas • Algumas tecnologias de agentes já alcançaram um considerável grau de maturidade • Para ser de algum uso a tecnologia precisa ser padronizada • A padronização de mecanismos internos dos próprios agentes não é o foco principal Conceitos chaves da FIPA • • • • Comunicação de Agentes FIPA-ACL Subcamadas FIPA Gerenciamento de Agentes Comunicação Agentes • Agentes são processos de código distribuído que seguem o modelo de computação distribuída formado por duas partes: componentes e conectores • Componentes são consumidores, produtores e mediadores que trocam mensagens via conectores FIPA-ACL • Um conjunto de 22 atos de comunicação • São baseadas na lógica modal que especifica os efeitos de enviar uma mensagem em atitudes mentais • FIPA definiu um conjunto de protocolos de interação, cada um consistindo de uma sequência de atos de comunicação • Na estrutura da mensagem não é obrigatório o uso de uma linguagem de conteúdo. (FIPA-KIF, FIPA-RDF, FIPA-SL) Subcamadas FIPA • Subcamada 1 (Transporte) - IIOP, WAP, HTTP; • Subcamada 2 (Codificação) - XML, String, BitEfficient; • Subcamada 3 (Mensagens) - Independente de codificação. Parâmetros: conteúdo, remetente, destinatário; • Subcamada 4 (Ontologia) - FIPA permite o uso de ontologias para definir termos individuais contidos em uma mensagem; Subcamadas FIPA • Subcamada 5 (Expressão de Conteúdo) - As mensagens podem ser de qualquer forma, mas a FIPA definiu a FIPA-SL como guia; • Subcamada 6 (Ato comunicativo) - É a simples classificação de uma mensagem em termos de uma ação ou performativa, que ela implica; • Subcamada 7 (Protocolo de Interação) Geralmente as mensagens não são isoladas, elas fazem parte de uma sequencia de interação. Gerenciamento de Agentes • Uma norma em forma de framework na qual agentes FIPA podem existir, operar e serem gerenciados Gerenciamento de Agentes Figura 1. Descrição da ontologia de gerenciamento de agentes Gerenciamento de Agentes • Agent Platform: (AP): fornece a infraestrutura física na qual o agente é executado; • Agent: Um agente é um processo computacional que habita em um AP e normalmente oferece um ou mais serviços computacionais que podem ser publicados como uma descrição de serviço; Gerenciamento de Agentes • Directory Facilitator (DF): O DF é um componente opcional de um AP fornecendo serviços de páginas amarelas para outros agentes; Gerenciamento de Agentes • Agent Management System (AMS): AMS é um componente obrigatório de uma AP e é responsável pelo gerenciamento da AP, tais como criação e remoção de agentes, e monitoramento de migração de agentes; • Message Transport Service (MTS): MTS é um serviço fornecido por uma AP para transportar mensagens FIPA-ACL entre agentes em qualquer AP. Especificações Chaves da FIPA • • • • • • Arquitetura abstrata FIPA Estrutura de Mensagem FIPA-ACL Atos de comunicação FIPA-ACL Linguagem de conteúdo FIPA-SL Protocolo de Interação por Requisição Protocolo de Interação por Rede de Contrato Arquitetura Abstrata FIPA • A arquitetura abstrata especificada pela FIPA fornece um ponto de referência comum para implementações FIPA. • Os itens mais importantes da arquitetura são: ▫ ▫ ▫ ▫ Agent Messages; Message Transport Service; Agent directory Service; Service directory service. Estrutura de Mensagem FIPA-ACL • Uma mensagem FIPA-ACL contém um conjunto de parâmetros de mensagens além do seu conteúdo • Único parâmetro obrigatório é a performativa Estrutura de Mensagem FIPA-ACL Tabela 1. Descrição dos parâmetros de uma mensagem FIPA-ACL Exemplo de Mensagem FIPA-ACL Figura 2. Exemplo da estrutura de mensagem FIPA-ACL Atos de comunicação FIPA-ACL • FIPA-ACL define a comunicação em termos de uma função ou ação, chamada communicative act ou CA, realizada durante a comunicação. Tabela de CAs Tabela 2. Descrição de atos de comunicação Tabela de CAs Tabela 3. Descrição de atos de comunicação Tabela de CAs Tabela 4. Descrição de atos de comunicação Linguagem de Conteúdo FIPA-SL • FIPA Semantic Language (SL) é utilizada para definir a semântica para os CAs como uma lógica de ações, formalizada em uma linguagem modal de primeira ordem • Expressões de conteúdo podem ser utilizadas como conteúdos de mensagens ACL • Existem três casos: ▫ 1. Uma proposição, que pode ser atribuído um valor verdadeiro em um dado contexto; ▫ 2. Uma ação, que pode ser realizada; ▫ 3. Uma expressão de identificação, que identifica um objeto em um domínio. Linguagem de Conteúdo FIPA-SL REQUISIÇÃO RESPOSTA Protocolo de Interação por Requisição • É uma sequencia de ações onde um agente requisita um outro para realizar uma ação. O agente processa a requisição e toma a decisão se aceita ou recusa. Protocolo de Interação por Requisição Protocolo de Cancelamento Protocolo de Interação de Rede de Contrato • Este protocolo descreve o caso onde um agente deseja que alguma ação seja realizada por um ou mais agentes. E deseja otimizar uma função que caracteriza a tarefa. Protocolo de Interação de Rede de Contrato JADE • Java Agent DEvelopment framework • Plataforma de agentes FIPA • Disponível em http://jade.tilab.com JADE - Container Container-JADE JADE - Plataforma Tabela 2. Plataformas distribuídas JADE - Inicialização JADE - Interface JADE – Registrando agentes no DF • Código Java JADE - Buscando agentes no DF • Código Java JADE – Mensagens • Código Java – mensagem para único agente JADE - Mensagens • Código Java – mensagem para vários agentes Referências • FABIO BELLIFEMINE, G. C. D. G. Developing multi-agent systems with JADE. [S.l.]: John Wiley & Sons Ltd, 2007. ISBN 978-0-47005747-6. • Site oficial FIPA http://www.fipa.org