Agents Communication Languages
(ACL)
http://www.engr.uconn.edu/%7Eibrahim/publications/acl.htm
Dumitru Roman
Digital Enterprise Research Institute
[email protected]
Outline
• Introduction
• Knowledge Query and Manipulation Language
(KQML)
• Foundation for Intelligent Physical Agents
(FIPA) ACL
• Comparing between KQML and FIPA
• Relevance to WSMO
[email protected]
2
Introduction
• 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: <a,fear,raining(t_now )>
[email protected]
3
Requirements 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.
[email protected]
4
Requirements 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.
[email protected]
5
Requirements 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 predefined message types and protocols.
• An ACL compliant agent which uses the communicative acts whose names
are defined in ACL’s 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.
[email protected]
6
Basic 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 conversations—task oriented, shared
sequences of messages that they follow, such as
a negotiation or an auction.
• The message types of ACLs - speech acts.
[email protected]
7
Knowledge 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
program’s 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.
[email protected]
8
KQML 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.
[email protected]
9
A KQML Message
performative
parameter
value
(tell :sender
bookShopAgent123
:receiver
ksAgent
:in-reply-to id7.34.96.45391
:ontology books
:language Prolog
:content “price(ISBN3429459,24.95)”)
A KQML Dialogue:
A to B: (ask-if (> (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))
[email protected]
10
KQML 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 (streamall).
• 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
[email protected]
11
KQML 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.
[email protected]
12
KQML 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.
[email protected]
13
KQML 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.
[email protected]
14
KQML 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.
[email protected]
15
Semantics 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.
[email protected]
16
Foundation 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
pragmatics—that 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.
[email protected]
17
ACL Message
(inform
:sender agent1
:receiver hpl-auction-server
:content
(price (bid good02) 150)
:in-reply-to round-4
:reply-with bid04
:language sl
:ontology hpl-auction
)
[email protected]
Note: FIPA uses a
different content language
from KQML called SL,
which is based on
modal logic.
18
FIPA - 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.
[email protected]
19
FIPA - 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.
[email protected]
20
FIPA - 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.
[email protected]
21
Semantics 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 act’s
– 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.
[email protected]
22
Comparing 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.
[email protected]
23
Comparing 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.
[email protected]
24
Relevance 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
[email protected]
25
Descargar

ACLs - WSMO