peer-to-peer and agent-based computing agent communication

25
peer-to-peer and agent-based computing Agent communication

Upload: jenna-curran

Post on 28-Mar-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Peer-to-peer and agent-based computing Agent communication

peer-to-peer and agent-based computingAgent communication

Page 2: Peer-to-peer and agent-based computing Agent communication

peer-to-peer and agent-based computing 2

Plan for next two lectures• Communication• Agent Communication Languages• Communication Protocols

Page 3: Peer-to-peer and agent-based computing Agent communication

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

Page 4: Peer-to-peer and agent-based computing Agent communication

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

Page 5: Peer-to-peer and agent-based computing Agent communication

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”.

Page 6: Peer-to-peer and agent-based computing Agent communication

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.

Page 7: Peer-to-peer and agent-based computing Agent communication

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

Page 8: Peer-to-peer and agent-based computing Agent communication

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?”

Page 9: Peer-to-peer and agent-based computing Agent communication

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

Page 10: Peer-to-peer and agent-based computing Agent communication

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/

Page 11: Peer-to-peer and agent-based computing Agent communication

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))

Page 12: Peer-to-peer and agent-based computing Agent communication

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

Page 13: Peer-to-peer and agent-based computing Agent communication

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:

Page 14: Peer-to-peer and agent-based computing Agent communication

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

Page 15: Peer-to-peer and agent-based computing Agent communication

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

Page 16: Peer-to-peer and agent-based computing Agent communication

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.

Page 17: Peer-to-peer and agent-based computing Agent communication

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

Page 18: Peer-to-peer and agent-based computing Agent communication

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

Page 19: Peer-to-peer and agent-based computing Agent communication

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

Page 20: Peer-to-peer and agent-based computing Agent communication

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:

Page 21: Peer-to-peer and agent-based computing Agent communication

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.

Page 22: Peer-to-peer and agent-based computing Agent communication

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)

Page 23: Peer-to-peer and agent-based computing Agent communication

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

Page 24: Peer-to-peer and agent-based computing Agent communication

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.

Page 25: Peer-to-peer and agent-based computing Agent communication

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