Title: CPSC%20601.68/CPSC%20599.68
1Agent Communications
- CPSC 601.68/CPSC 599.68
- Rob Kremer
- Department of Computer Science
- University of Calgary
2What is an Agent?
- Autonomous
- Knowledge-based
- Reflective or Reactive
- Social
3What is an Agent?
- An agent Ag is a tuple Ag (Sit,Act,Dat,fAg)
where - Sit is a set of situations Ag can be in
- Act is a set of actions Ag can perform
- Dat, Ags internal data, is the set of possible
values Ags internal data areas can have - fAg Sit ?Dat ? Act is the agents decision
function - From outside, Ag seems to be a function
gAgSit?Act
There are lots of other models of agency this
one is usefully general
4Agents Object?
- Both have internal data and receive messages
- But the object has no choice but to execute the
method the agent can decide if and what method
to execute.
I might execute method B, or I might do nothing,
or I might execute method C or .
object
agent
message B
sensor
method A
message B
method B
method A
method C
method B
method C
5Communicating Agents
- Traditional (low level) Protocols (eg TCP/IP)
are a bit simple - They mostly deal with heres a message
- Agents need a richer conversation space
- Request/Reply, Offer/Reply, Subscribe/Inform
- Agents need to handle exceptional cases, complex
interactions, and novel new interactions
6Simple Conversation naive
What time is it?
Its 200
7Simple Conversation more complex
What time is it?
Just a sec, Ill check
Its 200
Thanks
8Simple Conversation failure
What time is it?
I dont know, my watch stopped
9What do we need?
- Message format (syntax)
- Message semantics
- Interpretation of sequences of messages
(conversations) - Message sequencing and turn-taking
- Conversation semantics
10Message Syntax
- Envelope/content
- Envelope can be read by all agents in the society
- Content is usually understood only by specialized
agents
11Message Syntax
performative the type of the communicative act of the message
sender the sender of the message
receiver the intended recipients of the message
reply-to subsequent messages in this conversation thread are to be directed to the agent named
content the content of the message equivalently denotes the object of the action
language the language in which the content parameter is expressed
encoding the specific encoding of the content field
ontology the ontology(s) used to give a meaning to the symbols in the content expression
protocol the interaction protocol that the sending agent is employing with this ACL message
conversation-id an expression used to identify the sequence of communicative acts that form a conversation
reply-with an expression that will be used by the responding agent to identify this message
in-reply-to an expression that references an earlier action to which this message is a reply
reply-by a time and/or date expression indicating the latest time the sending agent wants a reply
12Message Syntax KQML-style
- ( request
- act inviteToJoinCD
- to casa//123.181.6.101/Bob
- from casa//123.181.6.101/Alice
- reply-with casa//123.181.6.101/Alice1453
- language casa.URL
- language-version 1.0
- content casa//123.181.6.101/CDagent2
- )
13Message Syntax xml-style
- lt?xml version\"1.0\"?gt
- lt!DOCTYPE message SYSTEM \"xmlmessage.dtd\"gt
- ltCASAmessagegt
- ltperformativegt request lt/performativegt
- ltactgt inviteToJoinCD lt/actgt
- lttogt casa//123.181.6.101/Bob lt/togt
- ltfromgt casa//123.181.6.101/Alice lt/fromgt
- ltreply-withgt casa//123.181.6.101/Alice1453
lt/reply-withgt - ltlanguagegt casa.URL lt/languagegt
- ltlanguage-versiongt 1.0 lt/language-versiongt
- ltcontentgt casa//123.181.6.101/CDagent2
lt/contentgt - lt/CASAmessagegt
- lt/xmlgt
14Message Semantics
- Typically based on speech-act theory
- Performative is the main speech act
- FIPA implementation uses the performative and a
BDI semantics
15Message Semantics FIPA Performatives
accept-proposal accepting a previous proposal
agree agreeing to perform some action
cancel inform another agent that the agent no longer need perform some action
call-for-proposal calling for proposals to perform an action
confirm informs a given proposition is true
disconfirm informs a given proposition is false
failure an action was attempted but failed
Inform a given proposition is true
inform-if inform whether or not a proposition is true
inform-ref inform the object which corresponds to a descriptor
not-understood did not understand what the receiver just did
propagate pass a message on
propose submitting a proposal to perform an action
proxy pass on an embedded message
query-if asking whether or not a proposition is true
query-ref asking for the object referred to
refuse refusing to perform an action
reject-proposal rejecting a proposal during negotiation
request request to perform some action
request-when request to perform some action when some proposition becomes true
request-whenever request to perform some action each time the proposition becomes true
subscribe requesting to notify of the value of a reference whenever the object changes
16Message Semantics FIPA request
lti, request (j, a)gt FP FP (a) i\j ? Bi Agent
(j, a) ? Bi Ij Done (a) RE Done (a) FP(a)
i\j denotes the part of the FPs of a which are
mental attitudes of i.
17Message Semantics Social Commitments/CASA
18Conversation Paradigms
- Ad-hoc protocols
- BDI (Belief, Desire, Intentions)
- Social Commitments
19Ad-hoc Protocols
- Scripts that the agent follows
- Issues
- Rigid and Brittle.
- Hard to account for all eventualities
20Ad-hoc Protocols Petri Nets
21BDI
- Belief
- Environment
- Desire
- Goals
- Intention
- The current desire(s) chosen by the selection
function with the beliefs and desires as input
22BDI
- Issues
- Sometimes end up with expressions like I believe
that you believe that I believe that you believe
that - Calls on agents to have a omniscient view of all
the other agents - FIPA is based on BDI semantics
23Social Commitments
- Many utterances imply some sort of
conversational social commitment - Eg a request commits the receiver to reply
- Other social commitments are negotiated
- Eg wash my car
- Basic Agent body
- When an agent observes (or sends or receives) a
message, it uses policies (rules) as social norms
that generate (or delete) social commitments - Agents spend their free time trying to fulfill
the social commitments for which it is a debtor
24Social Commitments
Alice
Bob
25Social Commitments
- Issues
- Deals with complexity
- Agents make decisions based only on observable
conversational moves (and the Environment and
their internal state) - Turn taking follows naturally