1 Comunicação em SMA Introdução Conceitos Básicos KQML FIPA ACL Exemplo Ryan Albuquerque e Patricia Tedesco.

Slides:



Advertisements
Apresentações semelhantes
Terminologia Definicao Construção Exemplos
Advertisements

Concepção da linguagem, ou seja, porque e como ela é como é?
Comunicação entre processos distribuídos
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Realidade Virtual Uma máquina que simule o ser humano deve possuir dispositivos que a permitam ver, ouvir, cheirar, ter sensibilidade a dor, ao tato e.
Redes de Computadores e Sistemas Distribuídos
Padrão de Projeto Interpreter
Os Sistemas Multi-agente Viviane Torres da Silva
Linguagens de Comunicação de Agentes
Comunicação entre Agentes
Sistemas Baseados em Conhecimento
Redes de Computadores 2 - Camada de Aplicação (HTTP) –
Comunicação entre Agentes Inteligentes
Programação Orientada a Agentes Franklin Souza Ramalho
Programação Concorrente
Sincronização de Processos (5)
Sincronização de Processos (6) - Troca de Mensagens -
DAS Sistemas Distribuídos para Automação Industrial
UFRPE – Modelos de Qualidade Teresa Maciel
Sistemas Distribuídos
Camada de Transporte: Portas, Sockets, Aplicações em Rede
Software de Rede Willamys Araújo.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Plano de Aula Introdução Conceitos Básicos KQML FIPA ACL
Web Semântica Mineração na Web – if796 Subtitle.
Desenvolvendo Sistemas Multiagentes com JADE
Exame de Defesa de Mestrado
Sistemas Distribuídos
Tópicos de Sistemas de Informação A
Web Services Uninorte Semana de Tecnologia da Informação
PETER ANTONY RAUSCH JOYCE MARTINS
CORBA e Desenvolvimento Baseado em Componentes
Plano de Aula Introdução Conceitos Básicos KQML FIPA ACL
MODELO ESSENCIAL Modelo Ambiental
3 – Agentes e 4 – Multiagentes
FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Agentes Inteligentes e Sistemas Multi- agente (UD 8) Comunicação IST- 2004/2005.
Da Introdução à Prática
IIS Web Server.
Aula Prática 4 Monitoria IP/CC (~if669).
JXTA Protocolos PIP e PBP Franklin Felipe Wagner Márcio Dalle Lucca.
Inteligência Artificial Web Semântica
7 © 2005 by Pearson Education SIP  Session Initiation Protocol  Desenvolvido pelo IETF Visão de longo prazo do SIP  Todas chamadas telefônicas.
Métodos Formais.
Padrões de Interação com o Usuário
Plano de Aula Agentes que Interagem Conceitos Básicos FIPA ACL
Comunicação em Sistemas Multiagentes
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
Aguilar Figueira Dias Orientador Prof. Dr. João Bosco da Mota Alves
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Sistemas Multi-Agentes Comunicação e Cooperação. Motivação O uso de agentes individuais pode não ser adequado para todas as situações de problemas que.
Agentes Inteligentes e Sistemas Multi- agente (UD 8) Comunicação IST- 2004/2005.
1 Comunicação em SMA Introdução Conceitos Básicos KQML FIPA ACL Exemplo Ryan Albuquerque e Patricia Tedesco.
Introdução a Orientação a Objetos
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 2 Professor: Italo Rodrigues Castro.
Sistemas Multiagentes Uma Visão geral Motivação IA Distribuída - por que? Justificativas e Vantagens de SMA Conceitos Básicos Comunicação em SMA KQML FIPA.
Integração Semântica: uma pesquisa sobre abordagens baseadas em ontologias Túlio Lages
Protocolos de Comunicação e Passagem de Mensagens
Aula: Arquiteturas de redes: modelo de referência OSI 04/12/2010.
Actos de fala Acção comunicativa Interação estratégica.
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
Redes de Computadores e Aplicações – Camada de aplicação IGOR ALVES.
ONTOLOGIAS NO CONTROLE DA ADAPTAÇÃO AO CONTEXTO EM ESPAÇO UBÍQUO ONTOLOGIAS NO CONTROLE DA ADAPTAÇÃO AO CONTEXTO EM ESPAÇO UBÍQUO Nelsi Warken, Luiz A.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Servidor WEB IGOR ALVES. O protocolo HTTP 1990 surgimento da aplicação www Grande quantidade de informação que pode ser acessada por demanda Buscadores.
Transcrição da apresentação:

1 Comunicação em SMA Introdução Conceitos Básicos KQML FIPA ACL Exemplo Ryan Albuquerque e Patricia Tedesco

