Subject: ACL
From: <Nio?aiaii Windows Internet Explorer 8>
Date: Tue, 6 Oct 2009 13:38:42 +0300

ACL & Protocols

by Alan
Mehlenbacher  Oct/2001

Parameters

Parameter

Meaning

1.

:sender

identity
of the sender of the message

2.

:receiver

identity
of the intended recipient of the message.

3.

:reply-with

expression
which will be used by the agent responding to this message to identify the
original message. Can be used to follow a conversation thread in a
situation where multiple dialogues occur simultaneously.

4.

:in-reply-to

expression
that references an earlier action to which this message is a
reply.

5.

:envelope

expression
that provides useful information about the message as seen by the message
transport service -- may include time sent, time received, route,
etc.

6.

:language

encoding
scheme of the content of the action.

7.

:ontology

ontology
which is used to give a meaning to the symbols in the content
expression.

8.

:reply-by

time
and/or date expression which indicates a guideline on the latest time by
which the sending agent would like a reply.

9.

:protocol

identifier
which denotes the protocol which the sending agent is employing. The
protocol serves to give additional context for the interpretation of the
message.

10.

:conversation-id

expression
which is used to identify an ongoing sequence of communicative acts which
together form a conversation.

11.

:content

content
of the message; equivalently denotes the object of the
action.

ACL Communicative Acts

ACL

Meaning

12.

accept-proposal

The
action of accepting a previously submitted proposal to perform an
action.

13.

agree

The
action of agreeing to perform some action, possibly in the
future.

14.

cancel

The
action of cancelling some previously requested action which has temporal
extent (i.e. is not instantaneous).

15.

cfp

The
action of calling for proposals to perform a given action.

16.

confirm

The
sender informs the receiver that a given proposition is true, where the
receiver is known to be uncertain about the proposition.

17.

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.

18.

failure

The
action of telling another agent that an action was attempted but the
attempt failed.

19.

inform

The
sender informs the receiver that a given proposition is true.

20.

inform-if (macro act)

A
macro action for the agent of the action to inform the recipient whether
or not a proposition is true.

21.

inform-ref (macro act)

A
macro action for sender to inform the receiver the object which
corresponds to a definite descriptor.

22.

not-understood

The
sender of the act A informs the receiver B that it perceived that B
performed some action, but that A did not understand what B just did. A
common case is that A tells B that A did not understand the message that B
has just sent to A.

23.

propose

The
action of submitting a proposal to perform a certain action, given certain
preconditions.

24.

query-if

The
action of asking another agent whether or not a given proposition is
true.

25.

query-ref

The
action of asking another agent for the object referred to by an
expression.

26.

refuse

The
action of refusing to perform a given action, and explaining the reason
for the refusal.

27.

reject-proposal

The
action of rejecting a proposal to perform some action during a
negotiation.

28.

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.

29.

request-when

The
sender wants the receiver to perform some action when some given
proposition becomes true.

30.

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.

31.

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.

Learning
ACL by Example

query-if,
confirm, disconfirm

query-if

The
action of asking another agent whether or not a given proposition is
true.

Example

(query-if

:sender A:receiver B

:content

<marketplace><product>plums</product>

<date>today</date></marketplace>

:language
XML

:ontology  mp.xsd)

confirm

The
sender informs the receiver that a given proposition is true.

Example

(confirm

:sender
B :receiver A

:content

<marketplace><product>plums</product>

<date>today</date></marketplace>

:language
XML

:ontology  mp.xsd)

disconfirm

The
sender informs the receiver that a given proposition is false.

Example

(disconfirm

:sender B:receiver A

:content

<marketplace><product>plums</product>

<date>today</date></marketplace>

:language
XML

:ontology  mp.xsd)

inform

The
sender informs the receiver that a given proposition is true.

Example

(inform

:sender B
:receiver A
:content

<marketplace><product>peaches</product>

<date>today</date></marketplace>
:language
XML

:ontology
mp.xsd)

request/failure

request

The
sender requests the receiver to perform some action.

Example

Agent
A requests B to open a file:

(request

:sender
A
:receiver B
:content
<task><action>open</action><object>\foo.txt\<object>

<purpose>input</purpose></task>

:reply-with
of01
:language XML

:ontology  task.xsd)

agree

The
action of agreeing to perform some action.

Example

Agent
B answers that it agrees to the request.

(agree

:sender B
:receiver A
:content

<task><action>open</action><object>\foo.txt\<object>

<purpose>input</purpose></task>

:in-reply-to
of01
:language XML

:ontology  task.xsd)

failure

The
action of telling another agent that an action was attempted but the
attempt failed.

Example

Agent
B informs A that it has failed to open a file:

(failure

:sender B
:receiver A
:content

<task><action>open</action><object>\foo.txt\<object>

<purpose>input</purpose>
<status>error</status>

<feedback>No
such file: foo.txt</feedback></task>

:in-reply-to
of01
:language XML

:ontology
task.xsd)

cfp/propose/accept-proposal/reject-proposal

cfp

The
action of calling for proposals to perform a given action.

Example

Agent
A asks B to submit its proposal to sell 50 boxes of plums:

(cfp

:sender A
:receiver B

:content

<proposal><product>plum</product>

<transaction>sell</transaction>

<unit>box</unit><quantity>50</quantity></proposal>

:conversation-id
2000-06-10-384

:language
XML

:ontology  bid.xsd)

propose

The
action of submitting a proposal to perform a certain action, given certain
preconditions.

Example

Agent
B informs A that it will sell 50 boxes of plums for 200:

(propose

:sender
B

:receiver
A

:content

<proposal><product>plum</product>

<transaction>sell</transaction>

<unit>box</unit><quantity>50</quantity>

<price>200</price></proposal>

:conversation-id
2000-06-10-384
:language XML

:ontology  bid.xsd)

