FIPA

44
FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS http://www.fipa.org.

description

Apresentação sobre o padrão FIPA

Transcript of FIPA

FIPATHE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS

http://www.fipa.org.

FIPA

• Uma organização da IEEE Computer Societyque 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, Bit-Efficient;

• 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 communicativeact 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-470-05747-6.

• Site oficial FIPA http://www.fipa.org