2 Motivação : Ubiqüidade Ubiqüidade: Do latim “ubiquu” O que está em todo lugar a toda hora Ubiqüidade Computacional Os serviços computacionais poderão ser usados em toda parte e a qualquer hora “Jetsons”, “Matrix”, “Minority Report”. Cenário SeDi = Secretário Digital Júlia é Engenheira de Tráfego

3 Motivação : Cenário de um SeDi Chegada ao Aeroporto Visto de entrada Caminho até o ponto de ônibus (óculos) A Caminho do Hotel Deficiente visual ajudado pelo SeDi e o SeDi do ônibus Compras Localização e comparação das lojas que vendem o produto Conferência Nível de ansiedade (monitoramento) Reprodução do CD da Enia Demonstrações online Animações holográficas Conexão com as câmeras online nas avenidas

4 Motivação : Cenário de um SeDi Comemoração Ninguém tem que combinar nada Os SeDis decidem onde ir baseados nos perfis Pagamento Automático. Sem estresse. Da melhor forma para Júlia. Voltando pra casa... Putz! E as compras? O presente já está sendo entregue Chegando em casa Suprimentos Curriculum

5 Motivação : Agentes Reflexão Cenário dinâmico Integração de diversas mídias e dispositivos Como implementar? Sugestão: usar Agentes Inteligentes Agentes Ideal para aplicações autônomas, móveis e inseridas em uma sociedade Naturalmente capazes de: Reagir de forma autônoma e reativa Raciocinar de forma pró-ativa Adaptar-se ao ambiente onde estão inseridos Iteragir com outras entidades

6 Motivação : Agentes Iteração Solução compartilhada de problemas Requisito básico Mecanismo de Comunicação Linguagem comum Infra-estrutura Mas como implementar?

7 Conceitos Básicos

8 Comunicação... Relação dinâmica mediada por sinais, que quando interpretados, afetam os agentes envolvidos. Possibilita... Cooperação e Coordenação

9 Tipos de comunicação Telepatia Acesso direto à uma Knowledge Base (KB) Lendo a mente... Cada um com sua KB KB compartilhada Problemas Podem usar o mesmo símbolo para denotar coisas diferentes Podem usar símbolos diferentes para denotar a mesma coisa Linguagem de Comunicação de Agentes (LCA) Comum

10 Atos da Fala Categorização das expressões humanas qto a Intenção do locutor Impacto do ato comunicativo no receptor Existem aproximadamente 4600 atos de fala! Não é esse o objetivo de uma LCA Ajuda a decidir as primitivas das LCAs Todo primitiva de uma LCA é um ato de fala

11 Atos da Fala Linguagem Humana Atos comunicativos são interpretados a partir da mensagem e do contexto Nem sempre esta interpretação é óbvia Dificuldades “Cale-se !” (Comando) “Por favor, você pode se calar ?” (Pedido) “Você vai se calar ou não ?” (Pergunta) “Eu gostaria que você se calasse.” (Informação)

12 Atos da Fala : Categorias Representativos Expressam uma Proposta Ex: “Vamos jogar boliche amanhã?” Diretivos Expressam um Pedido ou Comando Ex: “Cale-se!” Comissivos Expressam Promessa ou Ameaça Ex: “Eu prometo doar R$1.000,00.” Expressivos Expressam Desculpas ou Agradecimentos Ex: “Desculpe pelo atraso?” Declarativos Mudam o Estado do Mundo Ex: “Eu os declaro marido e mulher!” Veredictos Expressam um Julgamento Ex: “West é criminoso.”

13 Atos da Fala Ato Locucionário Emissão da mensagem “Você poderia fazer um café?” Efeito Ilocucionário O que o locutor entende por algo “Ele me pediu para fazer café” Efeito Perlocucionário O real efeito do ato comunicativo no receptor “Ele me fez fazer café” Ideal Efeito perlocucionário previsível Para um dado Ato Locucionário, Efeito Ilocucionário = Efeito Perlocucionário. Ou seja, prever a reação do receptor!

14 Linguagens de Comunicação Baseadas na Teoria dos Atos da Fala (Searle, Austin) Objetiva a troca de informações entre agentes Transporte de mensagens na rede através de protocolos de baixo nível SMTP, TCP/IP, IIOP ou HTTP Esse transporte é transparente para o usuário Para o KSE, uma LCA é dividida em: Ontologia Linguagem interna (lógica) Codificação do conteúdo Linguagem externa Ato Locucionário (Performativa) Encapsulamento de infomações para o roteamento

15 Ontologias Definição Vocabulário cujos termos são relacionados a um certo domínio e precisamente definidos. Os relacionamentos entre esses termos também são especificadas usando técnicas de modelagem formal Uma vez especificada… Pode-se construir uma KB relacionadas ao domínio coberto pela ontologia Esta KB pode ser compartilhada com outros agentes interessados em conhecimentos sobre este domínio