accept-proposal

The
action of accepting a proposal to perform an action.

Example

(accept-proposal

:sender
A

:receiver
B

:content

<proposal><product>plum</product>

<transaction>sell</transaction>

<unit>box</unit><quantity>50</quantity>

<price>200</price></proposal>

:conversation-id
2000-06-10-384

:language
XML

:ontology  bid.xsd)

reject-proposal

The
action of rejecting a proposal to perform some action during a
negotiation.

Example

(reject-proposal

:sender
A

:receiver
B
:content

<proposal><product>plum</product>

<transaction>sell</transaction>

<unit>box</unit><quantity>50</quantity>

<price>200</price></proposal>

:conversation-id
2000-06-10-384

:language
XML

:ontology
bid.xsd)

The Rest of the Communicative Acts

not-understood

The
sender received a communicative act which it did not understand.  This would be due to lack of
recognition of the content language, the protocol, or the ontology.

Example

Agent
A did not understand a query-if message because it did not recognise the
ontology:

(not-understood
:sender
A

:receiver
B

:content

<reason>ontology</reason>

:language
xml

:conversation-id
200006101030)

refuse

The
refuse act is an abbreviation for denying that an act is possible for the
agent to perform, and stating the reason why that is so.

Example

Agent
B refuses to sell plums to A, since there are insufficient funds in A's
account:

(refuse

:sender
B

:receiver
A

:content

<reason>insufficient-funds</reason>

:language
xml

:conversation-id
2000-06-10-384)

cancel

The
action of cancelling some previously request'ed action which has
temporal extent (i.e. is not instantaneous) such as an electronic commerce
agreement.

Example

Agent
A asks B to cancel an action by cross-referencing the previous
conversation in which the request was made:

(cancel

:sender
A

:receiver
B

:conversation-id
2000-06-10-384)

inform-if

The
inform-if is used like a macro within a
request.  The agent
which enacts an inform-if
macro-act will actually perform a standard inform act.

Examples

Agent
A requests B to inform whether plums are for sale:

(request

:sender
A

:receiver
B

:content

(inform-if
:sender B

:receiver A

:content

<product>plums</product>

<status>forsale</status>

:language
xml)

:reply-with
query1

:language
sl)

Agent
B replies that they are not:

(inform
:sender B

:receiver A

:content

<product>plums</product>

<status>notforsale</status>

:language xml

:in-reply-to query1
)

inform-ref

This
is similar to inform-if except it wants information about ("in
reference to") some object, e.g. product.

Example

Agent
A requests B to tell it what is the product for sale:

(request

:sender
A

:receiver
B

:content

(inform-ref

:sender B

:receiver A

:content

<product>
/product>

:language
xml)

:reply-with
query2

:language
sl)

Agent
B replies:

(inform

:sender
B

:receiver
A

:content

<product>peaches</product>

:language
xml

:in-reply-to
query2)

query-ref

Query-ref is the act of asking
another agent to inform the requestor about the object identified by a
definite descriptor. The sending agent is requesting the receiver to
perform an inform act,
containing the object that corresponds to the definite descriptor (see
also subscribe).

Example

Agent
A asks agent B for its products:

(query-ref

:sender
A

:receiver
B

:content

<products></products>)

B
replies that it can sell plums & peaches:

(inform

:sender
B

:receiver
A

:content

<products>

<product>plums</product>

<product>peaches</product>

</products> )

subscribe

The
subscribe act is a persistent
version of query-ref, such that
the agent receiving the subscribe will inform the sender of the value of
the reference, and will continue to send further informs if the object denoted by
the definite description changes.

A
subscription set up by a subscribe act is terminated by a
cancel act.

Example

Agent
A asks agent B to inform A each time it has products for sale:

(subscribe

:sender
A

:receiver
B

:content

<products></products>

:language
xml

:conversation-id
2000-06-11-908)

B
replies that it can sell plums::

(inform

:sender
B

:receiver
A

:content

<products>

<product>plums</product>

</products>

:language
xml

:conversation-id
2000-06-11-908 )

B
subsequently replies that it can sell peaches and apples:

(inform

:sender
B

:receiver
A

:content

<products>

<product>peaches</product>

<product>apples</product>

</products>

:language
xml

:conversation-id
2000-06-11-908 )

Agent
A asks B to cancel the subscribe:

(cancel

:sender
A

:receiver
B

:language
xml

:conversation-id
2000-06-11-908)

request-when:

Request-when allows an agent A to
inform another agent B that a certain action should be performed as soon
as a given condition becomes true.

Agent
B could refuse to do this, or Agent A can cancel it.

Example

Agent
A tells agent B to notify it as soon as an auction starts.

(request-when

:sender
A

:receiver
B

:content

<message>

(inform

:sender
B

:receiver
A

:content

<auction-state>starting</auction-state>)

</message>

<condition>

<auction-state>starting</auction-state>

</condition>

:language
xml

:conversation-id
2000-06-12-908)

request-whenever

Request-whenever allows an agent
to inform another agent that a certain action should be performed as soon
as a given condition becomes true, and that, furthermore, if the condition
should subsequently become false, the action will be repeated as soon as
it once again becomes true.

Example

Agent
A tells agent B to notify it whenever the price of plums goes under 50.

(request-whenever

:sender
A

:receiver
B

:content

<message>

(inform

:sender
B

:receiver
A

:content
<product>plums</product>

<price></price>)

</message>

<condition>

<price>50</price>

</condition>

:language
xml

:conversation-id
2000-06-12-768)

query-Protocol

request-Protocol

contract-net
Protocol