Comunica - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Comunica

Description:

Comunica o entre Agentes em Ambientes Distribu dos: O Modelo peer-to-peer Prof. Fred Freitas fred.freitas_at_tci.ufal.br Mestrado em Inform tica – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 34
Provided by: FredFr4
Category:

less

Transcript and Presenter's Notes

Title: Comunica


1
Comunicação entre Agentes em Ambientes
Distribuídos O Modelo peer-to-peer
  • Prof. Fred Freitas fred.freitas_at_tci.ufal.br
  • Mestrado em Informática Universidade Federal de
    Alagoas

2
Roteiro
  • Comunicação Cliente-Servidor
  • Requisitos de comunicação de agentes cognitivos
  • Comunicação em Nível de Conhecimento
  • Vantagens do Modelo peer-to-peer
  • A Linguagem de comunicação KQML
  • A Linguagem Arcol da FIPA
  • Conseqüências para Integração Objetos-Regras
  • O pacote JATLite
  • - Como usá-lo
  • Exemplos

3
Motivações de Multiagentes em SD
  • Conjuntura Grandes redes heterogêneas abertas
    (Internet)
  • Problemas grandes, complexos e interdependentes
  • Recuperação de informações
  • Mineração de Dados
  • Mediação
  • Necessidade de concorrência
  • Domínios distintos
  • Comércio eletrônico
  • Negociação
  • Padrôes para diálogos
  • Sistemas abertos pedem uma comunicação
    dinamicamente estabelecida e semanticamente
    contextualizada entre diferentes entidades de
    softwares

4
O Modelo de Comunicação Cliente-Servidor
  • Os servidores provêem os serviços, os clientes os
    usam
  • mestre-escravo
  • Os serviços estão acessíveis via RPCs (Remote
    Procedure Calls)
  • RPCs executam métodos de objetos remotos cujas
    assinaturas foram mapeadas para ORBs (Object
    Request Brokers) e estão acessíveis pela Internet

Msg pedindo exec do método (parâmetros) Resposta
Cliente Servidor ORB
5
Prós e Contras
  • Vantagens
  • Rapidez
  • Adequados a sistemas de tempo real e SMAs
    reativos
  • Tranparência de execução
  • Desvantagens
  • Vocabulário apenas os parãmetros dos métodos
  • Faltam
  • Expressividade
  • Intenção
  • Contexto
  • Iniciativa
  • Dificultam a implementação de autonomia, e
    cooperação dinâmica

6
Comunicação em Nível de Conhecimento
  • Baseada na Teoria dos Atos de Fala Austin 62,
    que modela a comunicação humana
  • Os atos de fala expressam as intenções dos
    agentes
  • assertivos (informar), diretivos (pedir ou
    consultar), comissivos (prometer ou
    comprometer-se), proibitivos, declarativos
    (causar eventos para o próprio comunicador) e
    expressivos (emoções).
  • Princípio Huhns-Singh para agentes Huhns Singh
    97
  • Um agente deve mudar de comportamento quando
    outro agente entra no ambiente

7
Requisitos
  • Confiável Msgs explícitas e legível por pessoas
  • Expressiva
  • Mensagens complexas
  • Contexto
  • Intenções
  • Compreensível Mensagens escritas num formalismo
    lógico, entendido por ambos os agentes
  • Tradução entre formalismos
  • Semântica clara Vocabulário comum (ontologia)
    entre os agentes
  • Níveis
  • Ato de fala (intenção)
  • Contexto (ontologia)
  • Esquema de cooperação
  • contract-net, etc.
  • Conteúdo (numa lógica)
  • Dados da mensagem
  • Remetente, destino, etc

8
O Vocabulário Comum Ontologias
  • Conceitualização de uma área de conhecimento
    Gruber 95
  • Conjuntos de conceitos, definições, relações,
    axiomas e restrições sobre a área

9
Evolução de arquiteturas de comunicação
10
Recursos de ACLs
  • Serviço de registro de agentes
  • Serviço de conexão de agentes
  • Serviço de nomes e roteamento para agentes
  • Transparência de localização
  • Roteamento e enfileiramento de mensagensaté
    quando o agente destinatário está desconectado
  • Parsers para mensagens, brokering (facilitação)
    and broadcasting
  • Independente da linguagem de conteúdo das
    mensagens
  • Suporte a vários protocolos TCP/IP, SMTP, FTP,
    POP3 e HTTP, para aplicações e applets.
  • Referências a mensagens anteriores (in-reply-to)

11
KQML - Knowledge Query and Manipulation Language
  • KQML é uma linguagem de comunicação que dá
    suporte a agentes na identificação, conexão e
    troca de informação com outros agentes.
  • Mensagens KQML não enxergam o conteúdo das
    mensagens que elas transportam
  • Categorias dos atos de fala
  • Conversação - trocas de informação e conhecimento
    entre dois agentes (ask-if,ask-alltell,advertise,
    insert, subscribe, recruiting)
  • Intervenção - intervenção da conversação
    (error,sorry)
  • Facilitação e Rede - permitem que agentes achem
    outros agentes que podem processar suas consultas
    (register, unregister, transport-address,forward,b
    roadcast,broker-one,recommend-one)

