Download Appendices & Supplements

Transcript
KQML
23
Communication Example
The performative parameters and their use will now try to be exemplified. This is done by an
example of how the communication between to agents may take place. Therefore is there
below given an example of a speech act between two agents:
(a)
(ask-one
:sender joe
:content (PRICE IBM ?price)
:receiver stock-server
:reply-with ibm-stock
:language LPROLOG
:ontology NYSE-TICKS)
(b)
(tell
:sender stock-server
:content (PRICE IBM 14)
:receiver joe
:in-reply-to ibm-stock
:language LPROLOG
:ontology NYSE-TICKS)
[RF]
The above speech act consists of two performatives. The first performative is agent “joe” that
asks “stock-server” about an IBM stock price. The “ask-one” performative tells the receiving
agent that agent “joe” wants only one answer to the question given in the :content field.
The second performative (“tell”) is used to indicate that the contents of the message is in the
sender agent’s Virtual Knowledge Base (VKB). As it can be seen the label for the speech act
is given by the :reply-with parameter as “ibm-stock”. The ontology and language are
both defined by the sender agent.
Performatives
Agents communicate via a standard set of KQML performatives, which specify a set of
permissible actions that can be performed on the recipient agent.
In the KQML specification no less than 42 reserved performatives are defined. These
performatives will not be described in details here but a deeper description of the single
performatives can be found in [TF].
Performative names can be thought of the actions to be done with the content of the KQML
message. These performative names are also reserved in the same respect as the reserved
performative parameters. Below there is a presentation of the performatives together with a
presentation of the main groups, which the performatives can be split into: