FIPA-ACL ontologyprofessor.unisinos.br/jcgluz/disciplina-aose/apres-acl.pdf · 2011-08-15 · A...

54
Linguagens de Comunicação entre Agentes FIPA-ACL KQML Eng. Software Orientada a Agentes - João Carlos Gluz - 2007 ontology KIF SL0 speech act protocol 1 Linguagens de Comunicação entre Agentes: Fundamentos, Padrões e Perspectivas João Carlos Gluz – [email protected] Pós-Graduação em Computação Aplicada - UNISINOS Engenharia de Software Orentada a Agentes

Transcript of FIPA-ACL ontologyprofessor.unisinos.br/jcgluz/disciplina-aose/apres-acl.pdf · 2011-08-15 · A...

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

1

Linguagens de Comunicação entre Agentes:

Fundamentos, Padrões e Perspectivas

João Carlos Gluz – [email protected]

Pós-Graduação em Computação Aplicada - UNISINOSEngenharia de Software Orentada a Agentes

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

2

Temas da apresentação- Introdução

- Fundamentos• Teoria dos Atos da Fala de Searle & Austin• Teoria da Intenção de Bratman• Teoria Formal da Ação de Cohen & Levesque• Formalização de Linguagens de Comunicação

- Padronização• A Iniciativa KSE e Linguagem KQML • Os Padrões FIPA

- Perspectivas• Desenvolvimento de Aplicações• Pesquisa

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

3

Introdução

Uma Linguagem Artificial para Comunicação entre Agentes (apenas ACL, em inglês) é um formalismo usado para codificar as mensagens trocadas entre os agentes de um SistemaMultiagente (SMA)

Uma ACL padronizada tem sua sintaxe e semântica:• definidas publicamente,• definidas de forma independente de implementações concretas de SMA e

• definidas de forma independente da arquitetura e ambiente computacional onde o SMA está inserido.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

4

Fundamentos:

A Teoria dos Atos da Fala

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

5

Teoria dos Atos da FalaA teoria linguística por trás das ACLs é a Teoria dos Atos da Fala de Searle (e Austin)

Segundo Searle (e Austin) toda a comunicação entre agentes inteligentes seria mediada através de atos da fala

Tipos de Atos da FalaOs atos da fala são divididos em três tipos distintos:

Ato Locucionário: Ato de enunciação (verbalização) de uma mensagem.

Ato Ilocucionário: Significado pretendido para esta mensagem.

Ato Perlocucionário: Efeito que se pretende obter com a enunciação do ato.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

6

Atos IlocucionáriosOs atos ilocucionários são os atos analisados por Searle em sua Teoria dos Atos da Fala. Eles são simbolizados por:

F(p)Onde F é a força ilocucionária do ato e p uma proposição

Tipos de Atos IlocucionáriosSegundo Searle os atos ilocucionários podem ser classificados em 5 tipos distintos, de acordo com sua força:

• Atos Assertivos (asserções)• Atos Diretivos (diretivas)• Atos “Comissivos” (promessas ou comprometimentos)• Atos Expressivos (agradecimentos, congratulações, ...)• Atos Declarativos (declarações)

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

7

Significado dos Atos Ilocucionários

Searle define a semântica dos atos ilocucionáriosatravés de noções intuitivas sobre o que um agente:

• acredita (Beliefs),• necessita ou quer (Wants) e • pretende (Intends).

Em função destes possíveis estados mentais, Searle caracterizado os atos de fala por 5 condições:

• Condição de Conteúdo Proposicional• Condições Preparatórias (2)• Condição de Sinceridade• Condição Essencial

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

8

Semântica de um Ato Diretivo

Condição de Conteúdo Proposicional:A proposição está enunciando uma ação futura A do ouvinte O.Condições Preparatórias (são 2):1. O ouvinte O está em condições de realizar a ação A. Além disso o falante F acredita que O esteja em condições de realizar A.2. Não é obvio nem para F nem para O que o ouvinte O irá realizar, no decurso normal dos acontecimentos, a ação A por vontade própria.

Condição de Sinceridade:O falante F realmente quer que o ouvinte O faça a ação A (i.e. F não está mentindo sobre seu pedido ou ordem).

