Download presentation
Published byDarrell Hubbard Modified over 9 years ago
1
Agent Communication The nature of communication Indirect communication
Agent Communication Languages (ACLs) KQML FIPA Communication content Interaction protocols
2
1. The nature of communication
Human 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 communication Speaker Hearer Intention Perception Generation Analysis Synthesis Disambiguation Incorporation Syntax Semantics Pragmatics 2
3
Artificial Communication
low-level language vs high-level languages direct communication vs. indirect communication Computer communication shared memory message passing Agent 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
4
Aim Communication enables agents to:
Communication protocols = enables agents to exchange and understand messages Interaction protocols = enable agents to have conversations, i.e., structured exchanges of messages Aim 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 Communication infrastructure Directory services blackboard or message-based White pages connected or connection-less ( ) Yellow pages point-to-point, multicast, broadcast Message protocol push or pull KQML synchronous or asynchronous HTTP or HTML OLE, CORBA, DSOM 4
5
2. Indirect communication
Reactive agents 2.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 x0 S S - stimulus Agent A (stimulus triggers behavior P) Agent B Topological differences lead to social differences 2.2 Trails - L. Steels, 1995 agents drop "radioactive crumbs" making trails an agent following a trail makes the trail faint until it disappears 5
6
2.3 Blackboard systems, Barbara Hayes-Roth, 1985
Cognitive agents 2.3 Blackboard 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) Control The KS are triggered in response to blackboard and external events BK events: addition of new info change of info removal of info each KS informs the BK about the kind of events in which it is interested. BK directly considers KSs for activation whenever that kind of event occur Control component - selects the KS for execution among pending KSs. KS uses its expertise to evaluate the quality and importance of its contribution and informs the control component about it without performing the work to complete the contribution The Control component uses this estimates to decide how to proceed Different regions of the BK to which individual KSs are assigned Blackboard KS KSAR KS KS KS 6
7
3. Direct communication 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 Languages communication as action - communicative acts Communicative acts Performative = an utterance that suceeds simply because the speaker says or asserts it 7
8
3.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 ACL Content language Ontology Origins of ACLs Knowledge Sharing Effort - DARPA, 1990 External Interface Group - interaction between KBS - KQML Interlingua - common language of KB - KIF Shared, Reusable Knowledge Bases - Ontolingua 8
9
A speech act has 3 aspects:
Theory of Speech Acts J. 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
10
3.2 KQML - Knowledge Query and Manipulation Language
A 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) layers Core of KQML - identity of the network protocol with which to deliver the message - speech act or performative Optional - content language - ontology Describes low level communication parameters: - identity of sender and receiver - an unique id associated with the communication Content Communication Message 10
11
Syntax S-expressions used in LISP (tell :sender willie
(ask-one :sender joe :receiver ibm-stock :reply-with ibm-stock :language PROLOG :ontology NYSE-TICKS :content (price ibm ?price) ) (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,... A ask-one(P) B tell(P1,P2,...) ask-all(P) tell(P) (stream-all :sender willie :receiver ibm-stock :content (price ?VL ?price ) ) (standby :content (stream-all :content (price ?VL ?price) ) Query performatives - ask for information ask-one = one reply (solution) ask-all = all replies (solutions) stream-all = a set of answers be turned into a set of replies standby = the receiver takes the stream of messages and holds them and releases them one at a time, each time the sending agent transmits a next performative A B stream-all(P) B tell(P1) A tell(P2) eos 11
12
2. Generator performatives:
standby, ready, next, rest, discard, generate,... 3. Response performatives: reply, sorry ... delete(P) insert(P) A B 4. Generic informational performatives: tell, untell, insert, delete, ... tell(P) untell(P) 5. Capability performatives: advertise, subscribe, recommend... A B 6. Network performatives: register, unregister, forward, route, ... Facilitator In fact, KQML contains only 2 types of illocutionary acts: assertives and directives + facilitator and network-related performatives (no necessarily speech acts) 12
13
Facilitator 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) A B subscribe(ask(P)) tell(P) ask(P) A B tell(P) recommend(ask(P)) advertise(ask(P)) tell(P) ask(P) reply(B) advertise(ask(P)) tell(P) recruit(ask(P)) ask(P) B A A B 13
14
Semantics of KQML (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) Bel(A,P) - P is (or can be proven) true for A. P is an expression in the native language of A Know(A,S) - express knowledge for S, where S is a state description Want(A,S) - A desires the cognitive state (or action) described by S to occur in the future, where S is a state description Int(A,S) - A has every intention of doing S and thus is committed to a course of action towards achieving S in the future Proc(A,M) - the action of A processing the KQML message; does not guarantee proper processing of the message SendMsg(A,B,M) - the action of A sending the KQML message M to B 14
15
advertise(A,B,M) 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) 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) The semantics of tell suggests that an agent cannot offer unsolicited information to another agent Pro-active tell Pre(A): Bel(A,X) Pre(B): NONE An advertise is a commisive act, in the sense that it commits its sender to process M, as suggested by the announcement of the intention process. If B is a facilitator then B is interchangeable (in semantic description) with the name of any agent the facilitator knows about Problems with KQML semantics untell(A,B, tell(A,B,X)) - does A deny the telling or does A deny the fact X? uninsert(A,B,X), Post(B): Bel(B,X) - what if B can infer X from its own KB? 15
16
3.3 FIPA - ACL Foundation 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 acts Informatives - query_if, subscribe, inform, inform_if confirm, disconfirm, not_understood Task distribution - request, request_whenever, cancel, agree, refuse, failure Negotiation - cfp, propose, accept_proposal reject_proposal FIPA = a standards organization in the area of software agents Several technical committees: - specifications for ACLs - agent management: agent services such as facilitation, registration, and agent platforms - agent/software interaction: integration of agents with legacy software applications FIPA-ACL also provides the normative description of a set of high-level interaction protocols, including requesting an action, contract net, and several kinds of auctions 16
17
FIPA - Semantics SL (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 recepient The receiving agent is not required to ensure that the expected effect comes about The sender can not assume that the rational effect will necessary follow <i, inform(j, )> Pre: Bi Bi (Bifj Uifj ) Post: Bj <i, inform(j, )> Pre: Bi Bi (Bifj Uifj ) Post: Bj The content is a proposition and the meaning is that the sender informs the receiver that a given proposition is true According to the semantics, the sending agent: - holds that the proposition is true Bj - does not already believe that the receiver has any knowledge of the truth of the proposition Bi (Bifj Uifj ) - intends that the receiving agent should also come to believe that the proposition is true (rational effect Bj ) 17
18
Any MAS that is to use an ACL must provide:
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 18
19
4. Communication content
Content languages KIF Prolog Clips SQL FIPA-SL, FIPA-CCL, FIPA-KIF DAML Ontologies ACL Content language Ontology DARPA Agent Markup Language The DAML Program officially began in August 2000. The goal of the DAML effort is to develop a language and tools to facilitate the concept of the Semantic Web. 19
20
4.1 Content languages KIF - Knowledge Interchange Format FIPA-SL 20
A 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)) FIPA-SL (request :sender (agent-identifier :name i) :receiver (set (agent-identifer :name j) :content ((action (agent-identifier :name j) (deliver box7 (loc )))) :protocol fipa-request :language fipa-sl :reply-with order56 ) (agree :sender (agent-identifier :name j) :receiver (set (agent-identifer :name i) (deliver box7 (loc ))) (priority order56 low)) :in-reply-to order56 ) 20
21
4.2 Ontologies Ontology = 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 Empl Stud Pupil IBM_E Sun_E Joe Alice Person Man Woman Empl Stud Joe Alice 21
22
5. Interaction protocols
Interaction 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 FIPA IP standards : more in coordination lecture FIPA-query: the receiver agent is requested to perform some kind of inform action FIPA-request: the receiver agent is requested to perform some action FIPA-contract-net: an agent (manager) solicits proposals from other agents (contractors) by specifying the task and the conditions placed by the manager upon the execution of the task. The contractor's proposal includes the preconditions that the contractor is setting out for the task (e.g., price, time, etc.)
23
5.1 Finite state automata COOL, Barbuceanu,95 Winograd, Flores, 1986
A:B<<ask(do P) B:A<<accept(do P) proposeS(P) B:A<<refuse(do P) acceptR(P) rejectR(P) B:A<<result(do P) B:A<<fail(do P) counterR(P) counterS(P) Winograd, Flores, 1986 rejectS(P) acceptS(P) 23
24
5.2 Conversations in KQML Use 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 24
25
5.3 Petri nets Ferber, 1997 Petri 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 A wants to do P, A cannot do P B does not want to do(P) DA DB B is willing to do(P) Request do(P) AR1 Refuse do(P) BR Accept/request do(P) Finite state automata are of great practical value for specifying the structure of conversations when they appear in an isolated manner, that is, when a conversation can be summarized as a single process. However, agents are sometimes involved in several conversations simultaneously, and they have to manage these multiple conversations. It is then easier to describe the nature of these interactions by using Petri nets. Each agent is described by a Petri subnet, the positions in which correspond to the internal states of the agent (or of the task in hand). The transitions correspond either to synchronizations due to the receipt of a message or to conditions of application of actions, such as the essential or preparatory conditions for the associated speech acts. Messages being routed are represented by supplementary locations which link agents A and B in such a way as to form a single net. Locations DA and DB describe the initial states in which the agents find themselves before the beginning of the conversation, and locations FA1 and FA2 and FB represent the end of conversation states. Starting from state DA, agent A sends a request to B and moves into the state AR, which represents waiting for a response. If B cannot do P, it send a refusal to A, which then goes into state FA1, which indicates that A must look elsewhere to have A carried out. If B can do P, it sends an acceptance message to A, which again goes into a wait for a response state. During this time, B is in state BR, while trying to carry out the action P. If it can do it, it sends a notification of end of accomplishment, which places agent A in state FA2. If not, it indcates that it can not do P. In both cases, it goes ito the terminal state FB AR2 Completed(P) Fail to do(P) Impossible to do(P) Notification of end(P) FB FA1 Failure FA2 Satisfaction 25
26
References 26 DARPA KSE http://www-ksl.stanford.edu/knowledge-sharing/
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 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 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 Y. Labrou, T. Finnin, Y. Peng. Agent communication languages: The current Landscape. IEEE Computer, March/April 1999, p FIPA97. "Agent Communication Language" Specification FIPA, 11/28/97 DARPA KSE KQML KIF Ontolingua FIPA DAML 26
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.