Agent Communication Languages
Download
Report
Transcript Agent Communication Languages
Agent Communication Languages
• Speech act theory
• Semantics of languages
• KQML
• FIPA ACL
• Comparison of FIPA ACL and KQML
• Other trends, future work
Speech acts
• Example: “Please be quiet!”
• Locution – the actual performance of the
act
• Illocution – the purpose of the utterance
• Perlocution – the consequences of the
utterance
Semantics of languages
• The process of ascribing meaning
• Useful basis: describe the state before
sending and after receiving it
• Difficult to see if the agent’s state satisfies
the pre- and postconditions
KQML, introduction
• Developed under a DARPA funded project,
started around 1990
• Language and protocol for exchanging
information and knowledge
• Two specifications:
– DARPA Knowledge Sharing Initiative 1993
– Yannis Labrou and Tim Finin 1997
KQML, semantics
• Pre-, post- and completion conditions
• Originally it did not assume a full BDI
architecture of the agents
• Example
KQML, layers
• Content layer
• Message layer
• Communication layer
KQML, message structure
• Each message represents a speech act,
•
associated semantics, protocol and a list of
attributes
Example:
(performative-name
: sender A
: receiver B
: content X
: language L
: ontology N
: reply-with W
: in-reply-to P)
KQML, performatives
• Describes the type of the message
• About 25 reserved performative names
• Additional performatives can be added
• Special administrative and networking
message types
• Examples:
ask-one
advertise
KQML, examples of
communication
F
Ask(X)
A
B
Tell(X)
A is aware of B, point-to-point protocol
KQML, examples of
communication
advertise(ask(X))
F
broker(ask(X))
tell(X)
A
tell(X)
ask(X)
B
Broker performative, ask a facilitator agent to find another agent
FIPA ACL, introduction
• FIPA, non-profit organization
• Companies like IBM, Hitachi, HP, British
Telecom, Siemens
• Universities and research institutes
• FIPA ACL specified in 1997
FIPA ACL, semantics
• Uses SL, Semantic Language to define the
semantics
• BDI-style primitives
• Feasibility preconditions and rational effect
• Example
FIPA ACL, Semantic Language, SL
• Used to define the semantics of FIPA ACL
• Quantified, multi-modal logic with
operators for beliefs, desires, uncertain
beliefs and intentions
• Can represent propositions, objects and
actions
FIPA ACL, message structure
• Syntax almost identical to KQML
• Each message contains a set of message
elements
• Example:
(inform
:sender I
:receiver J
:content
“weather(today,raining)”
:language Prolog
Comparison, KQML vs. FIPA ACL
• Syntactically almost identical
• FIPA ACL treats register, unregister, etc. as
requests for action with reserved meaning
• No facilitation primitives in FIPA ACL
• No commitment to content language in
neither of them
• FIPA ACL more powerful with composing
Other trends, future work
• Universal communication language
• XML – to describe ACL messages
• Common content languages and
ontologies
• Language for describing agent actions,
beliefs, intentions, etc.
• Java
References
• FIPA, http://www.fipa.org
• KQML, http://www.cs.umbc.edu/kqml
• Labrou, Finin, Peng, “The current landscape of
Agent Communication Languages”, 1999
Discussion questions
• What architectures do the different languages
support?
• What kinds of communication do you have in
your project?
• What language to use for your project (if any)?
• What standards do you think are necessary
when talking about agent communication
languages in the future?