12
Comunicação via KQML
  • Exemplo O facilitador recebe a seguinte
    mensagem
  • (broker-one sender C
  • receiver facilitador
  • reply-with id3
  • language KQML
  • ontology kqml-ontology
  • content (ask-all sender C
  • reply-with id4
  • language Prolog
  • ontology Campeonato Brasileiro
  • content
    (Campeao(Flamengo,Y))))

13
Comunicação via KQML
  • Exemplo (cont.) E então, o agente facilitador
    envia para o agente C
  • (forward from A
  • sender facilitador
  • receiver C
  • in-reply-to id3
  • reply-with id6
  • language KQML
  • ontology kqml-ontology
  • content (tell receiver C
  • language Prolog
  • ontology C. Brasileiro
  • content (Campeao(Flamengo, 1980),
    ... ,Campeao(Flamengo,1992))))

14
Exemplo de Comunicação em KQML
  • (ask-all
  • sender CFP-Agent
  • receiver PPR-Agent
  • reply-with id1
  • language JessTab
  • ontology Science
  • content (object (is-a Link) (URL ?u)
  • (anchor ?a(occurs call-for-papers ?a))))

15
Ex. de Comunicação em KQML (cont.)
  • (tell
  • sender PPR-Agent
  • receiver CFP-Agent
  • in-reply-to id1
  • reply-with id2
  • language JessTab
  • ontology Science
  • content (object (is-a Link)
  • (URL http//lcn2002.cs.bonn.edu)
  • (anchor IEEE Conference on Local Computer
    Networks (LCN 2002))))

16
Informando conceitos de um caso...
  • (inform sender cfp
  • receiver ppr
  • language JessTab
  • ontology Science
  • content
  • (ppr_00008 of Case
  • (Description "cfp suggestions") (Concepts
    Call-for-participation annual
  • conference Call-for-papers workshop))))

17
Pedindo links com os conceitos...
  • (ask-all sender cfp
  • receiver ppr
  • language JessTab
  • ontology Science
  • content (object (is-a Anchor) (Link-Text ?l))
  • (Result (Page-Status CLASSIFIED) (Class
    "Conference-Paper"))
  • (object (is-a Web-Page) (Contents ?co))
  • (test (and (if-occur ?l (begin-until "abstract"
    ?co)) (if-occur (slot-get
    ppr_00008 Concepts) ?l))))

18
Exemplo de Comunicação em KQML
  • (ask-all
  • sender CFP-Agent
  • receiver PPR-Agent
  • reply-with id1
  • language JessTab
  • ontology Science
  • content (object (is-a Link) (URL ?u)
  • (anchor ?a(occurs call-for-papers ?a))))

