agent communication the nature of communication indirect communication agent communication...

26
Agent Communication Agent Communication The nature of communication Indirect communication Agent Communication Languages (ACLs) KQML FIPA Communication content Interaction protocols

Upload: darrell-hubbard

Post on 28-Dec-2015

232 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

Agent CommunicationAgent Communication

The nature of communication Indirect communication Agent Communication Languages

(ACLs)• KQML• FIPA

Communication content Interaction protocols

Page 2: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

1. The nature of 1. The nature of communicationcommunication

Human communicationHuman communication Communication is the intentional exchange of information brought about

by the production and perception of signs drawn from a shared system of conventional signs (AIMA, Russell&Norvig) language

Communication seen as an action (communicative act) and as an intentional stance

Component steps of communicationComponent steps of communicationSpeakerSpeaker HearerHearer Intention Perception Generation Analysis Synthesis Disambiguation

Incorporation

2

SyntaxSemanticsPragmatics

Page 3: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

Artificial CommunicationArtificial Communication low-level language vs high-level languages direct communication vs. indirect communication

Computer communicationComputer communication shared memory message passing

Agent communication/ MAS communicationAgent communication/ MAS communication low-level communication: simple signals, traces, low-level languages high-level communication - cognitive agents, mostly seen as intentional

systems Communication in MAS = more than simple communication, implies

interaction The environment provides a computational infrastructure where

interactions among agents take place. The infrastructure includes protocols for agents to communicate and protocols for agents to interact

3

Page 4: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

Communication protocolsCommunication protocols = enables agents to exchange and understand messages

Interaction protocolsInteraction protocols = enable agents to have conversations, i.e., structured exchanges of messages

AimAim Communication enables agents to: coordinate their actions and behavior, a property of

a MAS performing some activity in a shared environment

attempt to change state of the other agents attempt to make the other agents perform some

actions

4

Page 5: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

2. Indirect communication2. Indirect communication2.1 Signal propagation2.1 Signal propagation - Manta, A. Drogoul 1993 An agent sends a signal, which is broadcast into the environment, and

whose intensity decreases as the distance decreases At a point x, the signal may have one of the following intensities

V(x)=V(x0)/dist(x,x0) V(x)=V(x0)/dist(x,x0)2

5

x0

SS - stimulus

Agent A(stimulus triggersbehavior P)

Agent B(stimulus triggersbehavior P)

Topological differenceslead to social differences

2.2 Trails2.2 Trails - L. Steels, 1995 agents drop "radioactive crumbs" making trails an agent following a trail makes the trail faint until it disappears

Reactive agentsReactive agents

Page 6: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

2.32.3 Blackboard systemsBlackboard systems, Barbara Hayes-Roth, 1985

Blackboard = a common area (shared memory) in which agents can exchange information, data, knowledge

Agents initiates communication by writing info on the blackboard Agents are looking for new info, they may filter it Agents must register with a central site to receive an access

authorization to the blackboard Blackboard = a powerful distributed knowledge computation

paradigm Agents = Knowledge sources (KS)

6

Cognitive agentsCognitive agents

KS

KS

KS

KS

KSAR

Control

Blackboard

Page 7: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

3. Direct communication3. Direct communication

Sending messages Sending messages = method invocation The Actor language

• an Actor executes a sequence of actions in reply to the received message

Exchange of partial plans• distributed planning

ACL = Agent Communication ACL = Agent Communication LanguagesLanguages

communication as action - communicative acts7

Page 8: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

3.1 Agent Communication Languages3.1 Agent Communication Languages Concepts (distinguish ACLs from RPC, RMI or CORBA, ORB):

ACLs handle propositions, rules, and actions instead of objects with no associated semantics

An ACL message describes a desired state in a declarative language, rather than a procedure or method invocation

ACLs are mainly based on BDI theories: BDI agents attempt to communicate their BDI states or attempt to alter interlocutor's BDI state

ACLs are based on Speech Act Theory Agent behavior and strategy drive

communication and lead to conversations

8

Origins of ACLsOrigins of ACLsKnowledge Sharing Effort - DARPA, 1990 External Interface Group - interaction between KBS - KQML Interlingua - common language of KB - KIF Shared, Reusable Knowledge Bases - Ontolingua

ACL

Content language

Ontology

Page 9: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

Theory of Speech ActsTheory of Speech ActsJ. Austin - How to do things with words, 1962, J. Searle - Speech acts,

