Reserved Performative Parameters

Previous: KQML Semantics Up: DRAFT

Specification of the KQML

Agent-Communication Language

plus example agent policies and architectures

The DARPA Knowledge Sharing Initiative

External Interfaces Working Group Next: Reserved Performative Names

Reserved Performative Parameters

As described in Section , performatives take parameters identified by keywords. This section defines the meaning of some common performative parameters, by coining their keywords and describing the meaning of the accompanying values. This will facilitate brevity in the performative definitions of Section , since the following parameters are used heavily.

The following parameters are reserved in the sense that any performative's use of parameters with those keywords must be consistent with the definitions below. These keywords and information parameter meanings are summarized in Table .

NOTE: The specification of reserved parameter keywords is useful in at least two ways: 1) to mandate some degree of uniformity on the semantics of common parameters, and thereby reduce programmer confusion, and 2) to support some level of understanding, by programs, of performatives with unknown names but with known parameter keywords.


:sender <word>
:receiver <word>
These parameters convey the actual sender and receiver of a performative, as opposed to the virtual sender and receiver in the :from and :to parameters of networking performatives (cf. Section ).


:reply-with <expression>
:in-reply-to <expression>
If the <expression> is the word nil or this parameter is absent from the performative, then the sender does not expect a reply. If the <expression> is the word t then the sender expects a reply. Otherwise, the sender expects a reply containing a :in-reply-to parameter with a value identical to <expression>.


:content <expression>
:language <word>
:ontology <word>
The :content parameter indicates the ``direct object'' (in the linguistic sense) of the performative. For example, if the performative name is tell then the :content will be sentence being told. The <expression> in the :content parameter must be a valid expression in the representation language specified by the :language parameter, or KQML if the :language parameter does not appear. Furthermore, the constants used in the expression must be a subset of those defined by the ontology named by the :ontology parameter, or the standard ontology for the representation language if the :ontology parameter does not appear.

NOTE: Both :language and :ontology are restricted to only take <word>s as values, and therefore complex terms, e.g., denoting unions of ontologies, are not allowed. We do believe that it will be important to support a calculus of ontologies and languages, but we feel that its proper place is in performatives that define new KQML names. This way, only those agents that can process extensional performatives are expected to understand such a calculus.


:force <word>
If the value of this parameter is the word permanent, then the sender guarantees that it will never deny the meaning of the performative. Any other value indicates that the sender may deny the meaning in the future. (This parameter exists to help agents avoid unnecessary truth-maintenance overhead.) The default value is tentative.

finin@cmsc