19
Ex. de Comunicação em KQML (cont.)
  • (tell
  • sender PPR-Agent
  • receiver CFP-Agent
  • in-reply-to id1
  • reply-with id2
  • language JessTab
  • ontology Science
  • content (object (is-a Link)
  • (URL http//lcn2002.cs.bonn.edu)
  • (anchor IEEE Conference on Local Computer
    Networks (LCN 2002))))

20
Hierarquia de Roteadores / Facilitadores
21
A Linguagem ARCOL
  • Feita pela FIPA (Foundation for Intelligent
    Physical Agents) a partir de KQML
  • Visa o consenso em e-commerce inteligente
  • Nomes globais para agentes
  • Ambientes seguros para negociação entre agentes
  • Agentes móveis
  • Mediação
  • Semântica mais clara das intenções
  • Composição entre elas
  • Inclusão de esquema de cooperação
  • Definição de ambientes e mediadores

22
(No Transcript)
23
Falsos Cognatos entre IAD e SD
  • Heterogeneidade
  • Comunicação
  • Compartilhamento
  • Escalabilidade
  • Transparência
  • Portabilidade
  • Peer-to-peer

24
Conseqüências para EOOPSs
  • Embedded Object Oriented Production Systems
    Pachet 95Motores de inferência integráveis a
    objetos
  • Comunicação p2p deve ser explícita (não enviar
    objetos!)
  • Separar bem o que é declarativo e procedural
  • Conhecimento misturado com código (objetos e
    métodos) não pode ser traduzido ou reusado
  • Inicializar objetos no código procedural, por
    métodos dispostos pelo motor de inferência
  • Evitar ao máximo executar métodos dentro de BCs,
    mas se for necessário, manter uma BC pequena,
    exclusiva para isso
  • Na BC, privilegiar funções do motor às da
    linguagem hospedeira do motor, apesar de serem
    menos eficientes

25
Integrando um Objeto a um Motor
public class PaginaWWW public PaginaWWW(
String wurl ) ... public String protocolo()
return protocolo
public String hostName()
return hostName public int
tamanho() return
tamanho public void processaInfo()
26
Inicializando objetos no código
PaginaWWW p new PaginaWWW(Url) // Processing
of the page by the reasoning engine //
sending data to Jess
rete.addDefglobal(new Defglobal("?URL",new
Value(Url,RU.STRING)))
rete.addDefglobal(new Defglobal("?page",new
Value((Object)p)))
rete.assertString("(access ?URL)")
rete.reset() rete.run()
ValueVector mainFact new
ValueVector() mainFact (rete.fetch("STATUS"))
.listValue(rete.getGlobalContext())
urlRetreivd (mainFact.get(0)).toString(
) fact ((mainFact.get(1)).toString(
)).trim() rule (mainFact.get(2)).in
tValue(rete.getGlobalContext())
27
BC separada
(defrule i_3_fill-ini ?f1 lt- (access ?y) gt
(assert (web-page (URL ?y) (protocol (call
?page protocolo)) (host (call ?page
hostName)) ... (length (call ?page
tamanho)))) (retract ?f1) (assert (accessed
?y))) (defrule i_5_filling (valid ?y)
gt (assert (proc ?y (call ?page
processaInfo))))
28
O Pacote JATLite para KQML
  • Java Agent Template Lite Classes para a
    construção de agentes, facilitadores e roteadores
  • java.stanford.edu
  • Parser KQML, mas aceita outra linguagem
  • Protocolos TCP/IP, HTTP, FTP ou outros
  • Agentes com resposta direta ou fila de mensagens

29
Camadas do JATLite
  • Abstrata - classes abstratas necessárias, com
    TCP/IP, mas provê herança de que podem
    implementar outros protocolos.
  • Básica - funcionalidades de comunicação
  • KQML - armezanamento e parsing de mensagens KQML
    e serviços de conexão
  • Roteadora - serviço de registro de nomes,
    roteamento e enfileiramento de mensagens.
  • Protocolo - suporte aos protocolos SMTP, FTP,
    POP3, HTTP, tanto para aplicativos quanto pra
    applets.
  • Em Windows, applets exigem que a máquina onde
    está o roteador tenha um servidor de páginas

30
Como (Re)Usar o JATLite
  • Estudar mensagens KQML e seus parâmetros
  • Instalar um roteador na rede e deixá-lo rodando
  • Testar exemplos prontos em outras máquinas
  • Implementar agentes estendendo a classe abstrata
    RouterLayer.RouterClientAction
  • Implementar o método Act(Object o), que trata
    cada mensagem da fila do agente e outros métodos
    e objetos
  • Lembrar que Java não possui herança múltipla!
    Opções
  • Colocar a parte de comunicação no nível mais alto
  • Criar um construtor que tenha como parâmetros os
    objetos que ele precisará na execução do Act,
    permitindo assim um objeto comunicador e herança
    de outra classe no nível mais alto

31
import Abstract. import KQMLLayer. import
RouterLayer. import RouterLayer.AgentClient.
public class MASTERWebAgent
extends RouterClientAction ... public boolean
Act(Object o) try KQMLmessage
kqml mail.getKQMLmessage() String perf
kqml.getValue("performative") String
pf "ask-oneask-alltellerror"
switch(pf.indexOf(perf)) case
0 ...
// send delete message to the Router
addToDeleteBuffer(0)
return true case -1 // error
message sendErrorMessage(kqml)
return false catch(KQMLLayer.P
arseException re) return false
32
Exemplo de Comunicação
C\Agent\Codegt jview Agent.Code.MASTERWebAgent Ini
tialization Success Jessgt cfp_r_56_big-title
111111122t TRUE ... Jessgt Server
created cfpServer Started Start to
register Register accepted Before Start to
connect as cfp (reconnect-agent host
iching.lcmi.ufsc.br port 25 sender cfp
receiver Router password jhc email
fred1_at_lcmi.ufsc.br) Connection established Router
started
33
Exemplo de Comunicação (cont.)
Sending message Sending success Client Router
running Msg receivedN 972087857260
(registered-agent sender Router receiver cfp
content ((CADStandAlone carbonell.lcmi.ufsc.br
-1 disconnected) (RouterRegistrar carbonell 4445
disconnected) (Router carbonell 4444
disconnected) (CalcServer carbonell.lcmi.ufsc.br
5556 disconnected) (cfp iching.lcmi.ufsc.br 25
connected) (ccc null -1 disconnected) (CADApplet
null -1 disconnected) (ddd null -1
disconnected))) Msg receivedN 972936297630
(ask-all content (web-page (URL ?y)) reply-with
t language Jess receiver cfp sender
org) (defrule r_1_org (web-page (URL ?y ) )gt
(assert (to-send cfp org ?y 1))) r_1_org
11t Msg receivedN 972936297630 (tell force
tentative content (link http//www.com.br 4)
language Jess receiver cfp sender
org) URLhttp//www.com.br
Write a Comment
User Comments (0)
About PowerShow.com