Agent Communication

We cover agent communications, KIF, KQML, and FIPA-ACL. This talk summarizes:

1 Communication

2 Speech Act Theory

Austin
  1. locutionary act- the act of making an utterance.
  2. illocutionary act- the action performed in saying something.
  3. perlocution- the effect of the act

2.1 John Searle

Searle
  1. Representatives- commit the speaker to the truth of an expressed proposition. (informing)
  2. Directives- attempts on the part of the speaker to get the hearer to do something (request).
  3. Commissives- commit the speaker to a course of action (promise).
  4. Expressives- express some psychological state (thanking).
  5. Declarations- effect some changes in an institutional state of affairs. (declare marriage).

3 Knowledge Interchange Format

4 Knowledge Query and Manipulation Language

Parameter Meaning
:content content of the message
:force wether the sender of the message will ever deny the content of the message
:reply-with whether the sender expects a reply and, if so, an identifier for the reply
:in-reply-to reference to the :reply-with parameter
:sender sender of the message
:receiver intended recipient of the message
:language language of the content
:ontology ontology of the content

4.1 KQML Performatives

Performative Meaning
achieve S wants R to do make something true of their environment
advertise S is particulary suited to processing a performative
ask-about S wants all relevant sentences in R s VKB
ask-all S wants all of R s answers to a question
ask-if S wants to know if the sentence is in R s VKB
ask-one S wants one of R s answers to a question
break S wants R to break an established pipe
broadcast S wants R to send a performative over all connections
broker-all S wants R to collect all responses to a performative
broker-one S wants R to get help in responding to a performative
deny the embedded performative does not apply to S anymore
delete S wants R to remove a ground sentence from its VKB
delete-all S wants R to remove all matching sentences from its VKB
delete-one S wants R to remove om matching sentence from its VKB
discard S will not want R s remaining responses to a previous performative
eos end of a stream of responses to an earlier query
error S considers R s ealier message to be mal formed
evaluate S wants R to simplify the sentence
forward S wants R to route a performative
generator same as a standby of a stream all
insert S asks R to add content to its VKB
monitor S wants updates to R s response to a stream all
next S wants R s next response to a previously mentioned performative
pipe S wants R to route all further performatives to a another agent
ready S is ready to respond to R s previously mentioned performative
recommend-all S wants all names of agents who can respond to a performative
recommend-one S wants the name of an agent who can respond to a performative
recruit-all S wants R to get all suitable agents to respond to a performative
recruit-one S wants R to get another agent to respond to a performative
register S can deliver performatives to some named agent
reply communicates an expected reply
rest S wants R s remaining responses to a previously mentioned performative
sorry S cannot provide a more informative reply
standby S wants R to be ready to respond to a performative
stream-about multiple response version of ask about
stream-all multiple response version of ask all
subscribe S wants updates to R s response to a performative
tell the sentence in S s VKB
transport-address S associates symbolic name with transport address
unregister a deny of a register
untell the sentence is not in S s VKB

4.2 KQML Example

5 FIPA ACL

5.1 Message Structure

Element Description Category of Elements
performative Denotes the type of the communicative act of the ACL message Type of communicative acts
sender Denotes the identity of the sender of the message, i.e. the name of the agent of the communicative act. Participant in communication
receiver Denotes the identity of the intended recipients of the message. Participant in communication
reply-to This element indicates that subsequent messages in this conversation thread are to be directed to the agent named in the reply-to element, instead of to the agent named in the sender element. Participant in communication
content Denotes the content of the message; equivalently denotes the object of the action. Content of message
language Denotes the language in which the content element is expressed. Description of Content
encoding Denotes the specific encoding of the content language expression. Description of Content
ontology Denotes the ontology(s) used to give a meaning to the symbols in the content expression. Description of Content
protocol Denotes the interaction protocol that the sending agent is employing with this ACL message. Control of conversation
conversation-id Introduces an expression (a conversation identifier) which is used to identify the ongoing sequence of communicative acts that together form a conversation. Control of conversation
reply-with Introduces an expression that will be used by the responding agent to identify this message. Control of conversation
in-reply-to Denotes an expression that references an earlier action to which this message is a reply. Control of conversation
reply-by Denotes a time and/or date expression which indicates the latest time by which the sending agent would like to havereceived a reply. Control of conversation

5.2 FIPA Performatives

5.3 Inform and Request

