What ever happened to KQML?

July 11th, 2006

KQML robot Several times a year I get email messages asking about the status of KQML (Knowledge Query and Manipulation Language) which was an agent communication language developed as part of the DARPA Knowledge Sharing Effort. Below is a slightly revised version of my response to the latest inquiry.

What ever happened to KQML?

There are no organized efforts to further develop KQML or even maintain a list of resources about it. The KQML effort was pretty much subsumed by FIPA’s activities. Many of us who developed KQML worked with FIPA beginning in the late 90s. FIPA continues as an IEEE standards effort. If you want to work with a message-oriented ACL framework, I recommend you go with FIPA.

KQML and FIPA-ACL were the ACLs that most people used. There are some others, of course. SRI’s OAA is one that is used by a community beyond its developers (e.g., in CALO). With support from the DARPA CoABS program, Global Infotek developed infrastructure for a hybrid KQML/FIPA system that is available as the Intelligent Service Layer. DARPA also funded the development of the Cognitive Agent Architecture (Cougaar) framework that has much in common with KQML and FIPA.

For the most part, multiagent systems researchers today are focused on issues other than communication and often use an ad hoc communication language and infrastructure in any implementations. In the 1990s we thought that a standard ACL and associated infrastructure like KQML or FIPA-ACL would enable a computing paradigm based on distributed, autonomous agents. Like most technology visions, it didn’t quite work out the way we imagined it.

Building intelligent distributed systems is very hard and the immediate benefits weren’t dramatic. Industry and many researchers moved on to explore other approaches for the next generation of distributed computing: grid computing, the semantic web, web services, SOA, Web 2.0, etc. The autonomous agent paradigm is still compelling and will be an important part of future systems. We weren’t ready to deploy it widely in the 1990’s and probably still are not. It remains an excellent framework for research and experimentation on some of the fundamental issues that must addressed in order to realize more intelligent distributed systems.

If you want to build a multiagent system and need to communicate at the knowledge level, I recommend using the FIPA standards. They are mature, well documented and supported by open source software packages, such as JADE.