KQML agent communication language

Timothy Finin (Tim.Finin@cs.umbc.edu)
Sat, 6 Aug 1994 23:41:01 -0400

Some members of this list may be interested in the KQML agent
communication language.

KQML or the Knowledge Query and Manipulation Language is a language
and protocol for exchanging information and knowledge. It is part of a
larger effort, the ARPA Knowledge Sharing Effort which is aimed at
developing techniques and methodology for building large-scale
knowledge bases which are sharable and reusable. KQML is both a
message format and a message-handling protocol to support run-time
knowledge sharing among agents. KQML can be used as a language for an
application program to interact with an intelligent system or for two
or more intelligent agents to share knowledge in support of
cooperative problem solving.

KQML focuses on an extensible set of performatives, which defines the
permissible operations that agents may attempt on each other's
knowledge and goal stores. The performatives comprise a substrate on
which to develop higher-level models of inter-agent interaction such
as contract nets and negotiation. In addition, KQML provides a basic
architecture for knowledge sharing through a special class of agent
called communication facilitators which coordinate the interactions of
other agents The ideas which underlie the evolving design of KQML are
currently being explored through experimental prototype systems which
are being used to support several testbeds in such areas as concurrent
engineering, intelligent design and intelligent planning and scheduling.

Additional information on KQML can be found on the world-wide-web via
the URL http://www.cs.umbc.edu/kqml/. This page has pinters to
papers, available software in C and Lisp, mailing-list information,
etc. You can also access much of this information by ftp from
ftp.cs.umbc.edu in pub/kqml and by gopher from gopher.cs.umbc.edu.

To subscribe to the KQML mailing list, send the following in the body
(not the subject line) of an email message to MAJORDOMO@CS.UMBC.EDU:

subscribe KQML

This will subscribe the account from which you send the message to the
KQML list. If you wish to subscribe another address instead (such as
a local redistribution list), you can use a command of the form:

subscribe KQML other-address@your_site.your_net