[om] Announce: KQML for OpenMath
andrews at dcs.st-and.ac.uk
Sun Sep 19 16:13:42 CEST 1999
The intention of this email is to keep this very important
issue under discussion.
In mid-august Michael Kohlhase wrote:
> Dear Friends,
> On OpenMath workshop in Talahassee I proposed KQML (the Knowledge Query and
> Management Language; a standart Agent communication language) as a basis
> for the protocol layer of OpenMath.
> In Eindhoven the question of designing a protocol layer for OM reappeared
> and KQML was mentioned independently in this context, since KQML is an
> independent standard for Agent communication that has been in use for a
> couple of years.
> To make it more compatible with OpenMath, I went ahead and specified an XML
> representation of KQML for OpenMath. (see
> http://www.ags.uni-sb.de/~omega/www/projects/openmath/kqml for a DTD and
> We are planning to use KQML as the protocol for communication between
> mathematical services in the OMEGA system (see
> http://www.ags.uni-sb.de/~omega) which uses our MathWeb architecture (see
> http://www.ags.uni-sb.de/~omega/www/openmath.html) for agent-based
> communication among mathematical software systems.
> Please have a look at
> http://www.ags.uni-sb.de/~omega/www/projects/openmath/kqml and give me
> Dr. Michael Kohlhase, FB Informatik, Bau 36, Zi. 220
> Universit"at des Saarlandes, 66041 Saarbr"ucken, Germany
> tel/fax: (49)-681-302-4628/2235 net: <kohlhase at cs.uni-sb.de>
As a response I'd like to forward the following email which I had previously
sent to the internal Esprit list. In particular, please note the
inform-ref and query-ref performatives which would, I think, render
the ACL "complete" for basic mathematical purposes.
I'd like to know what interest there is in goal (b) below, and
whether any progress toward this goal has already been achieved.
> Dear All,
> During and after my talk in Eindhoven on the MCP
> (Wang's mathematical computation protocol) the feedback I
> received suggested that I should take a closer look
> at the KQML (Knowledge Query and Manipulation Language)
> and FIPA (Foundation for Intelligent Physical Agents) efforts.
> This feedback came largely from Olga and Michael Kohlhase.
> This email is intended to kick off discussion of these issues within the
> I was initially put off KQML by its strong orientation
> toward "intelligent agents broker architecture" and
> its knowledge systems language. I believe that all
> we (ESPRIT OpenMath) need at the moment is a
> synchronous client/server architecture with the
> expressiveness outlined in my paper (see references).
> Anyway, I've now looked more closely at KQML/FIPA and here's what
> I have to report.
> 1. The FIPA spec is intended to be the general purpose version of KQML.
> An advantage of FIPA over KQML is that it makes the distinction between
> "communicative acts" and "agent management" messages (MCP also makes this distinction).
> 2. FIPA seems to be at a very rudimentary stage of development
> (in terms of available tools, API's and spec stability)
> in spite of having an impressive list of member organizations.
> KQML seems to be well supported by a number of APIs. Some of them actually
> look usable (see JAT-lite below) and they might even support a
> synchronous client-server architecture without too much fiddling around.
> 3. To fix some terminology and elementary notions:
> - FIPA ACL, KQML and MCP are *agent communication languages*.
> - OpenMath, MathML, Prolog etc are *content languages*
> - I haven't quite figured out what an *ontology* is but I guess it would loosely
> correspond with a content dictionary.
> - *performatives* in FIPA and KQML correspond (in spirit) to the elementary
> commands ("assign" and "retrieve") I proposed for an MCP.
> - a *message* consists of a performative (like "inform") and a
> sentence in the content language
> (like "<OMA> <OMS cd="arith" name="equal"> <OMI 1 \> <OMI 1 \> <\OMA>") .
> 4. A performative is constrained to be a "communicative act"
> as defined in speech act theory.
> "inform-ref" and "query-ref" are performatives in FIPA ACL
> which seem to correspond closely with my "assign" and "retrieve",
> however, they are formally defined and I couldn't figure out their
> formalism, so I can't be completely sure.
> KQML doesn't have inform-ref and query-ref as far as I can tell.
> 5. According to Michael Kohlhase, in the future there will be a
> well documented migration path from KQML to FIPA.
> I'm quite hopeful that we could use KQML APIs and modify them to suit our needs
> (like inserting the *-ref performatives), rather than writing all the
> communication wiring ourselves for client-server setups.
> I'd like to know Stephen Buswell's opinion about whether KQML provides a proper
> I think there's some work to be done:
> a) Ensure that the Math community can use KQML and eventually FIPA ACL in a consistent way.
> b) Write Math-level APIs on top of existing KQML API's
> (like JAT-lite http://java.stanford.edu/)
> I think the way to achieve goal (a) is via goal (b) and also
> writing papers with the flavour of the one I presented in Eindhoven
> to convince people that the APIs we produce are a sufficiently rich
> framework which is easy to use.
> FIPA: http://www.fipa.org/
> KQML: http://www.csee.umbc.edu/kqml/
> The FIPA ACL spec with useful glossary:
> The paper I presented at Eindhoven:
Department of Computer Science
University of St Andrews tel: +44 1334 46 3271
North Haugh fax: +44 1334 46 3278
St Andrews email: andrews at dcs.st-and.ac.uk
Fife KY16 9SS
om at openmath.org - general discussion on OpenMath
Post public announcements to om-announce at openmath.org
Automatic list maintenance software at majordomo at openmath.org
Mail om-owner at openmath.org for assistance with any problems
More information about the Om