1969

A speech act has 3 aspects: locution = physical utterance by the speaker illocution = the intended meaning of the utterance by the speaker (performative) prelocution = the action that results from the locution

Alice told Tom: "Would you please close the door"locution illocution content

prelocution: door closed (hopefully!)

Illocutionary aspect - several categories Assertives, which inform: the door is shut Directives, which request: shut the door, can pelicans fly? Commissives, which promise something: I will shut the door Permissive, which gives permission for an act: you may shut the door Prohibitives, which ban some act: do not shut the door Declaratives, which causes events: I name you king of Ruritania Expressives, which express emotions and evaluations: I am happy

9

Page 10: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

3.2 KQML - 3.2 KQML - Knowledge Query and Knowledge Query and Manipulation Manipulation

LanguageLanguageA high-level, message-oriented communication language and protocol for information exchange, independent of content syntax (KIF, SQL, Prolog,…) and application ontology

KQML separates: semantics of the communication protocol (domain independent) semantics of the message (domain dependent)

3 (conceptual) layers3 (conceptual) layers

10

Content

Communication

Message

Describes low levelcommunication parameters:- identity of sender and receiver- an unique id associated with the communication

Core of KQML- identity of the network protocol with which to deliver the message- speech act or performative Optional- content language- ontology

Page 11: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

SyntaxSyntax S-expressions used in LISP

(ask-one :sender joe:receiver ibm-stock:reply-with ibm-stock:language PROLOG:ontology NYSE-TICKS:content (price ibm ?price) )

11

(tell :sender willie:receiver joe:reply-with block1:language KIF:ontology BlockWorld:content (AND (Block A)(Block

B)(On A B)) )1. Query performatives:

ask-one, ask-all, ask-if, stream-all,...