Condição Essencial:Vale como uma tentativa de conseguir que o ouvinte O faça a ação A (i.e.vale como tentar obter o efeito perlocucional de que O faça (execute) A).

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

9

Fundamentos:

A Teoria da Intenção deBratman

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

10

Teoria da Intenção de Bratman

O significado do atos da fala de Searle é dado através de alterações causadas nos estados mentais de um agente.

Porém Searle usa noções intuitivas simplificadas sobre o que é o “estado mental” de um agente.

A Teoria da Intenção de Bratman apresenta uma análise mais aprofundada sobre a conceituação deste estados, em particular do conceito de intencionalidade.

Intenções

Segundo Bratman temos que ter intenções voltadas ao futuro e nos planejar para atender estas intenções, porque somos agentes limitados.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

11

Crenças x IntençõesIntenções seriam pró-atitudes controladoras da conduta do agente: forçariam a realização de ações concretas e planejamentos e teriam uma persistência razoável.

Crenças seriam apenas atitudes (estados mentais) potencialmente influenciadoras desta conduta (também se diz que são atitudes informacionais).

Papeis Funcionais da Intencionalidade(a) Criadora de novos problemas a serem resolvidos por raciocínio prático

(b) Critério de admissibilidade na escolha de intenções ou opções a serem usadas

(c) Condutora efetiva da execução das ações que já foram decididas (motivadora direta destas ações)

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

12

Conflitos do Cenário Complexo

Um cenário complexo envolve um compromisso complexo (package deal) que coloca em conflito o princípio da intenção como uma escolha real com os papeis funcionais:

Não se pode assumir que ao se tomar uma decisão envolvendo um compromisso complexo, possa se afirmar que se irá assumir todas as conseqüênciasconhecidas deste compromisso como intenções a serem realmente perseguidas como tal.

Bratman não vai muito mais além, exceto por afirmar que é o princípio da intenção como escolha real que parece estar “errado” e que deveria ser reformulado.

Na prática a continuação do raciocínio acima é feita por Cohen&Levesque em seu trabalho sobre a Teoria Formal da Ação Racional.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

13

Fundamentos:

A Teoria da Ação Racional de Cohen & Levesque

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

14

Teoria da Ação Racional de Cohen & Levesque

A Teoria (Formal) da Ação Racional de C&L podeser considerada uma extensão, detalhamentoe formalização da Teoria da Intenção de Bratman.

Comprometimento

Uma noção importante definida no trabalho de C&Lé a noção de comprometimento que, juntamente, com a noção de decisão (escolha) irá redefinir o conceito de intenção e resolver o conflito da teoria de Bratman.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

15

Formalização da Ação RacionalC&L criaram uma lógica modal baseada numa semântica de mundos-possíveis.

Os mundos-possíveis são estruturados de forma a dar significado aos predicados e ações (eventos).

Estes mundos também são indexados de forma a definirsequências temporais que possam estabelecer relações de ordenamento temporais entre eventos e ações.

As seguintes relações de acessibilidade são definidas entre os mundos:

B para modelar as crenças possíveis eG para modelar os objetivos

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

16

Sintaxe da Lógica de C&LOperadores modais:

(BEL x p) o agente x acredita em p(GOAL x p) o agente x tem p como objetivo

Operadores sobre a relação temporal:(HAPPENS a) a ação a acontecerá logo a seguir(DONE a) a ação a já ocorreu pouco antes(BEFORE p q) p foi válido antes de q(LATER p) mais tarde p será válido

Expressões de ações: a;a ações sequenciaisa|a escolha não-determinística de açãop? expressão de testea* ação iterativa

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

17

CompromentimentoO predicado (P-GOAL x p) define o objetivo p como persistente afirmando que p somente será abandonado se o agente xchegar a um mundo possível onde acredite p é verdadeiro ou que p é impossível

Intenção Imediata de Executar uma Ação(INTEND1 x a) =def

(P-GOAL x [DONE x (BEL x (HAPPENS a))?;a])

Intenção como Objetivo a ser Atingido(INTEND2 x p) =def

(P-GOAL x ∃e (DONE x [(BEL x ∃e’ (HAPPENS x e’;p?)) ∧~(GOAL x ~(HAPPENS x e;p?))]?;e;p?))

A intenção deve ser atingida através de uma sequencia de eventos (ações) e dentro de um plano e’

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

18

