KQML String Syntax

Previous: Introduction 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: KQML Semantics

KQML String Syntax

A KQML message is also called a performative. A performative is expressed as an ASCII string using the syntax defined by this section. This syntax is a restriction on the ASCII representation of Common Lisp Polish-prefix notation.

NOTE: We chose the ASCII-string LISP list notation because it is readable by humans, simple for programs to parse (particularly for many knowledge-based programs), and transportable by many inter-application messaging platforms. However, no choice of message syntax will be both convenient and efficient for all messaging APIs; Appendix ?? describes some alternate syntaxes for particular applications.

Unlike Lisp function invocations, parameters in performatives are indexed by keywords and therefore order independent. These keywords, called parameter names, must begin with a colon (:) and must precede the corresponding parameter value.

NOTE: Performative parameters are identified by keywords rather than by their position due to a large number of optional parameters to performatives.

Several examples of the syntax appear in Section of this document.

-----------------------------------------------

finin@cmsc