Title: Agents Communication Languages (ACL)
1Agents Communication Languages (ACL)
- http//www.engr.uconn.edu/7Eibrahim/publications/
acl.htm - Dumitru Roman
- Digital Enterprise Research Institute
- dumitru.roman_at_deri.ie
2Outline
- Introduction
- Knowledge Query and Manipulation Language (KQML)
- Foundation for Intelligent Physical Agents (FIPA)
ACL - Comparing between KQML and FIPA
- Relevance to WSMO
3Introduction
- Motivation standard communication between
heterogeneous agent communities. - The origin of ACLs Knowledge Sharing Effort
(KSE) - 1990 - software systems are virtual knowledge bases that
exchange propositions using a language that
expresses various complex attitudes -
propositional attitudes - three part
relationships between - An agent,
- A content bearing proposition (for example, it is
raining), and - A finite set of propositional attitudes an agent
might have with respect to the proposition (for
example, believing, asserting, fearing,
wondering, hoping, and so on). - Example lta,fear,raining(t_now )gt
4Requirements of ACLs (1)
- Form an ACL should be
- Declarative, syntactically simple, and readable
by people. - Concise, easy to parse and to generate.
- Content
- A distinction should be made between the
communication language, which expresses
communicative acts, and the content language,
which expresses facts about the domain. - The language should commit to a well-defined set
of communicative acts (primitives). - Semantics - should be grounded in theory, and
should be unambiguous.
5Requirements of ACLs (2)
- Implementation - should be efficient, both for
speed, and for bandwidth utilization. - Networking an ACL should fit well with modern
networking technology. - Environment an ACL must provide tools for
coping with heterogeneity and dynamism and
support interoperability with other languages and
protocols. - Reliability an ACL must support reliable and
secure communication among agents.
6Requirements on agents to support ACL
- Agents should send not-understood (or error) if
they receive a message that they do not recognize
or they are unable to process the content of the
message. - An ACL compliant agent may choose to implement
any subset of the pre-defined message types and
protocols. - An ACL compliant agent which uses the
communicative acts whose names are defined in
ACLs specification must implement them correctly
with respect to their definition. - Agents may use communicative acts with other
names, and are responsible for ensuring that the
receiving agent will understand the meaning of
the act. - An ACL compliant agent must be able to correctly
generate a syntactically well-formed message in
the transport form that corresponds to the
message it wishes to send. - In general, a content language must be able to
express propositions, objects and actions.
7Basic concepts of ACL
- An ACL provides agents with a means of exchanging
information and knowledge. - The ACL itself defines the types of messages (and
their meanings) that agents can exchange. - Agents have conversationstask oriented, shared
sequences of messages that they follow, such as a
negotiation or an auction. - The message types of ACLs - speech acts.
8Knowledge Query and Manipulation Language (KQML)
- A high-level, message-oriented communication
language and protocol for information exchange
independent of content syntax and applicable
ontology. - Three layers in a KQML message
- Content - bears the actual content of the message
in the programs own representation language. - Communication - encodes a set of features to the
message that describe the lower-level
communication parameters. - Message - identify the network protocol with
which to deliver the message and supply a speech
act or perfomative that the sender attaches to
the content.
9KQML Performatives
- A KQML message is called a performative.
- Parameters of a performative
sender - the actual sender of the performative. receiver - the actual receiver of the performative. from - the origin of the performative in content when forward is used. to - the final destination of the performative in content when forward is used. in-reply-to - the expected label in a response to a previous message (same as the value of the previous message). reply-with - the expected label in a response to the current message. language - the name of the representation language of the content. ontology - the name of the ontology (e.g., set of term definitions) assumed in the content parameter. content - the information about which the performative expresses an attitude.
10A KQML Message
A KQML Dialogue A to B (ask-if (gt (price bk1)
(price bk2))) B to A (reply true) B to A
(inform ( (price bk1) 25.50)) B to A (inform
( (price bk2) 19.99))
11KQML Performatives - Discourse performatives (1)
- ask-if - S wants to know if the content is in
R's KB. - ask-all - S wants all of R's instantiations of
the content that are true of R. - ask-one - S wants one of R's instantiations of
the content that is true of R. - stream-all - multiple-response version of
ask-all. - eos - the end-of-stream marker to a
multiple-response (stream-all). - tell - the sentence is in S's KB.
- untell - the sentence is not in S's KB.
- deny - the negation of the sentence is in S's KB.
- insert - S asks R to add the content to its KB
12KQML Performatives - Discourse performatives (2)
- uninsert - S wants R to reverse the act of a
previous insert. - delete-one - S wants R to remove one matching
sentence from its KB. - delete-all - S wants R to remove all matching
sentences from its KB. - undelete - S wants R to reverse the act of a
previous delete. - achieve - S wants R to do make something true of
its physical environment. - unachieve - S wants R to reverse the act of a
previous achieve. - advertise - S wants R to know that S can and will
process a message like the one in content. - unadvertise - S wants R to know that S cancels a
previous advertise and will not process any more
messages like the one in the content.
13KQML Performatives - Intervention and mechanics
of conversation performatives
- error - S considers R's earlier message to be
mal-formed. - sorry - S understands R's message but cannot
provide a more informative response. - standby - R will deliver its response to the S as
soon as a response is generated. - ready - S is ready to respond to a message
previously received from R. - next - S wants R's next response to a message
previously sent by S. - rest - S wants R's remaining responses to a
message previously sent by S, - discard - S does not want R's remaining responses
to a previous (multi-response) message.
14KQML Performatives - Networking and Facilitation
performatives (1)
- register - S announces to R its presence and
symbolic name. - unregister - S wants R to reverse the act of a
previous register. - forward - S wants R to forward the message to the
to agent (R might be that agent). - broadcast - S wants R to send a message to all
agents that R knows of. - transport-address - S associates its symbolic
name with a new transport address.
15KQML Performatives - Networking and Facilitation
performatives (2)
- broker-one - S wants R to find one response to
the content (some agent other than R is going to
provide that response). - broker-all - S wants R to find all responses to
the content (some agent other than R is going to
provide that response). - recommend-one - S wants to learn of an agent who
may respond to the content. - recommend-all - S wants to learn of all agents
who may respond to the content. - recruit-one - S wants R to get one suitable agent
to respond to the content. - recruit-all - S wants R to get all suitable
agents to respond to the content.
16Semantics of KQML
- Semantics of each performative is defined in
terms of - preconditions - indicate the necessary states for
an agent to send a performative and for the
receiver to accept it and successfully process
it. - postconditions - describe the states of the
sender after the successful utterance of a
performative, and of the receiver after the
receipt and processing of a message. - completion conditions - indicate the final state,
after a conversation has taken place and the
intention associated with the performative that
started the conversation has been fulfilled.
17Foundation for Intelligent Physical Agents (FIPA)
ACL
- Based on speech act theory messages are actions
or communicative acts. - Consists of a set of message types and the
description of their pragmaticsthat is, the
effects on the mental attitudes of the sender and
receiver agents. - Describes every communicative act with both a
narrative form and a formal semantics based on
modal logic. - Separates the outer language (the intended
meaning of the message) from the inner language
(content language). - The communication primitives are called
communicative acts.
18ACL Message
Note FIPA uses a different content language
from KQML called SL, which is based on modal
logic.
19FIPA - Communicative Acts (1)
- accept-proposal - The action of accepting a
previously submitted proposal to perform an
action. - agree - The action of agreeing to perform some
action, possibly in the future. - cancel - The action of cancelling some previously
request'ed action which has temporal extent (i.e.
is not instantaneous). - cfp - The action of calling for proposals to
perform a given action. - confirm - The sender informs the receiver that a
given proposition is true, where the receiver is
known to be uncertain about the proposition. - disconfirm - The sender informs the receiver that
a given proposition is false, where the receiver
is known to believe, or believe it likely that,
the proposition is true. - failure - The action of telling another agent
that an action was attempted but the attempt
failed. - inform - The sender informs the receiver that a
given proposition is true.
20FIPA - Communicative Acts (2)
- inform-if - A macro action for the agent of the
action to inform the recipient whether or not a
proposition is true. - inform-ref - A macro action for sender to inform
the receiver that an object corresponds to a
definite descriptor (e.g. a name). - not-understood - The sender of the act (e.g. i)
informs the receiver (e.g. j) that it perceived
that j performed some action, but that i did not
understand what j just did. - propose - The action of submitting a proposal to
perform a certain action, given certain
preconditions. - query-if - The action of asking another agent
whether or not a given proposition is true. - query-ref - The action of asking another agent
for the object referred to by an expression. - refuse - The action of refusing to perform a
given action, and explaining the reason for the
refusal.
21FIPA - Communicative Acts (3)
- reject-proposal - The action of rejecting a
proposal to perform some action during a
negotiation. - request - The sender requests the receiver to
perform some action. One important class of uses
of the request act is to request the receiver to
perform another communicative act. - request-when - The sender wants the receiver to
perform some action when some given proposition
becomes true. - request-whenever - The sender wants the receiver
to perform some action as soon as some
proposition becomes true and thereafter each time
the proposition becomes true again. - request-whomever - The sender wants an action
performed by some agent other than itself. The
receiving agent should either perform the action
or pass it on to some other agent. - subscribe - The act of requesting a persistent
intention to notify the sender of the value of a
reference, and to notify again whenever the
object identified by the reference changes.
22Semantics of FIPA ACL
- SL (Semantic Language) it can represent
propositions, objects, and actions. - Semantics of each communicative act is specified
as sets of SL formulae that describe the acts - feasibility pre-conditions - describe the
necessary conditions for the sender of the CA. - rational effect - represents 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
recipient.
23Comparing KQML and FIPA ACL (1)
- Almost identical with respect to their basic
concepts and the principles they observe. - Differ primarily in the details of their semantic
frameworks. - KQML and FIPA ACL messages look syntactically
identical. - Difference in their treatment of the registration
and facilitation primitives.
24Comparing KQML and FIPA ACL (2)
- agent management
- KQML register, unregister, recommend, broker,
recruit, advertise. - FIPA considers these to be services offered by
the basic agents in a system, rather than message
types. - communications management
- KQML broadcast, transport-address, forward.
- FIPA considers these to be services offered by
the basic agents in a system, rather than message
types. - multiple solutions
- KQML ask-one, ask-all, stream-all, eos, standby,
ready, next, rest, discard. - FIPA does not express these concepts in the ACL,
but in the content of the ACL messages. - direct belief manipulation
- KQML insert, uninsert, delete-one, delete-all.
- FIPA has no equivalent of these, since agents are
not given the power to directly manipulate the
beliefs of other agents. - goal definition
- KQML acheive, unacheive.
- FIPA does not express these concepts in the ACL,
but in the context of the ACL messages.
25Relevance to WSMO
- Consider the idea of speech acts for simple MEP
in WSMO - FIPA ACL request
- FIPA ACL inform
- FIPA ACL failure
- Consider WSML as the content language