Date post: | 28-Mar-2015 |
Category: |
Documents |
Upload: | jenna-curran |
View: | 220 times |
Download: | 1 times |
peer-to-peer and agent-based computingAgent communication
peer-to-peer and agent-based computing 2
Plan for next two lectures• Communication• Agent Communication Languages• Communication Protocols
peer-to-peer and agent-based computing 3
Agent Communication• For agents to communicate they must agree on:
– The syntax of individual messages (i.e., the language)– The sequence of messages (i.e., the protocol)– N.B.1: Languages are distinct from protocols!– N.B.2: We need both!
• We shall look at proposals for– Agent communication languages (ACLs)– Description of protocols
peer-to-peer and agent-based computing 4
Agent Communication (Cont’d)• Agents are different from distributed processes, as
far as their message exchanges:– Individual messages may contain sophisticated
information or knowledge • E.g., a message with an explanation of a diagnosis
– Protocols are more complex • E.g., a many-party argumentation over fishing rights
peer-to-peer and agent-based computing 5
How to do Things With Words• J.L. Austin
– How To Do Things with Words (1962)http://en.wikipedia.org/wiki/J._L._Austin
– Speech acts can change the state of the world– E.g., “I pronounce you man and wife”
• Locutionary act– Act of making an utterance– E.g., “Shut the door!”.
• Illocutionary act– Action performed in saying something– E.g., “He told me to shut the door”.
• Perlocution – The effect of the act– E.g., “He caused me to shut the door”.
peer-to-peer and agent-based computing 6
Background: Speech Acts• John Searle (1969), Speech Acts
– Home page: http://socrates.berkeley.edu/~jsearle/– Extended Austin’s theory:
• Properties required for a speech act to succeed– Wikipedia’s entry:
http://en.wikipedia.org/wiki/Speech_Act• For an imperative:
– Normal I/O conditions state that the hearer is able to hear the request, the act was performed in normal circumstances.
– Preparatory conditions state what must be true for this speech act to be effective, e.g., the hearer must be capable of the action requested, and the speaker must believe the hearer can do it.
– Sincerity conditions state, for example, that the speaker really does want the action performed.
peer-to-peer and agent-based computing 7
Searle: Types of Speech Acts• Representatives:
– Commits speaker to the truth of an expressed proposition
• Directives: – Attempt to get the hearer to do something (an
imperative)• Commissives:
– Commits the speaker to some course of action• Expressive:
– Express some psychological state• Declaratives:
– Causes a change in an institutional state of affairs
peer-to-peer and agent-based computing 8
Agent Communication Languages• Agents exchange messages expressed in an Agent
Communication Language (ACL)– Parties must agree (or be aware) of the syntax of
individual messages • Most ACLs identify distinct kinds of messages
– They represent the intention of the speaker• Examples:
– Indicatives (representatives) – “The cat is on the mat.”– Imperatives (directives) – “Put the cat on the mat!”– Interrogatives – “Where is the cat?”
peer-to-peer and agent-based computing 9
Message Structure• Based on communicative acts (CAs), i.e., the
performatives:– Illocutionary verbs, i.e., they describe the speaker’s
intention– ACL = CA + MSG
• ACLs provide a mechanism for context: – sender, receiver, ontology, protocol, etc.
Message expressed in some Agent Communication Language
Sender: Agent-nameReceiver: Agent-name
Message content expressed in a content language, refers to an ontology
peer-to-peer and agent-based computing 10
KQML• Knowledge Query Manipulation Language
– Wikipedia’s entry:http://en.wikipedia.org/wiki/
Knowledge_Query_and_Manipulation_Language• Developed in the early 1990s • Originally conceived as an interface to KBSs
– “Repurposed” as an ACL… • Web site:
http://www.cs.umbc.edu/kqml/
peer-to-peer and agent-based computing 11
KQML ACL• KQML messages are of the form
• For example:
(performative :sender S :receiver R :language L :ontology O :in-reply-to I1 :reply-with I2 :content K)
(ask-one :sender shopper :receiver amazon-agent :language prolog :ontology book-ontology :in-reply-to advert1234 :reply-with q321 :content book(‘How to do things with words’,‘Austin’,Price))
peer-to-peer and agent-based computing 12
KQML (Informal) Semantics• In 1997 KQML had 35 “performatives”, including:
ask-if S wants to know if K is in R’s KBask-all S wants to know all instantiations of K that are trueask-one S wants one instantiation of K that is true in R’s KBtell K is in S’s KBinsert S asks R to add K to its KBadvertise S wants R to know that S can process Kbroker-one S wants R to provide one response to K (some agent other
than R is going to provide the response)broker-all S wants R to provide all responses to K (some agents
other than R are going to provide the responses)recommend-one S wants to learn of an agent who can respond to Krecommend-all S wants to learn of all agents who can respond to K
peer-to-peer and agent-based computing 13
KQML Facilitation
(advertise :sender amazon-agent :receiver facilitator42 :language KQML :ontology KQML-ontology :content (ask-one :sender amazon-agent :receiver facilitator42 :language prolog :ontology book-ontology :reply-with advert1234 :content book(Title,Author,Price) ))
• KQML performatives divided into groups:– Discourse: ask-one/all, ask-if, tell, insert,…– Facilitation: advertise, broker-one/all, recommend-one/all– Mechanics: low-level stuff like IP address registration
• Facilitator agent to handle facilitation performatives.– Usually involving nested KQML messages:
peer-to-peer and agent-based computing 14
Recommend-Style Facilitation• Conversation for recommend-style facilitation:
1.Agent A advertises to broker B that it can supply K2.Originator O requests recommendation from B for a
supplier of K3.B sends O advertisement that A can supply K4.O asks A a query Q concerning K.5.A tells O some information I in response to Q.
Advantage: O can cache advert message for later reuse
O A
B1. advertise K
3. advertise K
2. recommend K?
4. ask Q
5. tell I
peer-to-peer and agent-based computing 15
Broker-Style Facilitation• Alternative style of brokerage: “middleperson”
1.A advertises to B that it can supply K, as before.2.O requests B to act as broker for a query Q.3.B determines that Q concerns K, so asks Q to A.4.A tells B a response I to Q.5.B tells I to O.
Advantage: agent O only needs to know the broker
O A
B
1. advertise K
5. tell I
2. broker Q3. ask Q
4. tell I
peer-to-peer and agent-based computing 16
FIPA ACL• The Foundation for Intelligent Physical Agents
– Standards organisation promoting agent-based technology– Goal: interoperability of standards with other technologies– Web site: http://www.fipa.org
• The FIPA ACL– Open standard described at
http://www.fipa.org/specs/fipa00061/SC00061G.pdf – Based on ARCOL (Sadek) & KQML
• Content – content languages FIPA SL, constraint language, KIF, RDF.
• FIPA interaction protocols – Conversations to achieve some interaction or effect; e.g. auction,
contract net, negotiation.
peer-to-peer and agent-based computing 17
FIPA: Message StructureFIPA-ACL messages consist of the following
parameters:
Parameter Descriptionperformative type of communicative actsender identity of agent sending the messagereceiver identity of intended recipient of message
reply-to id of agent to which subsequent messages should be directed
content object of the communicative actionlanguage syntax of the content of the message
peer-to-peer and agent-based computing 18
FIPA: Message Structure (Cont’d)
Parameter Descriptionencoding specific encoding of content expressionontology semantics (meaning) of contentprotocol interaction protocol of which message is partconversation-id unique identifier of the conversation
reply-with identifier (local to this conversation) for the response to this message
in-reply-to identifier of the message this is a response toreply-by deadline for the reply
peer-to-peer and agent-based computing 19
Message Structure (Cont’d)• Only mandatory element is performative
– However, most messages will also have at least the sender, receiver and content
• If an agent is unable to process one or more element of a message, it must respond with not-understood– An agent that complies with FIPA ACL must at least
support not-understood
peer-to-peer and agent-based computing 20
(request :sender (:name [email protected]:8080) :receiver (:name rexhotel@tcp://hotelrex.com:6600) :ontology personaltravelassistant :language FIPA-SL :protocol fipa-request :content (action movenpickhotel@tcp://movenpick.com:6600 (bookhotel (:arrival 25/11/2000) (:departure 05/12/2000) ...)))
Sample Message• A request for a hotel booking:
peer-to-peer and agent-based computing 21
Another example: Inform• Summary:
– Sender informs receiver that something is true• Message Content: a fact• Description – the sending agent:
1.Believes that some fact is true,2.Intends that the receiving agent also comes to believe
that the fact is true, and,3.Does not already believe that receiver has any
knowledge of the truth of the fact.
peer-to-peer and agent-based computing 22
• Sending agent is sincere– Has (somehow) generated the intention that the receiver
should know the fact.• Last property concerns semantic soundness of the
act:– If an agent knows already that some state of the world
holds (that the receiver knows fact p), THEN– It cannot rationally adopt an intention to bring about
that state of the world– A rational agent X should never adopt an intention to tell
Y something that X knows that Y already knows…
Another example: Inform (Cont’d)
peer-to-peer and agent-based computing 23
Another example: Inform (Cont’d)• From the receiver's viewpoint, receiving an inform
message entitles it to believe that:– The sender believes the fact contained in the message,
and,– The sender wishes the receiver to believe that fact also
• Whether or not receiver adopts the belief in the
fact will be determined by the receiver’s trust in the sincerity and reliability of the sender
peer-to-peer and agent-based computing 24
Other Performatives• FIPA Communicative Act Library Specification• Includes:
– request an agent to perform some action– query (ask a question)– propose a deal during negotiation– accept-proposal to commit to an agreement– reject-proposal to terminate negotiation without
agreement– etc.
peer-to-peer and agent-based computing 25
FIPA ACL and JADE• JADE: FIPA-compliant platform• Incorporates FIPA ACL
– Functionalities to assemble and parse messages in FIPA-ACL
– Pushing a standard onto industry