16 Linguagem Interna (LI) O que é? Linguagem em que deve ser codificado o conhecimento que se deseja compartilhar com o destinatário da mensagem Exemplos KIF ( Knowledge Interchange Format ) Versão prefixada (“LISP like”) da lógica clássica de primeira ordem Não está totalmente implementada para uso comercial Produzida pelo KSE Linguagem natural Prolog, SQL, LISP RDF (Resource Description Framework) XML Ato Comunicativo Conteúdo Mensagem

17 Exemplo de uma Mensagem KIF (=(temperatura m1) (scalar 40 Celsius)) (defrelation solteiro (?x) := (and (man ?x) (not(casado ?x))))

18 Linguagem Externa ( LE ) O que é ? Linguagem que encapsula: O ato comunicativo = ato locucionário = performativa Informações para o roteamento Agente receptor Ontologia Linguagem interna Conteúdo … Exemplos KQML FIPA ACL

19 KQML Knowledge Query and Manipulation Language

20 KQML Objetivo Interoperabilidade entre agentes de software em aplicações distribuídas e/ou heterogêneas Pioneira ( KSE – 1994 ) Aplicações eCommerce (negociação) Jogos BDs distribuídos e/ou heterogêneos Integração de tecnologias...

21 KQML : Características Principais características da linguagem: Independente de Linguagem Interna Independente de Ontologia Independente de Protocolos de Transporte de Rede Comunicação baseada nos atos da fala Performativas Sugere o uso de Agentes Facilitadores Camadas: Comunicação, Conteúdo e Mensagem

22 KQML : Sintaxe ( performativa :sender :receiver :reply-with :in-reply-to :language :ontology :content ) Camada de Mensagem Camada de Conteúdo Camada de Comunicação

23 KQML : Performativas Performativas Típicas tell : informa que o conteúdo da mensagem está na KB do locutor ask-if : o locutor quer saber se o conteúdo de sua mensagem é verdadeiro para o receptor advertise : o locutor quer que o receptor saiba que ele pode processar mensagens no modelo do seu conteúdo insert : o locutor “pede” ao receptor que adicione o conteúdo da mensagem à sua KB Outras Performativas achieve, ask-about, ask-all, ask-one, break, broadcast, broker-all, broker-one, deny, delete, delete-all, delete-one, discard, eos, error, evaluate, forward, generator, monitor, …

24 Exemplo A1 envia a seguinte mensagem para A2... ( advertise :senderA1 :receiverA2 :reply-withid1 :languageKQML :ontologykqml-ontology :content( ask-if :senderA2 :receiverA1 :in-reply-toid1 :languageProlog :ontologyCIn :content“Professor(X,Y)”))

25 Exemplo A2 pergunta então a A1... ( ask-if :senderA2 :receiverA1 :in-reply-toid1 :reply-withid2 :languageProlog :ontologyCIn :content“Professor(X, ‘Agentes’)” )

26 Exemplo A1 responde ao agente A2... ( tell :senderA1 :receiverA2 :in-reply-toid2 :reply-withid3 :languageProlog :ontologyCIn :content“X = Geber, X = Flávia, X = Jacques...” )

27 KQML : Problemas Ambigüidade e Termos Vagos O significado de performativas é pouco claro. Performativas com nomes inadequados Algumas performativas têm nomes que não correspondem diretamente ao ato comunicativo a ela associado Ex: “tell” Ausência de performativas Alguns atos comunicativos não estão representados entre as performativas disponíveis

28 FIPA Foundation for Intelligent Physical Agents

29 FIPA : Histórico FIPA é uma associação sem fins lucrativos fundada em 1996 e localizada em Genebra na Suíça Objetiva promover o sucesso das aplicações, serviços e equipamentos baseados em agentes Provê especificações para maximizar a interoperabilidade entre aplicações, serviços e equipamentos baseados em agentes

30 FIPA FIPA x KQML Ao contrário do KQML, as especificações FIPA têm uma grande preocupação com a modelagem semântica Linguagem de Comunicação de Agentes FIPA ACL Linguagens Internas FIPA Content Language Library (FIPA-CLL) FIPA-SL, FIPA-RDF, FIPA-CCL, FIPA-KIF, … Mas também é independente de LI

31 FIPA ACL Sintaxe Praticamente igual ao KQML Conjunto de performativas menor accept-proposal, agree, cancel, cfp, confirm, disconfirm, failure, inform, inform-if, inform-ref, not- understood, propose, query-if, query-ref, refuse, reject-proposal, request, request-when, request- whenever, subscribe E só estes! Semântica Definida precisamente