(stream-all :sender willie:receiver ibm-stock

:content (price ?VL ?price ) )(standby

:content (stream-all:content (price ?VL ?

price) )

ask-one(P)

tell(P)

tell(P1)

stream-all(P)

tell(P2)eos

tell(P1,P2,...)

ask-all(P)

B

B

B

A

A

A

Page 12: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

12

4. Generic informational performatives:tell, untell, insert, delete, ...

In fact, KQML contains only 2 types of illocutionary acts: assertives and directives

+ facilitator and network-related performatives (no necessarily speech acts)

tell(P)

untell(P)

delete(P)

insert(P)

2. Generator performatives:standby, ready, next, rest, discard, generate,...

6. Network performatives:register, unregister, forward, route, ...

3. Response performatives:reply, sorry ...

5. Capability performatives:advertise, subscribe, recommend...

Facilitator

A

A

B

B

Page 13: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

13

Facilitator agentFacilitator agent= an agent that performs various useful communication services:

maintaining a registry of service names (Agent Name Server) forwarding messages to named services routing messages based on content matchmaking between information providers and clients providing mediation and translation services

tell(P)

ask(P)

subscribe(ask(P)) tell(P)

tell(P)

advertise(ask(P))

tell(P)

recruit(ask(P))

ask(P)

recommend(ask(P)) advertise(ask(P))

tell(P)

ask(P)

reply(B)

A

A

A

A

B

B

B

B

ask(P)

Page 14: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

14

Semantics of KQML Semantics of KQML (Labrou & Finin)(Labrou & Finin) Use preconditions and postconditions that govern the use of a performative + the

final state for the successful performance of the performative Uses propositional attitudes: belief, knowledge, desire, intentions

Preconditions: the necessary states for an agent to send a performative and for the receiver to accept it and successfully process it; if the precondition do not hold, the most likely response is error or sorry

Postconditions - describe the state of the sender after successful utterance of a performative and of the receiver after the receipt and processing of a message

Completion condition - the final state after a conversation has taken place and that the intention associated with the performative that started the conversation has been fulfilled

Bel(A,P) Know(A,S) Want(A,S) Int(A,S)

Instances of action

Proc(A,M) SendMsg(A,B,M)

Page 15: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

15

tell(A,B,X)tell(A,B,X)A states to B that A believes the content X to be true, Bel(A,X)

Pre(A): Bel(A,X) Know(A, Want(B, Know(B,S)))

Pre(B): Int(B, Know(B,S))

where S may be any of Bel(B,X) or Bel(B,X)

Post(A): Know(A, Know(B, Bel(A,X))) no unsolicited information

Post(B): Know(B, Bel(A,X))

Completion: Know(B, Bel(A,X))

advertise(A,B,M)advertise(A,B,M)A states to B that A can and will process the message M from B, if it receives one

Int(A, Proc(A,M)) commisive act

Pre(A): Int(Proc(A,M))

Pre(B): NONE

Post(A): Know(A, Know(B, Int(A, Proc(A,M)))

Post(B): Know(B, Int(A, Proc(A,M)))

Completion: Know(B, Int(A, Proc(A,M)

Page 16: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

16

3.3 FIPA3.3 FIPA - ACL- ACLFoundation for Intelligent Physical Agents, 1996

Goal of FIPA = make available specifications that maximize interoperability across agnt-based systems

FIPA Committees: ACL, agent specification, agent-software interaction As KQML, FIPA ACL is based on speech act theory; it sees messages as

communication acts (CA); syntax similar to KQML Differs in: the names of CAs, set of CAs, and semantics

(inform :sender Agent1:receiver Agent2:content (price good2 150):in-reply-to round-1: reply-with bid03: language S1:ontology hp-auction:reply-by 10:protocol offer:conversation-id conv-1 )

FIPA communicative actsInformatives - query_if, subscribe, inform, inform_ifconfirm, disconfirm, not_understoodTask distribution - request, request_whenever, cancel, agree,refuse, failureNegotiation - cfp, propose, accept_proposalreject_proposal

Page 17: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

17

FIPAFIPA - - SemanticsSemanticsSL (Semantic Language) - a quantified, multi-modal logic, with modal operators:

B - belief D - desire U - uncertain belief PG - intention

Bif - express whether an agent has a definite opinion one way or another about the truth or falsity of

Uif - the agent is uncertain about The semantics of a CA is specified as a set of SL's formulae that describe: Feasibility preconditions - the necessary conditions for the sender - the sender is

not obliged to perform the CA Rational effect - the effect that an agent can expect to occur as a result of

performing the action; it also typically specifies conditions that should hold true of the recepientThe receiving agent is not required to ensure that the expected effect comes aboutThe sender can not assume that the rational effect will necessary follow

<i, inform(j, )>

Pre: Bi Bi (Bifj Uifj )

Post: Bj

Page 18: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

18

Using ACLs in MAS

Any MAS that is to use an ACL must provide: a finite set of APIs for composition, sending, and receiving ACL

messages an infrastructure of services that assist agents in naming,

registration, and basic facilitation services (finding other agents that can do things for your agent)

code for every reserved message type that takes the action prescribed by the semantics for the particular application;

the code depends on the application language, the domain, and the details of the agent system using the ACL

Page 19: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

19

4. Communication content4. Communication content

Content languages• KIF• Prolog• Clips• SQL• FIPA-SL, FIPA-CCL, FIPA-KIF• DAML

Ontologies

ACL

Content language

Ontology

DARPA Agent Markup LanguageThe DAML Program officially began in August 2000.The goal of the DAML effort is to develop a languageand tools to facilitate the concept of the Semantic Web.

Page 20: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

20

FIPA-SL(request :sender (agent-identifier :name i) :receiver (set (agent-identifer :name j)

:content ((action (agent-identifier :name j)(deliver box7 (loc 10 15))))

:protocol fipa-request :language fipa-sl :reply-with order56 )

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

:content ((action (agent-identifier :name j)(deliver box7 (loc 10 15))) (priority order56

low)) :protocol fipa-request :language fipa-sl :in-reply-to order56 )

4.1 Content languages4.1 Content languages KIF - Knowledge Interchange FormatA prefixed version of FOPL with expressions to support nonmonotonic reasoning and definitions

(salary ?x ?y ?z)- capability of encoding knowledge about knowledge

(interested joe (salary ,?x ,?y ,?z))

Page 21: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

21

4.2 Ontologies4.2 OntologiesOntology = a specification of objects, concepts, and

reationships in a particular domain; it comprises a vocabulary, a domain theory and a conceptual schemata to describe organization and interpretation

An ontology is more than a taxonomy of classes,it must also describe relationships

x (Block x) (PhysicalObject x)Instead of (Block A)

(InstanceOf A Block)

(Class Block) Hierarchy

(Class PhysicalObjects)

(SubclassOf Block PhysicalObjects)

x,y,z (InstanceOf x y) (SubclassOf y z)

(InstanceOf x z)Ontology editors frame-based KR systems that allow the user to define an ontology and its components: classes, instances, relationships, and functions

Person

PupilStudEmpl

Sun_EIBM_E

Person

Empl

Woman

Stud

Man

Joe Alice

Joe Alice

Page 22: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

5. Interaction protocols5. Interaction protocolsInteraction protocolsInteraction protocols = enable agents to have conversations, i.e., structured exchanges of messages

Finite automata Conversations in KQML Petri nets - more in distributed planning lecture

FIPA IP standards:• FIPA-query, FIPA-request, FIPA-contract-net, ... We shall look at examples next time

Page 23: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

5.1 Finite state automata5.1 Finite state automata

23

A:B<<ask(do P)

B:A<<accept(do P)

B:A<<refuse(do P)

B:A<<result(do P) B:A<<fail(do P)

proposeS(P)

acceptR(P) rejectR(P)

counterR(P)counterS(P)

acceptS(P) rejectS(P)Winograd, Flores, 1986

COOL, Barbuceanu,95

Page 24: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

24

5.2 Conversations in KQML5.2 Conversations in KQMLUse Definite Clause Grammars (DCG) formalism for the specification of conversation policies for KQML performatives

DCGs extend Context Free Grammars in the following way: non-terminals may be compound terms the body of the rule may contain procedural attachments, written as "{" and "}"

that express extra conditions that must be satisfied for the rule to be valid

Ex: noun(N) [W], {RootForm(W,N), is_noun(N)}

S s(Conv, P, S, R, inR, Rw, IO, Content), {member(P, [advertise, ask-if]}

s(Conv, ask-if, S, R, inR, Rw, IO, Content) [ask-if, S, R, inR, Rw, IO, Content] |

[ask-if, S, R, inR, Rw, IO, Content], {OI is inv(IO)},

r(Conv, ask-if, S, R, _, Rw, OI, Content)

r(Conv, ask-if, R, S, _, inR, IO, Content) [tell, S, R, inR, Rw, IO, Content] |

problem(Conv, R, S, inR, _, IO) Labrou, Finin, 1998

Page 25: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

DAA wants to do P,A cannot do P

Request do(P)

Refuse do(P)

Accept/request do(P)

Fail to do(P)

Notification of end(P)

DB

AR1

AR2

FA2FA1

BR

FBFailure Satisfaction

Impossibleto do(P)

B does not wantto do(P)

B is willingto do(P)

Completed(P)

5.3 Petri nets5.3 Petri netsPetri net = oriented graph with 2 type of nodes:places and transitions;there are moving tokens through the net - representation of dynamic aspect of processes.Tokens are moved from place to place, following firing rules.A transition T is enabled if all the input places P of T posses a token (several other rules may be defined).A marking is a distribution of tokens over places. Colored Petri-nets

Ferber, 1997

25

Page 26: Agent Communication   The nature of communication   Indirect communication   Agent Communication Languages (ACLs) KQML FIPA   Communication content

26

ReferencesReferences M. Huhns, L. Stephens. Multiagent systems and societies of agents. In Multiagent Systems - A Modern

Approach to Distributed Artficial Intelligence, G. Weiss (Ed.), The MIT Press, 2001, p.79-120. M. Wooldrige. Reasoning about Rational Agents. The MIT Press, 2000, Chapter 7 Y. Labrou, T. Finin. Semantics and conversations for an agent communication language. In Readings in

Agents, M. Huhns & M. Singh (Eds.), Morgan Kaufmann, 1998, p.235-242. J. Ferber - Multi-Agent Systems. Addison-Wesley, 1999, Chapter 6 T. Finnin, R. Fritzson - KQML as an agent communication language. In Proc. of the Third International

Conference on Information and Knowledge Management (CIKM'94), ACM Press, 1994. M. Singh. Agent communication languages: Rethinking the principles. IEEE Computer, Dec. 1998,

p.40-47. Y. Labrou, T. Finnin, Y. Peng. Agent communication languages: The current Landscape. IEEE

Computer, March/April 1999, p. 45-52. FIPA97. "Agent Communication Language" Specification FIPA, 11/28/97

DARPA KSE http://www-ksl.stanford.edu/knowledge-sharing/

KQML http://www.cs.umbc.edu/kqml/

KIF http://logic.stanford.edu/kif/

Ontolingua http://www-ksl-svc.stanford.edu:5915/&service=frame-editor

FIPA http://www.fipa.org/

DAML http://www.daml.org/