From: Subject: ACL Date: Tue, 6 Oct 2009 13:38:42 +0300 MIME-Version: 1.0 Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Content-Location: file://C:\Documents and Settings\gor\??????? ????\2009-2010\AlinaFrolova\TheSecond\ACL.htm X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 ACL

ACL & Protocols

by Alan = Mehlenbacher  = Oct/2001

Parameters

 

Parameter

Meaning

1.    =  

:sender
identity=20 of the sender of the message

2.    =  

:receiver
identity=20 of the intended recipient of the message.

3.    =  

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

4.    =  

:in-reply-to
expression=20 that references an earlier action to which this message is a=20 reply.

5.    =  

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

6.    =  

:language
encoding=20 scheme of the content of the action.

7.    =  

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

8.    =  

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

9.    =  

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

10.           = ;=20  

:conversation-id
expression=20 which is used to identify an ongoing sequence of communicative = acts which=20 together form a conversation.

11.           = ;=20  

:content
content=20 of the message; equivalently denotes the object of the=20 action.

 

ACL Communicative Acts

 

ACL=20

Meaning

12.  =  

accept-proposal
The=20 action of accepting a previously submitted proposal to perform an=20 action.

13.  =  

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

14.  =  

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

15.  =  

cfp
The=20 action of calling for proposals to perform a given = action.

16.  =  

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

17.  =  

disconfirm
The=20 sender informs the receiver that a given proposition is false, = where the=20 receiver is known to believe, or believe it likely that, the = proposition=20 is true.

18.  =  

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

19.  =  

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

20.  =  

inform-if (macro act)
A=20 macro action for the agent of the action to inform the recipient = whether=20 or not a proposition is true.

21.  =  

inform-ref (macro act)
A=20 macro action for sender to inform the receiver the object which=20 corresponds to a definite descriptor.

22.  =  

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

23.  =  

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

24.  =  

query-if
The=20 action of asking another agent whether or not a given proposition = is=20 true.

25.  =  

query-ref
The=20 action of asking another agent for the object referred to by an=20 expression.

26.  =  

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

27.  =  

reject-proposal
The=20 action of rejecting a proposal to perform some action during a=20 negotiation.

28.  =  

request
The=20 sender requests the receiver to perform some action. One important = class=20 of uses of the request act is to request the receiver to perform = another=20 communicative act.

29.  =  

request-when
The=20 sender wants the receiver to perform some action when some given=20 proposition becomes true.

30.  =  

request-whenever
The=20 sender wants the receiver to perform some action as soon as some=20 proposition becomes true and thereafter each time the proposition = becomes=20 true again.

31.  =  

subscribe
The=20 act of requesting a persistent intention to notify the sender of = the value=20 of a reference, and to notify again whenever the object identified = by the=20 reference changes.

 

Learning=20 ACL by Example query-if,=20 confirm, disconfirm
query-if
The=20 action of asking another agent whether or not a given proposition = is=20 true.

Example
(query-if=20
:sender A:receiver B

:content=20

<marketplace><product>plums</product>

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

:language=20 XML

:ontology  =
mp.xsd) 

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

Example
(confirm=20

:sender=20 B :receiver A

:content=20

<marketplace><product>plums</product>

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

:language=20 XML

:ontology  =
mp.xsd) 

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

Example
(disconfirm=20
:sender B:receiver A

:content=20

<marketplace><product>plums</product>

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

:language=20 XML

:ontology  = mp.xsd) 

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

Example
(inform=20
:sender B
:receiver A
:content

<marketplace><product>peaches</product>

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

:ontology =20 mp.xsd) 

 
request/failure
request
The=20 sender requests the receiver to perform some action. =

Example
Agent=20 A requests B to open a file:

(request

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

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

:reply-with=20 of01
:language XML

:ontology  = task.xsd) 

 agree
The=20 action of agreeing to perform some action.

Example
Agent=20 B answers that it agrees to the request.

(agree=20
:sender B
:receiver A
:content

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

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

:in-reply-to=20 of01
:language XML

:ontology  = task.xsd) 

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

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

(failure=20
:sender B
:receiver A
:content

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

<purpose>input</purpose>=20 <status>error</status>

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

:in-reply-to=20 of01
:language XML

:ontology =20 task.xsd) 

 

cfp/propose/accept-proposal/reject-proposal
cfp
The=20 action of calling for proposals to perform a given = action.

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

(cfp=20
:sender A
:receiver B

:content=20

<proposal><product>plum</product>

<transaction>sell</transaction>

<unit>box</unit><quantity>50</quantity>&= lt;/proposal>

:conversation-id=20 2000-06-10-384

:language=20 XML

:ontology  = bid.xsd) 

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

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

