KQML as an Agent Communication Language

KQML as an Agent Communication Language

1994 | Tim Finin and Richard Fritzson, Don McKay and Robin McEntire
This paper introduces the Knowledge Query and Manipulation Language (KQML), a language and protocol designed for intelligent software agents to exchange information and knowledge. KQML is part of the ARPA Knowledge Sharing Effort, aimed at developing techniques for building large-scale, shareable, and reusable knowledge bases. KQML supports an extensible set of *performatives* that define permissible "speech acts" and serve as a substrate for higher-level models of interagent interaction, such as contract nets and negotiation. It also includes a basic architecture for knowledge sharing through *communication facilitators* that coordinate interactions among other agents. The paper discusses the challenges of distributed, heterogeneous, and dynamic environments, where traditional client-server models are insufficient. KQML addresses these issues by enabling agents to communicate, cooperate, act independently, and manage local resources. The language is designed to be flexible and can be used with various content languages and transport mechanisms, including TCP/IP, email, Linda, HTTP, and CORBA. KQML's syntax is based on balanced parenthesis lists, with the initial element being the performative and subsequent elements being keyword/value pairs. The language supports a variety of performatives, including query, response, informational, generator, and networking performatives. KQML also includes optional features for describing content, such as language, ontology, and type. The paper outlines the roles of KQML in distributed systems and AI research, emphasizing its potential for enhancing large-scale integration and interoperability efforts. It describes the KQML software architectures, including routers and facilitators, which help agents locate and engage with each other. The authors have implemented KQML in Common Lisp and C, and it has been used in various prototype systems, including concurrent design, military logistics, and agent-based software integration. In conclusion, KQML is expected to play a crucial role in building future distributed agent-oriented information systems. The language continues to evolve based on feedback from prototypes and real-world applications, and it may integrate with emerging standards like OMG's CORBA and Microsoft's OLE 2.0.This paper introduces the Knowledge Query and Manipulation Language (KQML), a language and protocol designed for intelligent software agents to exchange information and knowledge. KQML is part of the ARPA Knowledge Sharing Effort, aimed at developing techniques for building large-scale, shareable, and reusable knowledge bases. KQML supports an extensible set of *performatives* that define permissible "speech acts" and serve as a substrate for higher-level models of interagent interaction, such as contract nets and negotiation. It also includes a basic architecture for knowledge sharing through *communication facilitators* that coordinate interactions among other agents. The paper discusses the challenges of distributed, heterogeneous, and dynamic environments, where traditional client-server models are insufficient. KQML addresses these issues by enabling agents to communicate, cooperate, act independently, and manage local resources. The language is designed to be flexible and can be used with various content languages and transport mechanisms, including TCP/IP, email, Linda, HTTP, and CORBA. KQML's syntax is based on balanced parenthesis lists, with the initial element being the performative and subsequent elements being keyword/value pairs. The language supports a variety of performatives, including query, response, informational, generator, and networking performatives. KQML also includes optional features for describing content, such as language, ontology, and type. The paper outlines the roles of KQML in distributed systems and AI research, emphasizing its potential for enhancing large-scale integration and interoperability efforts. It describes the KQML software architectures, including routers and facilitators, which help agents locate and engage with each other. The authors have implemented KQML in Common Lisp and C, and it has been used in various prototype systems, including concurrent design, military logistics, and agent-based software integration. In conclusion, KQML is expected to play a crucial role in building future distributed agent-oriented information systems. The language continues to evolve based on feedback from prototypes and real-world applications, and it may integrate with emerging standards like OMG's CORBA and Microsoft's OLE 2.0.
Reach us at info@study.space
[slides and audio] KQML as an agent communication language