This document is a draft of an initial specification for the KQML agent communication language being developed by the external interfaces working group of the DARPA Knowledge Sharing Effort. KQML is intendewd to be a high-level language to be used by knowledge-based system to share knowledge at run time.
We describe a language and protocol intended to support interoperability among intelligent agents in a distributed application. Examples of applications envisioned include intelligent multi-agent design systems as well as intelligent planning, scheduling and replanning agents supporting distributed transportation planning and scheduling applications. The language, KQML for Knowledge Query and Manipulation Language, is part of a larger DARPA-sponsored Knowledge Sharing Initiative focused on developing techniques and tools to promote the sharing on knowledge in intelligent systems. We will define the concepts which underlie KQML and attempt to specify its scope and provide a model for how it will be used.
We investigate the semantics for Knowledge Query Manipulation Language (KQML) and we propose a semantic framework for the language. KQML is a language and a protocol to support communication between software agents. Based on ideas from speech act theory, we propose a semantic description for KQML that associates descriptions of the cognitive states of agents with the use of the language's primitives (performatives). We use this approach to describe the semantics for the basic set of KQML performatives. We also investigate implementation issues related to our semantic approach. We suggest that KQML can offer an all purpose communication language for software agents that requires no limiting pre-commitments on the agents' structure and implementation. KQML can provide the Distributed AI, Cooperative Distributed Problem Solving and Software Agents communities with an all purpose language and environment for intelligent inter-agent communication.
An html version of this paper without the figures is also available.
This paper describes the design of and experimentation with the Knowledge Query and Manipulation Language (KQML), a new language and protocol for exchanging information and knowledge. This work 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 focuses on an extensible set of performatives, which defines the permissible ``speech acts'' agents may use and comprise a substrate on which to develop higher-level models of interagent interaction such as contract nets and negotiation. In addition, KQML provides a basic architecture for knowledge sharing through a special class of agent called {\it 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.
This chapter discusses the desirable features of languages and protocols for communication among intelligent information agents. These desiderata are divided into seven categories: form, content, semantics, implementation, networking, environment, and reliability. The Knowledge Query and Manipulation Language (KQML) is a new language and protocol for exchanging information and knowledge. This work is part of a larger effort, the ARPA Knowledge Sharing Effort, which is aimed at developing techniques and methodologies for building large--scale knowledge bases that are sharable and reusable. KQML is both a message format and a message--handling protocol to support run--time knowledge sharing among agents. KQML is described and evaluated as an agent communication language relative to the desiderata.
This paper offers some opinions on the desirable features of languages and protocols for communication among intelligent information agents. These desiderata are divided into seven categories: form, content, semantics, implementation, networking, environment, and reliability. The Knowledge Query and Manipulation Language (KQML), is a new language and protocol for exchanging information and knowledge. This work is part of a larger effort, the ARPA Knowledge Sharing Effort, which is aimed at developing techniques and methodologies 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 is described and evaluated as an agent communication language relative to the desiderata.
KQML is a message protocol and format for software agents to communicate with each other. In this paper we discuss the security features that a KQML user would expect and an architecture to satisfy those expectations. The proposed architecture is based on cryptographic techniques and would allow agents to verify the identity of other agents, detect message integrity violations, protect confidential data, ensure non-repudiation of message origin and take counter measures against cipher attacks. 10/23/95.
"...InfoSleuth is a consortial research project at MCC which is developing technologies for addressing these issues. Based on MCC's successful Carnot project, InfoSleuth is developing a network of semi-autonomous software agents which perform semantic data integration and retrieval across a widely distributed network environment. To achieve this, the project employs recent advances in ontology management, data mining, workflow automation, object brokering and language translation. The InfoSleuth architecture consists of agents communicating with each other via the high-level language KQML. Queries are specified in the flexible knowledge representation language KIF, with respect to common ontologies that are managed in knowledge-base management systems such as Ontolingua and CLIPS. The queries are routed by mediation and brokerage agents to specialized agents for data retrieval from distributed resources, and for integration and analysis of results. User interaction with this web of agents is via a personalized intelligent user agent which communicates with the user via Java applets running inside a Java-capable Web browser such as Netscape." 6/23/96
Agent interaction takes place at several levels. Current work in the ARPA Knowledge Sharing Effort has addressed the information content level by the KIF language and the intentional level by the KQML language. In this paper we address the coordination level by means of our Coordination Language \050COOL\051 that relies on speech act based communication, but integrates it in a structured conversation framework that captures the coordination mechanisms agents use when working together. We are currently using this language to represent coordination mechanisms for the supply chain of manufacturing enterprises modeled as intelligent agents and as an environment for designing and validating coordination protocols for multi-agent systems. This paper describes the basic elements of this language: conversation objects, conversation rules, error recovery rules, continuation rules, conversation nesting. The actual COOL source code and a running trace for the n-queens problem are presented in the Appendix.
The Palo Alto Collaborative Testbed (PACT) is a laboratory for joint experimentation in computer-aided concurrent engineering being pursued by research groups at Stanford University, Lockheed, Hewlett-Packard, and Enterprise Integration Technologies. The current prototype integrates four preexisting concurrent engineering systems into a common framework. Each individual system is used to model different aspects of a small robotic manipulator, and to reason about them from a different engineering perspective (dynamics, digital electronics, and software). The systems interact via knowledge-based communication languages and services. Initial PACT experiments have explored engineering knowledge exchange in the context of a distributed simulation and simple incremental redesign scenario. This paper describes the nature of these experiments, the technology underlying them, and the results produced.
This paper considers the semantics of the agent communication language KQML. By using this language for communication, agents will be able to request and provide services. Indeed, numerous projects have shown how the language can profitably support interoperation among distributed agents. However, before becoming a widely-accepted standard, it would be worthwhile to examine the language in detail, especially the semantical issues it raises. This paper identifies numerous difficulties with the language, and an attempt is made to point to their resolution. The paper illustrates the kind of semantics we believe to be necessary to characterize agent communication languages, identifies an important adequacy condition (compositionality) and shows how to compose a question from a request and an inform. Finally, the paper discusses possible impacts to be felt on various KQML decisions from the semantical issues raised here.
Rich Fritzson, Tim Finin, Don McKay and Robin McEntire. title: KQML - A Language and Protocol for Knowledge and Information Exchange , 13th International Distributed Artificial Intelligence Workshop July 28-30, 1994: Seattle WA.