(propose=20

:sender=20 B

:receiver=20 A

:content=20

<proposal><product>plum</product>

<transaction>sell</transaction>

<unit>box</unit><quantity>50</quantity><= /P> <price>200</price></proposal>

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

:ontology  = bid.xsd) 

 accept-proposal
The=20 action of accepting a proposal to perform an = action.

Example
(accept-proposal=20

:sender=20 A

:receiver=20 B

:content=20

<proposal><product>plum</product>

<transaction>sell</transaction>

<unit>box</unit><quantity>50</quantity><= /P> <price>200</price></proposal>=20

:conversation-id=20 2000-06-10-384

:language=20 XML

:ontology  = bid.xsd) 

 reject-proposal
The=20 action of rejecting a proposal to perform some action during a=20 negotiation.

Example
(reject-proposal=20

:sender=20 A

:receiver=20 B
:content

<proposal><product>plum</product>

<transaction>sell</transaction>

<unit>box</unit><quantity>50</quantity><= /P> <price>200</price></proposal>=20

:conversation-id=20 2000-06-10-384

:language=20 XML

:ontology =20 bid.xsd) 

  The Rest of the Communicative = Acts
not-understood
The=20 sender received a communicative act which it did not = understand.  This would be due to = lack of=20 recognition of the content language, the protocol, or the = ontology.

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

(not-understood
:sender=20 A

:receiver=20 B

:content

<reason>ontology</reason>

:language=20 xml

:conversation-id=20 200006101030)

refuse

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

Example

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

(refuse=20

:sender=20 B

:receiver=20 A

:content

     =20 <reason>insufficient-funds</reason>

:language=20 xml

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

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

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

(cancel=20

:sender=20 A

:receiver=20 B

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

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

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

(request=20

:sender=20 A

:receiver=20 B

:content=20

      = (inform-if=20 :sender B

           &n= bsp;=20 :receiver A

           &n= bsp;=20 :content  =

<product>plums</product>

    =20 <status>forsale</status>

:language=20 xml)

:reply-with=20 query1

:language=20 sl)

Agent=20 B replies that they are not:

(inform=20 :sender B
   =20 :receiver A
   =20 :content

<product>plums</product>

<status>notforsale</status>       =

    :language = xml

    :in-reply-to = query1=20 )

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

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

(request=20

:sender=20 A

:receiver=20 B

:content=20

    (inform-ref =

   :sender B

   :receiver A

   :content

<product>=20 /product>

:language=20 xml)

:reply-with=20 query2

:language=20 sl)

 

Agent=20 B replies:

(inform=20

:sender=20 B 

:receiver=20 A

:content=20

<product>peaches</product>=20

:language=20 xml

:in-reply-to=20 query2)

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

Example
Agent=20 A asks agent B for its products:

(query-ref=20

:sender=20 A

:receiver=20 B

:content=20

      =20 <products></products>) =

 

B=20 replies that it can sell plums & peaches:

(inform=20

:sender=20 B

:receiver=20 A

:content=20

      =20 <products>

          =20 <product>plums</product>

          =20 <product>peaches</product>

       =20 </products> )

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

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

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

(subscribe

:sender=20 A

:receiver=20 B

:content=20

      =20 <products></products>

:language=20 xml

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

 

B=20 replies that it can sell plums::

(inform=20

:sender=20 B

:receiver=20 A

:content=20

      =20 <products>

          =20 <product>plums</product>

      =20 </products>

:language=20 xml

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

 

B=20 subsequently replies that it can sell peaches and apples:

(inform=20

:sender=20 B

:receiver=20 A

:content=20

      =20 <products>

          =20 <product>peaches</product>

          =20 <product>apples</product>

      =20 </products>

:language=20 xml

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

 

Agent=20 A asks B to cancel the subscribe:

(cancel=20

:sender=20 A

:receiver=20 B

:language=20 xml

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

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

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

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

(request-when=20

:sender=20 A

:receiver=20 B

:content=20

        =20 <message>

(inform=20

:sender=20 B

:receiver=20 A

:content=20

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

        =20 </message>

        =20 <condition>

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

        =20 </condition>

:language=20 xml

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

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

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

(request-whenever=20

:sender=20 A

:receiver=20 B

:content=20

       =20 <message>

(inform=20

:sender=20 B

:receiver=20 A

:content=20 <product>plums</product>

           &n= bsp;   =20 <price></price>)

        =20 </message>

        =20 <condition>

  = <price>50</price>

        =20 </condition>

:language=20 xml

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

 

query-Protocol

request-Protocol

contract-net=20 Protocol