Semantics for an Agent Communication Language
August 1, 1996
We address the issue of semantics for an agent communication language. In particular, the specification and semantics of Knowledge Query Manipulation Language (KQML), and the logical architecture of KQML--speaking agents are investigated. KQML is a language and protocol to support communication between (intelligent) software agents. First, we present a new specification for the KQML language that corrects a number of outstanding problems. Then, based on ideas from speech act theory, we propose a semantic description for KQML that associates ``cognitive'' states of the agent with the use of the language's primitives (performatives). We use this approach to describe the semantics for the whole set of reserved KQML performatives. Building on the semantics, we devise the conversation policies, i.e., a formal description of how KQML performatives may be combined into KQML exchanges (conversations), using a Definite Clause Grammar. Finally, we present the code for a Prolog program that shows how the conversation policies can be incorporated in a software agent that speaks KQML.
The research presented here finalizes the specification of KQML and provides semantics for the language. The accompanying code shows how this research can be used to build KQML agents that make use of all of the powerful features of KQML. Thus, we offer the research community a completely defined communication language that can be used for knowledge exchange between software agents. Also, our research offers methods for: (1) a speech act theory--based semantic description of a language of communication acts, and (2) the specification of the protocols associated with these acts. Languages of communication acts address the issue of communication between software applications at a level of abstraction that could prove particularly useful to the emerging software agents paradigm of software design and developement.
Downloads: 201 downloads
Google Scholar Citations: 234 citations