32 FIPA ACL x KQML Igualdades Independência de IL e de ontologias Sintaxe idêntica Diferenças Visível principalmente na semântica Performativas são diferentes Os agentes de FIPA ACL são proibido de manipular diretamente a KB de outros agentes Tratamento diferente do gerenciamento dos agentes e das primitivas de administração Em FIPA ACL register, unregister,..., são tratados por um módulo a parte

33 Diferenças (situação fictícia) Em KQML Mensagem de A para B: achieve goal X Usa todo o vocabulário da LCA (performativa “achieve”) Em FIPA ACL Mensagem de A para B: inform ( achieve goal X ) A LCA não entende! A LI sim! Elimina a necessidade da performativa achieve na LCA Conteúdo FIPA ACL x KQML

34 Exemplo A1 envia a seguinte mensagem para A2... ( inform :senderA1 :receiverA2 :reply-withid1 :language...:ontology... :content((= available-service A1) (set(provide Professor(X,Y))))”

35 Exemplo A2 pergunta então a A1... ( query-ref :senderA2 :receiverA1 :in-reply-toid1 :reply-withid2 :languageProlog :ontologyCIn :content“Professor(X, ‘Agentes’)” )

36 Exemplo A1 responde ao agente A2... ( inform :senderA1 :receiverA2 :in-reply-toid2 :reply-withid3 :languageProlog :ontologyCIn :content“X = Geber, X = Flávia, X = Jacques...” )

37 Exemplo A simple one...

38 Agente Somador Linguagens Java KQML Ferramentas SACI (Simple Agent Communication Infrastructure)

39 Sociedade Agente Somador Agente Servidor Agente Cliente Facilitador (1) Advertise (2) Get Possible Servers (3) Forward (5) Forward (4) Ask One (6) Tell

40 Plus Server public static void main(String[] args) { Agent a = new PlusServer(); if (a.enterSoc("APlusServer")) { mbox.advertise("ask-one", "algebra", "matematica", "X+Y"); a.run(); // Fica lendo o Mailbox }

41 Plus Server public void run() { while (running) { Message m = mbox.polling(); if (m.get("performative").equals("forward")) { m = new Message(m.get("content").toString()); } if (m.get("performative").equals("ask-one")) { Message r = new Message("(tell)"); r.put("receiver", m.get("sender")); r.put("in-reply-to", m.get("reply-with")); r.put("content", calcula( (String)m.get("content") ) ); mbox.forward(r); } else { System.out.println("ignorando a mensagem"); } }

42 Plus Client public static void main(String[] args) { PlusClient a = new PlusClient(); if (a.enterSoc("AClient")) { a.run(args[0]); }

43 Plus Client public void run(String exp) { String ag = mbox.consultYP("ask-one", "algebra", "matematica", "X+Y"); Message m = new Message("(ask-one :content \""+ exp + "\")"); m.put("receiver", ag); m.put("reply-with", "rSoma"); mbox.forward(m); Message resposta = mbox.polling(); if (resposta.get("performative").equals("forward")) { resposta = new Message(resposta.get("content").toString()); } if ( ((String)resposta.get("in-reply-to")).equals("rSoma")) { System.out.println("\n\n>>>>>>>>> Resposta de “ + resposta.get("sender") + " foi “ + resposta.get("content")); } mbox.disconnect(); }

44 Referências KQML FIPA SACI FIPA x KQML reports/9807-comparing-ACLs.html

45 Referências Finin, Tim and Labrou, Yannis. A Proposal for a new KQML Specification; Finin, Tim., Labrou, Yannis and Mayfield, James. KQML as na communication language. Finin, Tim and Fritzon, Rich. KQML - A language and Protocol for Knowledge and Information Exchange. Finin, Tim and Labrou, Yannis. Semantics and Conversations for na Agent Communication Language Patil, Ramesh S., Fikes Richard E., Patel- Schneider Peter F.., Don Mckay, Finnin, Tim., Gruber, Thomas and Neches Robert. The DARPA Knowledge Sharing Effort : Progress Report

46 Referências Hübner, Jomi and Sichman, Jaime, "SACI: Uma Ferramenta para Implementação e Monitoração da Comunicação entre Agentes", IBERAMIA'2000, SBIA'2000, Atibaia-SP, novembro de 2000 ( Andrew C. Huang, Benjamin C. Ling, Shankar Ponnekanti, Armando Fox. “Pervasive Computing: What Is It Good For?. In proceedings of the Workshop on Mobile Data Management (MobiDE) in conjunction with ACM MobiCom '99, Seattle, WA, September 1999 (forthcoming)MobiDEMobiCom '99