360 likes | 616 Views
Software Agent -communication-. Outline. Overview Speech act theory Agent communication languages Summary. Example: Personal Assistant Agent (PA). Task: organize an evening with Heikki What is needed? Participants’ calendar info Info about restaurants, pubs, etc.
E N D
Outline Overview Speech act theory Agent communication languages Summary
Example: Personal Assistant Agent (PA) • Task: organize an evening with Heikki • What is needed? • Participants’ calendar info • Info about restaurants, pubs, etc. • Weather forecast Multi-agent System
Example: Organizing Evening (1) DA Calendar Who takes care of Heikki’s Calendar? PAA HCA It is HCA and address is http:…; MTP is…; Presentation is …; CL is…; Ontology is …; … Give me Heikki’s free evenings in this week? Heikki is free on Tuesday and Friday evening
Example: Organizing Evening (2) Calendar I want to book Friday evening PAA HCA No, I don’t want to book Friday evening I want to book Tuesday evening Tuesday evening booked
Example: Sending a Message to an Agent Allocate time from Heikki’s calendar Find out Heikki’s calendar agent Who takes care of Heikki’s Calendar? To: DF@HAP Query Heikki Calendar Service
Agent Communication Language • Definition • An agent communication language (ACL) allows agents to communicate with each other about their positions and actions • An agents communication language (ACL) provides agents with a means of exchanging information and knowledge • Earlier attempts at seamless exchange of information and knowledge between applications • e.g. Remote Procedure Calls, Remote Method Invocation, CORBA • Differences between the above and ACLs are • Semantic complexity • ACLs can handle propositions, rules and actions instead of simple objects with no semantics associated with them • An ACL message describes a desired state in a declarative language, rather than a procedure or a method
Agent Communication • Agents have conversations (as opposed to exchange single messages), e.g. • Task-oriented • Negotiations • A higher level conceptualization of an agent’s strategies drive an agent’s communicative behavior • Message type of agents : Speech acts
Speech Acts (1) • Communication in MAS is inspired by speech act theory • Speech act theories are pragmatic theories of language • They attempt to account for how language is used by people every day to achieve their goals and intentions • The origin of speech act theories are usually traced to the work of the philosopher John Austin • Austin noticed that some utterances are like ”physical actions” that appear to change the state of the world. e.g. • Declaring war • ”I now pronounce you man and wife” • In general, every thing we utter is uttered with the intention of satisfying some goal or intention • A theory of how utterances are used to achieve intentions is a speech act theory
Speech Acts (2) • Austin distinguished 3 different aspects of speech acts: • Locutionary act - act of making an utterance • e.g. saying ”please make some tea” ’ • Illocutionary act – action performed in saying something • e.g. he requested me to make some tea • Perlocution – effect of the act • e.g. he got me to make tea • Searle identified 5 different types of speech acts:
Speech Acts (3) • In general, speech acts can be seen to have 2 components: • A performative verb • e.g. Request, inform • Propositional content • e.g. ”the window is closed”
Speech Acts (4) • How does one define the semantics of speech acts? When can one say someone has uttered, e.g. a request or an inform? • How can the properties of speech acts be represented such that planning systems could reason about them? • Speech acts are treated as physical actions • Actions are characterised via preconditions and postconditions • Semantics for request: request(s,h,) • Pre: • s believes h can do (you don’t ask someone to do something unless you think that they can do it) • s believes h believes h can do (you don’t ask someone unless they believe they can do it) • s believes s wants (you don’t ask someone unless you want it!) • Post: • h believes s believes s wants (the effect is to make them aware of your desire)
Goal G Agenti Agentj Intent I Perform-ative Message Convert to transport form Convert to transport form Message delivery/transportation service Agent Communication Language (ACL) (Meaning is a combination of semantics and pragmatics) • ACLs allow agents to effectively communicate and exchange knowledge with other agents • Three important aspects • Syntax: How the symbols of communication are structured • Semantics: What the symbols denote • Pragmatics: How the symbols are interpreted
Communication Levels Semantics Meaning of the information Syntax Format of information being transferred Communication Method of interconnection • Requirements for an ACL • Syntactic translation between languages • Semantic content preservation among applications • The concept must have a uniform meaning across applications. • Ability to communicate complex attitudes about their information and knowledge. • Agents need to question, request, etc. • Not about transporting bits and bytes.
Origins of ACLs • Knowledge Sharing Effort (KSE), funded by ARPA • Central concept: knowledge sharing requires communication, which in turn requires a common language. KSE focused on defining that common language • KQML: Knowledge Query and Manipulation Language • Language for both message formatting and message handling protocols • KIF: Knowledge Interchange Format • Language for expressing message content
KIF • Creation of a common language for expressing properties • Intended to express contents of a message; not the message itself • Based on first-order logic • Using KIF, it’s possible to express: • Properties of things in a domain (e.g. Michael is a vegetarian) • Relationships between things in a domain (e.g. Michael and Janine are married) • General properties of a domain (e.g. Everybody has a mother) • Example • Relation between 2 objects: • The temperature of m1 is 83 Celsius: • (= (temperature m1) (scalar 83 Celsius)) • Definition of new concept: • An object is a bachelor if this object is a man and not married: • (defrelation bachelor (?x) := (and (man ?x) (not (married ?x)))) • Relationship between individuals in the domain: • A person with the property of being a person also has the property of being a mammal: • (defrelation (person ?x) :=> (mammal ?X))
Communication Mechanics of communication, e.g. Sender, receiver. Performatives (message layer) Logic of communication, e.g. ask, tell. Content Content of communication, e.g. a KIF expression KQML: Overview e.g. (ask-if :sender agenti :receiver agentj :language Prolog :ontology genealogy :content “spouse(adam, eve)”) • An “outer language” that defines a set of performatives (communicative acts), such as ask, reply • Performatives form the core of the language: • Determine the kinds of interactions one can have with KQML-speaking agents • Identify the protocol to be used to deliver the message • Signify that the content is an assertion, a query, a command or another speech act • Describe how the sender would like any reply to be delivered
KQML: Example (evaluate :sender A : receiver B :language KIF: ontology motors :reply-with q1 :content (val (torque m1))) (reply :sender B : receiver A :language KIF: ontology motors :in-reply-to q1 :content (= (torque m1) (scalar 12 kgf))) (stream-about :sender A : receiver B :language KIF: ontology motors :reply-with q1 :content (m1) (tell :sender B : receiver A :in-reply-to q1 :content (= (torque m1) (scalar 12 kgf))) (tell :sender B : receiver A :in-reply-to q1 :content (= (status m1) (normal))) (eos :sender B : receiver A :in-reply-to q1)
Facilitators • KQML environments (may) contain facilitators that help make the communication protocol transparent • Facilitators: a special class of agents that perform useful communication services such as: • Maintain registry of service names • Forward messages to named services • Routing messages based on content • Provide matchmaking between information providers and seekers • Provide mediation and translation services
F tell(X) ask(X) A B Facilitators: Example (1) Point-to-point protocol A is aware that it is appropriate to send a query about X toB There are several ways to achieve this via a Facilitator.
Facilitators: Example (2) Using the subscribe performative Request that Facilitator F monitor for the truth of X. If B subsequently informs F that it believes X to be true, then F can in turn inform A tell(X) subscribe(ask(X)) F tell(X) A B
advertise(ask(X)) broker(ask(X)) tell(X ) F tell(X ask(X) ) A B Facilitators: Example (3) Using the broker performative A Asks Facilitator to find another agent which can process a given performative
advertise(ask(X)) recruit(tell(X)) F ask(X) tell(X ) A B Facilitators: Example (4) Using the rercruit performative Asks Facilitator to find an appropriate agent to which an embedded performative can be forwarded. A reply is returned directly to the original agent
recommend(ask(X)) advertise(ask(X)) reply(B) F ask(X) A B tell(X) Facilitators: Example (5) Using the recommend performative Asks Facilitator to respond with the ”name” of another agent which is appropriate for sending a particular performative.
Discussion on KQML • Weak semantics of performatives • Different implementations of KQML could not interoperate • Transportation mechanisms were not defined • Lacked the class of performatives: commissives • Difficult to implement multi-agent scenarios without commissives • Set of performatives was large and ad hoc • Recently, more efforts have been made to provide formal semantics in terms of preconditions, postconditions and completion conditions (ref: Labrou et. al., 1999.)
FIPA The Foundation for Intelligent Physical Agents (FIPA) is a non-profit association FIPA’s purpose is to promote the success of emerging agent-based applications, services and equipment FIPA operates through the open international collaboration of member organizations: companies, universities and government organizations
FIPA ACL (1) Envelope (transport information) Message body (ACL message) (inform :sender agentA :receiver agentB :content (price good200 150) :language sl :ontology hpl-auction ) • Basic structure is quite similar to KQML: • Performative (communicative act) • 20 performatives in FIPA ACL • Housekeeping • e.g. Sender • Content • the actual content of the message • Message structure (Envelope): • Comprises of a collection of parameters • Contains at least the mandatory to and sender parameters • Example FIPA ACL message
FIPA ACL (2) • Inform and request • Inform and Request are the two basic performatives in FIPA ACL. All others are macro definitions, defined in terms of these • The meaning of inform and request are defined in 2 parts: • Precondition: What must be true in order for the speech act to succeed • Rational effect: What the sender of the message hopes to bring about
Agent Platform Agent A Agent Platform Agent B Agent Communication Channel Agent Communication Channel FIPA Message Transport Model ACL message sent over the Message Transport Service Message Transport Protocol
Agent Platform Agent A Agent Platform Agent B 3 2 1 1&2 1 Agent Communication Channel Agent Communication Channel FIPA Sending Messages • 3 options • Via local ACC • Via remote ACC • Direct communication mechanism
cfp action preconditions1 Not-understood refuse reason propose preconditions2 Deadline for proposals Manager cancels the contract due to a change reject-proposal reason accept-proposal proposal failure reason inform Done(action) cancel reason FIPA Agent Interaction Protocol (1) manager Potential contractors • Ongoing conversations between agents fall into typical patterns. In such cases, certain message sequences are expected, and at any point in the conversation, other messages are expected to follow. • These typical patterns of message exchange are called protocols (request :sender A :receiver B :content some-act :protocol fipa-contract-net )
FIPA Agent Interaction Protocol (2) Manager Potential contractors cfp refuse deadline not-understood propose reject-proposal accept-proposal cancel inform
Comparison between KQML & FIPA ACL • Similarities: • Separation of the outer language (performative) and the inner language (content). • Allows for any content language • Differences • Communication primitives: • KQML – performative • FIPA ACL – communicative act • Different semantic frameworks – impossible to come up with an exact mapping or transformation between KQML and FIPA performatives • KQML provides facilitator services; FIPA ACL does not
Summary • Agent communication • Speech act theory • Agent communication languages • Open issues • How do we verify whether an agent complies with the semantic definition? • E.g. If an agent sends a message ( say inform Ф), how do we know whether the agent believe Ф or not • Is sincerity a tall-order for agent society? • E.g negotiation • Can we specify semantics without a context? • E.g. Query If in an oral examination setting • We need a context (protocol) • Next lecture: Application & review