5.4 Performative: cfp

Summary The action of calling for proposals to perform a given action.
Message Content A tuple containing an action expression denoting the action to be done, and a referential expression defining a single-parameter proposition which gives the preconditions on the action.
Description CFP is a general-purpose action to initiate a negotiation process by making a call for proposals to perform the given action. The actual protocol under which the negotiation process is established is known either by prior agreement, or is explicitly stated in the:protocol parameter of the message.   In normal usage, the agent responding to acfp should answer with a proposition giving the value of the parameter in the original precondition expression (see the statement ofcfp's rational effect). For example, thecfp might seek proposals for a journey from Frankfurt to Munich, with a condition that the mode of travel is by train. A compatible proposal in reply would be for the 10.45 express train. An incompatible proposal would be to travel by airplane.   Note thatcfp can also be used to simply check the availability of an agent to perform some action. Also note that this formalization ofcfp is restricted to the common case of proposals characterized by a single parameter (x) in the proposal expression. Other scenarios might involve multiple proposal parameters, demand curves, free-form responses, and so forth. 
Formal Model <i, cfp (j, <j, act>, Ref x φ(x))> ≡
  <i, query-ref (j, Ref x (Ii Done (<j, act>, φ(x)) ⇒
    (Ij Done (<j, act>, φ(x))))>
FP: ¬Bref(Ref x α(x)) ∧ ¬Urefi(Ref x α(x)) ∧
  ¬Bi Ij Done (<j, inform-ref (i, Ref x α(x))>)
RE: Done (<j, inform (i, Ref x α(x) = r1)> | … |
  <j, inform (i, Ref x α(x) = rk)>)

Where:
α(x) = Ii Done (<j, act>, φ(x)) ⇒ Ij Done (<j, act>, φ(x))

Agent i asks agent j: "What is the 'x' such that you will perform action 'act' when 'φ (x)' holds?"

Note: Ref x δ(x) is one of the referential expressions: one δ(x), any x δ(x) or all x δ(x).

Note: The RE of this is not a proposal by the recipient. Rather, it is the value of the proposal parameter. See the example in the definition of the propose act.

Example Agentj asksi to submit its proposal to sell 50 boxes of plums.
(cfp  :sender (agent-identifier :name j)
    :receiver (set (agent-identifier :name i))
  :content ((action (agent-identifier :name i)
    (sell plum 50)) (any ?x (and (= (price plum) ?x) (< ?x 10))))
  :ontology fruit-market)

5.5 Interaction Protocols

5.6 Agent UML

5.6.1 Agent Roles

5.6.2 Agent Lifeline

5.6.3 Threads of Interaction

               

5.6.4 Messages

5.6.5 Parameterised Protocols

5.7 Contract Net IP

5.8 Iterated Contract Net IP

After receiving the bids, the Initiator can either (xor):

  1. reject-proposal-1
  2. accept-proposal
  3. First refect-proposal-2, then cfp-2 (and we repeat...)

5.9 English Auction IP

URLs

  1. Introduction to MultiAgent Systems., http://www.amazon.com/exec/obidos/ASIN/047149691X/multiagentcom/
  2. FIPA ACL Message Structure Specification., http://www.fipa.org/specs/fipa00061/
  3. FIPA Communicative Act Library Specification., http://www.fipa.org/specs/fipa00037/
  4. FIPA Contract Net Interaction Protocol Specification., http://www.fipa.org/specs/fipa00029/
  5. FIPA Iterated Contract Net Interaction Protocol Specification., http://www.fipa.org/specs/fipa00030/
  6. FIPA English Auction Interaction Protocol Specification., http://www.fipa.org/specs/fipa00031/
  7. Representing Agent Interaction Protocols in UML., http://jmvidal.cse.sc.edu/library/odell01a.pdf
  8. John Austin, http://www.philosophypages.com/ph/aust.htm
  9. John Searle, http://ist-socrates.berkeley.edu/~jsearle/
  10. KIF, http://www.cs.umbc.edu/kse/kif/
  11. Knowledge Sharing Effort, http://www-ksl.stanford.edu/knowledge-sharing/papers/kse-overview.html
  12. KQML, http://www.cs.umbc.edu/kqml/

This talk available at http://jmvidal.cse.sc.edu/talks/agentcommunication/
Copyright © 2009 José M. Vidal . All rights reserved.

23 September 2003, 10:15AM