Fundamentos:

Formalização de Linguagens de Comunicação

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

19

Abordagem de C&LSegundo C&L existem duas condições para que a comunicação entre agentes seja possível:

Os agentes devem ser sinceros:(SINCERE x y p) o agente x é sincero ao agente y

em relação a proposição p

Os agentes devem estar dispostos a ajudar:(HELPFUL x y) o agente x está disposto a ajudar y

Resultado da ComunicaçãoO resultado da comunicação será uma crença mútua compartilhada entre ambos agentes (uma BMB ouBelief in Mutual Belief):

(BMB x y p) =def

∀n (BEL1 x (BEL2 y (BEL3 x ... (BELn x p )...)

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

20

Formalizando o Ato de RequisiçãoO efeito desejado para um ato comunicativo de requisição seria:

(BMB addr spkr (GOAL spkr ◊(DONE addr a))).

Para tanto a expressão formal de um ato de requisição seria definida por uma tentativa de fazer o agente spkr executar a ação a:

{REQUEST spkr addr e a} =def

{ATTEMPT spkr e ΦΦΦΦ (BMB addr spkr (GOAL spkr ΦΦΦΦ))}

onde ΦΦΦΦ é uma condição que afirma:que a ação a eventualmente será feita e que o agente addr passará a ter a intenção de executá-la

{ATTEMPT x a p q} define a noção de ação tentativa: o agente xirá executar a ação a, obtendo um efeito concreto p, mas esperandoatingir a condição q.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

21

Abordagem de Sadek para Formalizar ACLsSadek é um pesquisador francês que definiu um modelo semântico para ACLs muito similar ao elaborado por C&L.

Lógica de SadekSadek também define uma lógica modal S5 fraca com semântica de mundos-possíveis. Esta lógica define 3 operadores modais básicos:

B para crenças, C para escolhas (ou objetivos) e U para incerteza.

De forma similar a C&L, comprometimentos (objetivos persistentes) e intenções são definidos sobre os operadores modais básicos através da criação dos operadores PG, I1 e I2

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

22

Lógica de Sadek x Lógica de C&LOs operadores B, C, PR, I1 e I2 são equivalentes, respectivamente, aos operadores BEL, GOAL, P-GOAL, INTEND1 e INTEND2 de C&L.

Porém, diferente de C&L a lógica de Sadek:

• Trata a incerteza através do operador U (unknown)• Se restringe apenas a formalizar ACLs.• Trata de questões referenciais (quem, qual, ... ou

wh-questions) através do quantizador referencial iota (ι)

A Formalização de SadekA semântica formal dos atos comunicativos é definida em termos de duas condições lógicas:

FP (Feasability Precondition) Condição de viabilidade do ato(similar as condições preparatórias de Searle).

RE (Rational Effect) Efeito racional pretendido para o ato (similar ao efeito perlocucionário).

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

23

Padronização:

A Linguagem KQML

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

24

A Iniciativa KSEKSE (Knowledge Sharing Effort) foi uma iniciativa da agência DARPA, que começou em 1990, que deveria padronizar:

(1) Mecanismos de tradução de KBs (knowledge bases) representadas em diferentes linguagens.

(2) Linguagens e mecanismos de inferência para a representação de conhecimentos.

(3) Protocolos e linguagens de comunicação para a troca de conhecimentos entre sistemas baseados em conhecimentos

(4) Ontologias (i.e. KBs) padronizadas para domínios comuns.

A Linguagem KQMLA linguagem KQML (Knowledge Query and Manipulation Language) foi a linguagem proposta pelo grupo (3) da KSE como linguagem de comunicação padrão para a troca de conhecimentos entre sistemas baseados em conhecimentos (ou agentes inteligentes).

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

25

Mensagens e Atos Performativos de KQMLOs conhecimentos são transportados atravésde mensagens.

Cada mensagem transporta um ato performativo deKQML, seguido de possíveis parâmetros:(<performativo> {:<parâmetro> <expressão>}*)

A especificação de KQML de 1993 define uma semântica operacional informal destes atos, através da manipulação de uma Base de Conhecimentos Virtual (VKB)

KQML define mais de 20 distintos atos performativos, mas os dois atos mais básicos são:

ASK para consultas à VKBTELL para manipulação (alteração) da VKB

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

26

Padronização:

Os Padrões da FIPA

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

27

A Fundação FIPAA FIPA (Foundation for Intelligent Physical Agents) é uma fundação internacional sem fins lucrativos, voltada exclusivamente para a criação de padrões concretos de comunicação que tornem possível a implementação de agentes abertos e interoperáveis (www.fipa.org).

Ela foi formada em 1996, pela junção dos esforços de diversas empresas, universidades e centros de pesquisa com atividades neste campo de pesquisa.

Incluindo importantes empresas fabricantes de equipamentos e operadoras de telecomunicações como: Alcatel, British Telecom, France Telecom, Deutsche Telecom, Hitachi, NEC, NHK, NTT, Nortel, Siemens e Telia

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

28

Histórico dos Padrões FIPAOs conjuntos de documentos definindo os padrões FIPA são classificados em “anos de lançamento”.

O padrão atual foi lançado em 2000 (FIPA-2000). Os padrão FIPA-97 e FIPA-98 foram abandonados.

Em dezembro de 2002, 23 especificações em fase experimental foram tornadas padrão.

Ciclo de Vida de uma Especificação FIPAAs especificações FIPA possuem um ciclo de vida, podendo estar em 5 fases distintas:

Preliminar, Experimental, Padrão, Obsoleta e em fase de Abandono (Deprecated).

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

29

O Padrão FIPA-2000

O padrão FIPA-2000 é composto de mais de 40 documentos distintos, sem incluir especificações obsoletos ou sendo abandonados.

Áreas do Padrão FIPA-2000

As especificações doFIPA-2000 foram agrupadas em 11 áreas distintas:

Comunicação

Atos Comunicativos

Protocolosde Interação

Linguagens de Conteúdo

Aplicações

Arquitetura Abstrata

Gerenciamento Transporte

Representaçãode ACLs

RepresentaçõesEnvelope

Protocolosde Transporte

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

30

Exemplos de Aplicações de Sistemas MultiagenteXC00014 FIPA Nomadic Application Support Specification

Especificação das características dos agentes “nômades” FIPA

XC00079 FIPA Agent Software Integration SpecificationDefinição de como integrar software “não-agentificado” a umaplataforma de agentes FIPA

XC00080 FIPA Personal Travel Assistance SpecificationXC00083 FIPA Personal Assistant Specification

Aplicações exemplo: agentes assistentes pessoais

XC00081 FIPA Audio-Visual Entertainment and Broadcasting Spec. Aplicação exemplo: agentes audio-visuais

XC00082 FIPA Network Management and Provisioning SpecAplicação exemplo: SMA FIPA para gerenciamento de redes

PC00092 FIPA Message Buffering Service SpecificationEspecificação de um serviço de bufferização de mensagens

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

31

Arquitetura Abstrata para Sistemas MultiagenteXC00001 FIPA Abstract Architecture Specification

Define a arquitetura genérica mínima de um agente e de sua plataforma. Apresenta uma arquitetura orientada a objetos.

PC00089 FIPA Domains andPolicies Specification

Define quais políticas de acesso poderiam ser adotadas por um SMA compatível com a FIPA.

XC00023 FIPA Agent Management SpecificationDefine como devem ser gerenciados os agentes numa plataforma FIPA.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

32

Comunicação entre Agentes: FIPA-ACLXC00061 FIPA ACL Message Structure Specification

Define a estrutura abstrata de uma mensagem FIPA-ACL. Uma mensagem (ou ato comunicativo) FIPA tem o seguinte formato:

(<ato-comunicativo> {:<slot> <expressão>}*)

O slots podem ser::sender Identificador do emissor do performativo:receiver Identificador do receptor do performativo:content O conteúdo da mensagem):reply-with Identificador (opcional) de diálogo ou sessão:in-reply-to O identificador esperado para a resposta:reply-to Permite redirecionar respostas para outro agente que não o

emissor original. :reply-by Data e hora aceitáveis para a recepção da resposta:language Nome da linguagem de representação usado no conteúdo :encoding Codificação usada para representar o conteúdo:ontology Nome da ontologia usada pelo conteúdo:protocol Protocolo esta governando a interação em curso:conversation-id Identificador do diálogo (conversação) em curso:<nome> Qualquer slot não-padrão definido pelo usuário

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

33

Atos Comunicativos de FIPA-ACL

XC00037 FIPA Communicative Act Library Specification

Define a biblioteca padrão de atos comunicativos de FIPA-ACL.A linguagem FIPA-ACL possui 4 atos comunicativos primitivos:

confirm disconfirminform request

e 18 macro-atos compostos:cancel failureinform-if inform-refnot-understood query-ifquery-ref refusereject-proposal request-whenrequest-whenever accept-proposalcfp (call for proposal) agreepropagate proposeproxy subscribe

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

34

Linguagens de ConteúdoXC00008 FIPA SL Content Language SpecificationEspecificação da linguagem SL (Semantic Language). Linguagem de conteúdo original do sistema ARTIMIS/ARCOLUsada para formalizar FIPA-ACL

XC00009 FIPA CCL Content Language SpecificationEspecificação da linguagem CCL (Constraint Choice Language) baseada no conceito de equações de restrição (constraints)

XC00010 FIPA KIF Content Language SpecificationEspecificação da linguagem KIF, usada em KQML

XC00011 FIPA RDF Content Language SpecificationEspecificação de como o formato RDF (Resource Description Framework), definida pelo consórcio W3C, pode ser usada como linguagem de conteúdo de FIPA-ACL

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

35

Gerenciamento de Ontologias Estilo FIPA

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

36

Protocolos de Interação básicosXC00025 FIPA Interaction

Protocol Library Spec.

Define o subconjunto de AUML usado p/especificar protocolos de interação FIPA

XC00026 FIPA Request Interaction Protocol Spec.

XC00027 FIPA Query Interaction Protocol Spec.

XC00028 FIPA Request When Interaction Protocol Spec.

XC00036 FIPA Propose Interaction Protocol Spec.

Protocolos de Interação que governam a interação dos atos request, query, request-when e propose

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

37

Protocolos para Redes Contratuais

XC00029 FIPA Contract Net Interaction Protocol SpecificationXC00030 FIPA Iterated Contract Net Interaction Protocol SpecificationProtocolos que regulam negociações baseadas em rede contratual. São usados os atos comunicativos: cfp, accept-proposal e reject-proposal

Protocolos para Leilões

XC00031 FIPA English Auction Interaction Protocol SpecificationXC00032 FIPA Dutch Auction Interaction Protocol SpecificationProtocolos que regulam negociações baseadas em leilões. Também são usados os atos cfp, accept-proposal e reject-proposal exceto que um ato inform prévio informa que será feito um leilão (e o tipo do leilão)

Protocolos para Information Brokering

XC00033 FIPA Brokering Interaction Protocol SpecificationXC00034 FIPA Recruiting Interaction Protocol SpecificationProtocolos que regulam a busca de informações através de agentes procuradores (proxy). Usam principalmente o ato proxy.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

38

Serviço de Transporte de MensagensXC00067 FIPA Agent Message Transport Service SpecificationPC00093 FIPA Messaging Interoperability Service Specification

Especificação da arquitetura e características do Sistema de Transporte de Mensagens (MTS) da FIPA.

Define como o canal de comunicação entre agentes (ACC) deve ser usado.

Define os termos e mensagens (ontologia) usados para controlar este canal.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

39

Formatos de Representação de Mensagens FIPA-ACL

XC00069 FIPA ACL Message Representation in Bit-Efficient Spec. XC00070 FIPA ACL Message Representation in String Specification XC00071 FIPA ACL Message Representation in XML Specification Especificação dos formatos de representação que podem ser usados naserialização das mensagens FIPA-ACL. Especifica, respectivamente, os formatos:

binário (bit-efficient), texto ASCII e codificado em XML

Formatos de Representação do Envelope de Transporte

XC00085 FIPA Agent Message Transport Envelope Repres. in XML Spec. XC00088 FIPA Agent Message Transp. Envel. Repres. in Bit Efficient Spec.Formatos de representação que podem ser usados na serialização dosenvelopes usados no transporte de mensagens FIPA.São definidos, respectivamente, o formato baseado em XML e o formato binário.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

40

Protocolos de Transporte:

XC00075 FIPA Agent Message Transport Protocol for IIOP SpecificationEspecificação de como deve ser feito o transporte de mensagens FIPA-ACL através do protocolo de transporte IIOP (Internet Inter-Orb Protocol), usado pelo padrão CORBA de intercâmbio de informações.

XC00076 FIPA Agent Message Transport Protocol for WAP SpecificationEspecificação do transporte de mensagens FIPA-ACL através do protocolopara aplicações em telefonia celular WAP (Wireless Application Protocol)

XC00084 FIPA Agent Message Transport Protocol for HTTP Spec.Especificação do transporte de mensagens FIPA-ACL através do protocolode aplicação que suporta a WEB, o HTTP (Hiper-Text Transpor Protocol)

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

41

Plataformas de Implementação de Agentes FIPA

FIPA-OS Plataforma desenvolvida pela Nortel Inc.Primeira plataforma operacional FIPA.Totalmente conforme ao padrão FIPA.Baseada em JAVA.Agentes são especializações da classe task.Código fonte aberto, licença pública Nortel.

JADE Plataforma desenvolvida pelo CSELT (centroitaliano de pesquisa em telecomunicações). Totalmente conforme ao padrão FIPA.Baseada em JAVA.Agentes são especializações da classebehaviour.Código fonte aberto, licença GNU Lesser.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

42

Plataformas de Implementação de Agentes FIPA

ZEUS Plataforma open-source da British Telecom. Totalmente conforme ao padrão FIPA.Baseada em JAVA.Ambiente gráfico para criação de agentes.Código fonte aberto, licença Zeus OS BT.

JACK Plataforma comercial desenvolvida pela AOS. Parcialmente conforme ao padrão FIPA.Baseada em JAVA. Linguagem proprietária para programação de

agentes, baseada em BDI.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

43

Padronização FIPA

Exemplos de Uso e

Linguagens deConteúdo

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

44

Exemplos de FIPA-ACL

O agente i solicita ao agente j executar um comando VB(abrir o arquivo “db.txt” para leitura):

(request:sender (agent-identifier :name i):receiver (agent-identifier :name j):content

"open \"db.txt\" for input":language visual-basic)

O agente i informa, em Prolog, ao agente j que (é verdade que) está chovendo hoje:(inform

:sender (agent-identifier :name i):receiver (set (agent-identifier :name j)):content

”weather (today, raining).":language Prolog)

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

45

Mais Exemplos de FIPA-ACL

O Agente i faz uma requisiçação (consulta) ao agente j, querendo saber se Lannion fica na Normandia. Isto é implementado através de uma consulta Prolog:

(request:sender (agent-identifier :name i):receiver (set (agent-identifier :name j)):content

”?- in( lannion, normandy).":language Prolog)

A resposta do agente i para a requisição (consulta):

(inform:sender (agent-identifier :name j):receiver (set (agent-identifier :name i)):content

”\+ in(lannion, normandy).":language Prolog)

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

46

A Linguagem e o Modelo SL

A semântica formal de FIPA-ACL é especificada através da linguagem SL (Semantic Language)

A linguagem SL é um formalismo lógico, criado pelopesquisador francês Sadek, que pode ser usado para a representação de atitudes (estados) mentais e ações.

Este formalismo é muito similar àquele desenvolvido por Cohen&Levesque em sua Teoria da Ação Racional.

SL é essencialmente uma lógica modal, baseada numa semântica de mundos possíveis, que pode ser usada para representar crenças, desejos, incertezas e intenções de um agente, bem como expressar os atos e ações deste agente.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

47

As Linguagens de Conteúdo SL, SL0, SL1 e SL2

A linguagem SL também pode ser usada como linguagem lógica para representar os conteúdos deuma mensagem FIPA-ACL (FIPA0008).

Neste caso é usada uma sintaxe, similar a de LISP, mais apropriada para uso em computador.

A linguagem de conteúdo SL é idêntica ao formalismoSL, exceto pela sintaxe LISP-like.

Entretanto como nem todas as aplicações e agentesnecessitam do poder de expressividade de uma lógica de predicados modal, foram definidossubconjuntos de SL mais simples: SL0, SL1 e SL2.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

48

Exemplos de FIPA-ACL / SLO Agente i quer saber quais serviços de reserva o agente j disponibiliza:

(query-ref:sender (agent-identifier :name i):receiver (agent-identifier :name j):content

((all ?x (available-service j ?x))):language FIPA-SL:ontology travel-reservations-ontology)

O agente j responde que faz reservas de passagens para viagens detrem e avião e pode também reservar (alugar) automóveis:

(inform:sender (agent-identifier :name j):receiver (agent-identifier :name i):content ((= (all ?x (available-service j ?x))

(set (reserve-ticket train)(reserve-ticket plane)(reserve automobile)))

:language FIPA-SL:ontology travel-reservations-ontology)

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

49

A Linguagem FIPA SL0A linguagem SL0 é o menor subconjunto de SL que pode ser usado como linguagem de conteúdo. SL0 permite representar:

• Ações (ou comandos)• Resultados de computações e cálculos• Finalizações de ações • Proposições binárias simples

A Linguagem FIPA SL1A linguagem SL1 estende SL0 incorporando os conetivos lógicosand, or e not e permitindo a formação de expressões booleanas

A Linguagem FIPA SL2A linguagem SL2 é um subconjunto de SL que permite predicados de primeira ordem e operadores lógicos modais, mas incorpora restrições que asseguram a decidibilidade de suas fórmulas.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

50

Perspectivas:

Tendência de Pesquisa

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

51

Novos Modelos Semânticos para ACLsOs trabalhos de fundamentação teórica das ACLs durante a década de 90, levaram à utilização de modelos mentalistas (BDI), centrados no conceito de agência individual, para dar significado as construções destas linguagens.

Questões em aberto nesta abordagem:

• Existem limitações importantes no uso do modelo mental de agência individual (modelo BDI) para compreensão de interações sociais mais complexas

• Os problemas de computabilidade associados às Lógicas Modais, tornam muito difíceis as tarefas de verificação (automatizada) de compatibilidade entre a especificação formal de um protocolo ou linguagem e sua implementação concreta.

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

52

Modelos Sociais para ACLsAlgumas pesquisas que tentam resolver as limitações do modelo de agência individual na compreensão de interações sociaisatravésdo uso de conceitos derivadas das ciências sociais:

• Análise dos efeitos da noção de confiança (trustfullness) no estabelecimento de relações sociais entre os agentes (Castelfranchi e Falconi)

• Formação de compromissos sociais a partir da adaptação de objetivos e intenções que agentes racionais e colaborativos tem que fazer para trabalhar em grupo (Grosz, Kraus, Sullivan e Das)

• Definição e uso das noções de instituição e atos institucionais na análise e semântica dos atos da fala (Colombetti e Verdicchio)

• Definição e uso de uma Lógica Modal de Habilidades, Crenças e Confiança (confidence) para modelar o comportamento e a interação entre agentes (Fischer e Gidini)

• Semântica de atos da fala através de uma Lógica da Intenção com Princípios de Cooperação (Herzig e Longin)

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

53

Verificação da Semântica de ACLsAlgumas pesquisas sobre a questão de verificação de compatibilidade entre especificações e implementações de ACLs:

• Uso de Semântica Denotacional para os eventos observáveis associados aos atos comunicativos e protocolos de interação (Guerin e Pitt)

• Novos métodos operacionais para a definição de ACLsbaseadas na noção de comprometimento (Fornara eCollombetti)

• Semântica de atos da fala através de métodos de inferênciaabdutivos (Dragoni, Giorgini e Serafini)

Linguagens de Comunicação entre Agentes

FIPA-ACL

KQML

Eng. Software Orientada a Agentes - João Carlos Gluz - 2007

ontology

KIF

SL0

speech act

protocol

54

Pesquisa em Protocolos de InteraçãoLinha de pesquisa que estuda a interação social entre agentes doponto de vista de protocolos (formais) de comunicação, interação e negociação (extensão das pesquisas sobre verificação formal).

• Mapeamento das especificações AUML dos protocolos de interação FIPA para Redes de Petri Coloridas (CPN) (Mazouzi, Fallah e Haddad)

• Formalização dos protocolos de interação através de do Cálculo de Eventos de Kowalski e Sergot (Yolum e Singh)

• Formalização dos protocolos de interação através de uma Semântica Intencional para as especificações AUML (Pitt,Kamara e Artikis)

• Uso de diagramas de landmarks e de primitivas de ações conjuntas da Joint Action Theory, para a formalização de famílias de protocolos de interação (Kumar, Huber e Cohen)