You are on page 1of 8

KQML

Tim University Finin

as an
and

Agent
Fritzson

Communication
Don McKay Valley County Unisys

Language
and Robin Forge Paoli Corporation PA USA .com com

*
McEntire

Richard

Computer

Science MD

Department Baltimore USA

Laboratory

of Maryland Baltimore

finin@cs.umbc.edu frit zsonQcs.umbc.edu

mckay~vfl.paramax robin Qvfl. paramax.

Abstract
This the and ARPA oping both support focuses the knowledge paper describes Query and This and which format the and design of and for is part Effort experimentation Language exchanging of which for and a larger is aimed building reusable. agents. which use and and agent the the used through to engineering, scheduling. evolving support models for called with (KQML), information effort, the
G G

and wit h.

servers,

depending

on

who

they

are

interacting

Several different ities ment Many

forms

of heterogeneity different information

need data

to be handled, the and the

e.g. imple-

Knowledge language Knowledge techniques bases run-time on a message knowIedge.

Manipulation

platforms, technologies

formats,

capabil-

a new

protocol work

of different ation

services,

employed. such as event simulation,

Sharing

at devellarge-scale KQML protocol KQML defines comprise of inknowlcommof of is to software technologies appfied natur~ language processing, knowledgebased reasoning, advanced information retrieval, speech processing, ment. for building A community etc. have matured there to the point of being type and servers ready to participate However, constructing in and contribute is a lack software agents When their to an to an NII of tools and in general. can abtilt to and local y address to: each these of the agents lancomplex informahandle and clients environor for

methodology are sharable and sharing agents

a message-handling among may nets of

knowledge speech acts to such provides which which being which areas are

an extensible on which

set of perforrnatives, develop higher-level architecture

permissible

techniques

a substrate teragent In addition, sharing agents are edge other KQML prototype testbeds design and

intelligent

interaction KQML through facilitators The systems in such intelligent

as contract a basic class coordinate underlie explored being and

negotiation.

agent-based of we other on their peer Query that together to intelligent above. refer using own agents. and agents.

a special

unication

interactions design experimental

problems with guage; goals; tion requests each

mentioned

we describe

ideas

as intelligent, work act and

communicate

currently

expressive

communication accomplish use local resources Language interactions by It has the 27] and

several intelligent

cooperatively initiative; manage

as concurrent planning

knowledge from

Knowledge

Manipulation to support It was Effort a variety [24,

(KQML) among ARPA sucseparately been systems

1
The

Introduction
computational as the dynamic, nodes. An must environment National by being and highly which is emerging Infrastructure a large system emerging on the services critical will
part

is a language intelligent in such (NII) of auin such supported implemented cessfully using used different

is designed Sharing

software Knowledge by

developed groups.

programs extremely tonomous

Information comprising several

several

research architectures.

is characterized

distributed,

heterogeneous, number operating

to implement software

of information

information handle

an environment
G

problems: the the clifor ini-

The
The tium is to ing and

Knowledge
ARPA to develop

Sharing
conventions and enable functional The KSE and

Effort
Effort sting based to than (KSE) sharing systems. and build could much four is a consorand Its reuse goal facilit test

The

predominant model, Int ernet in bringing Some


was

architecture is too information new, nodes


in

Int ernet, It to take to as both


Office the

Knowledge bases develop, to

Sharing knowledge

ent-server current tiative attention.


Thm entific Research 93-C-0177 work Projects and

restrictive.

is difficult

of knowledge define, technology more

material to act
Air USAF

a users clients
of Sci-

infrastructure

supportbigger working problem

want
by under the

participants systems is organized

supported contract Agency

Force and

broadly alone.

be achieved

Research

under

F49620-92-J-0174, by Rome

Advanced F30602-

working groups identified Inter-lingua, The for

around

monitored

contracts

F30602-93-C-0028

Laboratory,

each in

of which current KRSS, the

addresses knowledge SRKB, Group and

a complementary representation External a common describing [15] which both to support includes Inter-faces.

technology: language This the group KnouJL on

Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association of Computing Machinerv. To corw otherwise, or to republish, requires a fee arrcilor spbcific p9rrnksion. CIKM 94- 11/94 Gaitherburg MD USA O 1994 ACM 0-89791 -674-3/94/001 1..$3.50

Intertingua

is developing document or KIF KIF extensions

expressing Interchange order reason logic

content Formalism

of a knowledge-base,

has published edge first tonic

a specification with some

is based non-monoa specifica-

and

definitions.

456

tion the from tent ated

of a syntax semantics. one content language took . I(RSS is families in the The and

for the language KIF between languages. is available can be used agents from language two

as well

as a specification the translation or as a common use different of KIF and

for connative associ-

B A

to support which http:

to another Information

representation /kse/kif/ Specification) within finished tations information The able edge

//WWH. cs. nmbc, eduSystem constructs has recently represenand other //wwH. Bases) of sharknowldea is availThere Figure ported

Group

(Knowledge on defining for

Representation common It languages.

x A T
reply

AZD

focussed

1: Several in KQML.

basic

communication

protocols

are

sup-

of representation specification familv. . (Shared, KL-ONE KRSS

a common on the SRI(B

terminological document as http: Knowledge on contents in has


umbc.

This .

Agent
protocols. sends waits Figure shown complete for the example tional that a

Communication
are a variety In the to of simplest, another

Protocols
interprocess one agent might C, the which one when which Although some agents. internal involving agent acting between consist In servers allows at a client produces this state, information acts as a server agents A of a single common reply the is not client exchange and then B in case, the to ask a relaof requires individual comcase and an and and as a client

group

is available Reusable

cs. umbc. edu/kse/krss/ Group with bases, topic and is concerned knowledge for particular tools for the scope in

facilitating areas

consensus and

a query for 1. The bet ween

wit h sub-int methodologies. ontologies as


http: //uwv.

crests It and
cs.

shared

a reply,

as is shown reply A and a handle of the occurs of answers.

in topic-independent established which


edu/kse/srkb/

servers or set agents but

answer

velopment repository able over The time been two modules eiven

or a collection answer

another

sharable Internet of the

tools

components of this database

reply,

a time.

A common queries a sequence

External

Interfaces based

Group systems Special

is the

runhas

exchange in response. maintain as before the

interactions

between

knowledge environment.

and other between between manof the from

or a reasoner

a run-time

attention

instantiations the server transactions munication occurs indefinite intervals, does may not when

exchange the

to two imDortant systems system [26]. have which KSE. and The General

cases - communication and KQML out communication language of the is a conventional database is one available external

knowledge-based system of the

are

a synchronous different output 1. The be arriving they

knowledge-based agement main group http://uuu. results

between the client number know are

A somewhat to a servers replies message other task hosts, arriving and, are replying of these D in Figure will when but arrive

subscribes agents each A and

come

interfaces

of asynchronous reply some to to that

at irregular client and do. to or associ-

information

as between when other performing

cs .umbc .edu/kqml.

be busy There not

KQM L and Intelligent


address intelligent them that pragmatic. Getting information a common accepted and and represent if they that for queries. LOOM position ation have syntax they many agents would of the

Information
difficulties in In

integration
of communication

variations The

protocols.

Messages broadcast

might

be addressed of them. have query the

specific

We could between giving means and

a number by this ated with

replies, be collated they

synchronously optionally, to.

described language. share

the

Introduction terms, semantics

asynchronously

a common

linguistic syntax, AI

a common

Facilitators
One guage number is on describe ments tor of agents services, warding on content, providers tion like have about As to services. of the that

and Mediators
design could Our criteria support approach performatives specifying and performs to named and consider truth then for KQML variety this which the to was to produce a lanagent a small to requireclaas A facilitanames, information and translaA would B may F is a query protocol may of agent forbaaed a wide of interesting are used information [16].

processes, is a major in their it is too [19]. can language Languages

especially problem. to aa KIF early which

processes, There is no inforthere

to share universally mation SQL, also any other

represent [15], but

architectures. the and

is to introduce

such

extended

of KQML

by agents

[22]

have that

supporters, As a result, communicate

meta-data

a strong

to standardize it is currently with

capabilities called that

to introduce facilitators useful routing mediation where X,

a special communication messages

language two a commo-n

communication maintaining

necessary languages

to say that

agents

each or use

is an agent e.g.

various a registry services, providing a case and

representation

language language, it

of service between

are inter-translatable. a common communicating in order to are domains among with and with to be a shared or translatable agents interpret semantics, one euch shared development as planning processes to find (and them an exchange. a set of protocols connecting programs. to but is still share a framework exchange. ontology. but many many. impor-

messages and

Assuming necessary of knowledge This There Shared tant biology ing how cerned mantics). computer changing who is not is not application and Pragmatic

providing clients,

matchmaking

message

they

really likely

a shared in

an example, know its the X in

an agent and agent to send to point

ontology, and includes and

of a sentence that

ontologies

under

knowledge-base,

a facilitator point available,

scheduling, 1) know2) knowing is conwith and seexsupport

available. and have whom Figure truth send

If A is aware the query

it is appropriate to B, as in Figure

medicine. computer and how maintain pragmatic and in identifying, with other

X to B, then aware

it can use a simple directly agents a variety in that in turn are

2. If, however, or which can the it those subscribe for believes the X

to talk primarily

A is not

of what then an request F can

to initiate

KQML that with

X in their 3 shows to If then of X.

knowledge-bases, example

or how which facilitator informs inform A. A

to contact uses

secondarily

it is aware,

of approaches

be used.

It is a language programs information

performative to be true,

F monitor F that

B subsequently

4.57

broker(ask(X))

advertise(ask(X))

n
Figure ateness protocol 2: of When querying be used. can A Figure to find an 4 shows agent matching B the 5, A ative that B independently formatives sages, to A. In inform cruit That ating used was which be learns replies initiate From functions consider is willing Figure perform agents agent. in what it sends F of its interest to receive response Alt bough 3 and would example, F to to with (ask-all(X)).

o
I
performative another and to agent receive is used which and to can ask the a facila reply.

I
9 tell(X) Figure itator is aware of X, B and of the approprigiven 4: The agent

broker to find

process

performative

forward

B about

a simple

point-to-point convention, machine with to the the listening Scaling require Internet yet ternet symbolic can the used which robust a facilitator the standard agent KQML of for new should address port. information techniques. (DNS) use can agent will symbolic enterprise The a very names be used references be involved for such organizing scheme an agent will simple, into inthat is to map current be running facilitator. on domain a host and symbolic

a slightly can ask(X). query, informs

different process an it

situation. ask(X) both to and

A accept

asks

performative. permesit to rethat initiquery, of these forwards

up to a national-scale incorporation Name technique agent Domain Servers mapping into the

F that Once gets

is willing F has

a response different the to truth find

1P addresses. be used to contact that function

Similar

techniques specific agent. to Figure facilit What

uses asks and

a slightly in the knowing recipient

performative of X. an sent The agent to the ask

names

development to organize could

of a hierarchical is orthogonal the Internet. as such

ontology the 7 shows

process the

an embedded between for

performative. the examples

information

hierarchical

is then 5 are happen consider the to name

to be directly small if the the

difference

at or- agent-server.

Figures

a simple

embedded exchange

performative in Figure 6 in F it free queries. main find agents to

The
As and should agents,

role of KQML
a communication KQML distributed be useful respect provides agent easily draws AI to language on and both. software system range today, systems, servers, can bases beliefs) of use systems (KBS). including HTML usually one and in general, The KBS used softetc), as the represtanand model. or relainaproLinda, and of a process as an informacommonly work offers for in intelligent both distributed of abstraction information systems that

subscribe As a final A asks that to A appropriate

recommend send the accept of

an agent performative ask(X) agent this B. and

to whom ask(X)). A is then similar one other

it would Once

a level

B is willing with

performatives,

With KQML tion model

to distributed an abstraction

a dialog these

B to answer we can agents

examples,

see that help

of the

as a knowledge-based subsumes agent finger etc. virtueJ models demons, Such store (i.e., and built-in of a simple query) agents and standard layer, As and with servers. systems, a broad in mail systems (i.e., goals). very hypertext

of facilitator

is to

information management ware having agents senting dards protocols This models tional truly tions tocols HTTP, formation have will (e.g. two simulations,

database servers,

appropriate clients and servers. The problem of how agents find facilitators in the first place is not strictly an issue for KQML simple was In tact KQML module registered the router removing and has a variety In a central, initialized applications facilitator each itself another When the of possibIe applications PACT when [5], agent to the KQML from common solutions. have project facilitator the of agents and the up, the used [7], for one of two example, location launched. conof it exits, By the is router Current all agents the KQML-based used

server-oriented be modeled representing the that and other future rich call

techniques.

knowledge

whose were functions its KQML establishing

information its intentions for interchange will avoid (e.g., database intelligent clients used as a transport and CORBA.

a parameter ARPI API. with a local announces send8 the

We hope powerful

finding is one starts local When the facilit

interoperability limitations remote also make simpler Current

languages of more

be based the that

on this

constrained to integrate mundane implement

facilitator to ators the

so that

procedure it and easier more and TCP/IP, in this

in the local application

database.

application database.

message

facilitator,

KQML

communication including standards

messaging email, area evolve

subscribe(ask(X)) 0

recruit

(tell(X))

advert

ise(ask(X))

I
Figure for that and 3: Agent changes deal in requirements

I
ask facilitator the agent Facilitators information and offer and such F to are monitor agents services services Figure cilitator embedded returned 5: The agent directly recruit to find to performative an the appropriate can original agent. is used agent to to Any ask which reply a faan is

A can knowledge

in its

knowledge-base. about agents recruiting of other

as forwarding, routing.

brokering,

content-based

performative

be forwarded,

458

advertise(ask(X)) o

I
performative with for the sending is used name a particular to ask perFigure ing how can 7: Some to thus facilitator other act agents agents will specialize other in knowthings) a

Figure facilitator agent

6: The agent which

recommend to respond is appropriate

of another

formative.

contact

(among

new

standards ations is to as with a flexibility goal The

are will offer other

introduced, use them. that KQML

we expect makes language servers and useful. to

that

KQML

imAI that

and

as b<agent-servers~v.

plement research intelligent as well fords our have tool greater of the

contribution agents of the is to build successful, DAI research research,

Distributed protocol clients. The KQML, themselves

useful ing notations

to them, receiving of the cent ent: type make though forms a topic it

such

as the

names a unique

and

addresses There

of the identifier,

sendand

a standard information communication is quite

and and content

and

agents, KQML its

message

can use to communicate

among

by any intervening language, general the for

agents. the

are also optional descriptions assumes, optional and feato it

inafall

features of the some naming tures analyze, even vary, The the

language

which

cent ain such These

dependence

languages to support in use. should

ontology

which agent

In designing currently

of more

description, ontology. the supporting messages itself

as a descriptor environments

in the then

primitives architectures KQML if and, used among

necessary should DAI serve

within possible content of these on the transport deliver

interesting been for

If we enable

to be a good

rout e and the

based KQML

on their

cent ent, may TCP

widely,

is inaccessible. of the message used which they appear version in an outer from and the For fields core one to act syntax example, use mechanism to carry aa fields of KQML, wrapother conin the

collaboration

researchers,

parts transport In

depending KQML body fields of the In as the were other

The

KQML

Language
takes is only and in place engage with a way on several of the which the levels. The content Beyou Packin

messages. of the message, message headers.

implementations mechanism, In an earlier locations, the

streams Communication of the ing want aging able to message to locate communicate message clear KQML, using in the these per fields. tent E-mail agent content transmits choice, written (e.g. message and notations All of the KQM where can content wrapped be exIt in either network except begins to and in KQML The of its own a part communication. of someone process. your purpose of the makes

message.

kept

in reserved to emphasize may

attention

difference

is a part

transport

mechanisms be different. these the of KQML, forms The the The speech reply

your

of these

communicating When messages, inside pressed ASCII tations the ends. The list. the ple, the Lisp, strate other tations are facditators. KQML. rent emerging The allowing They KQML The syntax initial

is another. a software The in a language

implementation mail

are embedded language. have of the to the or that any is, with per-

composed in any

set of performatives the kinds agent. and to supply

of the can

of a KQM strings ignore that

L message. representation

determines

of interactions primary protocol a speech performative act. to be It also

language binary

a KQML-speaking formatives the message is an would will attaches content mutually sender protocol tive, which ceiver. the price its

function be used which signifies describes

or one of many XDR the they content need

is to identify to the agreed like content. assertion, upon any

deliver sender that how the other the what

independent extent

representations). portion to recognize

L implemenit

message

a query,

a command, delivered, consists include the

of KQML element elements pairs. syntax

is based of the are the list the

on a balanced is the language and were by syntax

parenthesis and as simroots Common subsnof arguments

performative is relatively can the in

be followed. a KQML arguments and the a set content of IBM message which of optional and stock perhaps representing might of a performathe real content transport and as: reabout

remaining the initial but KQML which come actual in has

performatives

Conceptually, associated message, describe For of the

keyword/value if necessary

Because is not ations, out it future.

significant The which

be changed

arguments sender

the turned

reveals done flexible.

implement is expected makes with These are

example,

a message

a query

to be quite for

of a share

be encoded

to be supported possible environment. agents Most programs are not

an software to locate type; one

in a distributed commonly based not

current of this called

implementhese or of curthe part the of routers of some

(aak-one :content : receiver : language : ontology

(PRICE

IBM

?price)

custom on

environments helper

stock-server LPROLCIG NYSE-TICKS ) performative the ontology nyse-ticks, called standard is ask-one, assumed by the receiver OG. and as the the the the con-

environments standardized will

a specified most use to

and such these

environments commercial 0LE2, language KQML as they messages

evolve

frameworks, supports

as O MGs widely

CO RBA used. by which is

In this message, the KQML content is (price :bm ?price), query query query is identified is to is written could by the token message be a server

or Microsofts KQML the

become to carry

more

of the

implementations information

identified using

as stock-serwer LPROL Prolog

in a language

A similar

be conveyed

459

tent as:

language

in a form

that

requests

the

set of all

answers

Basic
G

query
evaluate,

performatives:
ask-if, query stream-all, ask-in, ask-one, ask-all, . . .

Multi-response

performatives: . . .

(ask-all :content :receiver :language :ontology The for a large be sent changing repeat first price(IBM, stock-server standard.prolog NYSE-TICKS) message asks for If instead are the we a single had would (To same posed could reply; ask large above the that we will second which they collection examples. asks had each by [?price, ?time])

stream-in,

Response
G

performatives: sorry, informational . . . performatives: cancel, untell, unachieve, . . .

reply,

Generic
G

tell,

achieve,

a set

as a reply.

a query

Generator
G

performatives: ready, next, rest, discard, generator, . . .

number separately, the fields

of replies, performative.

standby,

of as a single save space, as in the

no longer )

Capability-definition
G

performatives: subscribe, performatives: unregister, forward, broadcast, route, ., monitor, import, export, . . .

which

advertise,

(stream-all ;;?VL :content The turned reply the dream-ail into

Networking

is

a large (PRICE

set ?VL

of

symbols

register,

?price)) asks To that exert a set control of answers of this set around Some such of the tell, such to the which be used have reserved deny, performatives communication and more KQML aspects delete, are shown in Figure 8. In addition to standard as subscribe, non-protocol allows to For earlier performatives protocol contains of pragmatic, what and for in the to handle; agents the server oriented performasuch kinds recruit above be of Figure tive 8: There names which are about into two seven dozen basic reserved categories. performa-

performative a set we of replies. can wrap

faII

messages preceding

another

performative

message. (stream-all :content (PRICE expects the and agent hold them agent The the or either now). stream a discard a rest This ?VL a KQML the and ?price))) language request them next/reply or until (i.e. send disall contake one

(standby :content

as ask, related

performatives tives as advertise-

an agent it is willing find suitable example,

to announce

The tent the with the card of the thatit and

standbgperformative it requests each nest can time continue agent sends replies) replies that the of messages

of asynchronous which types example of can might

messages

receiving

particular

stream the sending all

release of

messages.

at a time, messages

sending until

transmits is depleted message (i.e.

a message

announced:

performative.

exchange

(advertise :ontology :language :content NYSE-TIGKS LPROLOG (monitor :content Which is roughly and the inviting advertise monitor equivalent monitor message. is what (PRICE to announcing requests justifies the ?X ?Y))) that it is a stock stock prices. send-

remaining can

message combination

remaining

is so useful

be abbreviated:

(generate :content A different t ained (from set (PRICE ?VL ?price))) to the with same the query can be ob-

ticker This ing of answers server) a suitable query:

concerning

message

subscribers

KQML

Software

Architectures

(subscribe :content (stream-all :content requests i.e. trading price (PRICE IBM ?price))) changes stock to the which is known anare An a KQML particular resent This swer to generated abbreviation monitor. (monitor :content Though tives, one nity they it A KQML or two) of agents agree there agent performative the query, as the for all future of IBM cerned tems. in the cerned CAD/CAM it is a stream of messages combination was not defined by a single research group for a project. It was created by a committee of repfrom different projects, all of which of expert Another distribution was the were conwith One with planning managing and distributed scheduling decomposition A common implementations domain. and concern of syssystems was conin the manage-

atives

was a distributed problem domain.

collaboration

changes.

subscribe/stream

ment of a collection of cooperating processes and the simplification of the programming requirements for implementing (PRICE IBM ?price))) set required to The handle of reserved set only nor a few performaa closed one. (perhaps a commuif associchooses implea system common is a predefine a minimal may choose does eral not Our written teroperable these grate of this dictate group and type. However, the system evolved. of in together, by the systems KQML. The need into One design to a collabinvolved oriented is inof intethe other used motivated expert C. Both are fully groups As did not share KQML and seva communication systems has two have Lisp, was architecture. a result,

a particular

architecture,

is neither

different

implementations

performatives. may choose on their

set is extensible; and perform the protocol that atives

in Common implement a variety ations

to use additional an implementation reserved way.

performatives

are frequently of preexisting

interpretation

at ed wit h each. to implement ment it in the

However, standard

one of the

must

orating group of processes. Most of the systems were never designed to opsrate in a communication

460

to handle their traffic and deal exclusively in routers KQML messages. There is typically one facilitator for each local group of agents. This can translate into one facilitator
KQML per local facilitators starts up, site or one per provide router the project; redundancy. announces router way to be sends the itself there may When to the be multiple each locaf local

to
its exits,

application facilitator message the list facilitaother of local each to

~-~L

,,
Function Calls an application both interactions to the agent to and and points tagging which routing, procedures client simultaneous a single connections, autonomously. application the router messages and for outgoing and interface and The prodelivfor provides commu-

so the

that it is registered in the local database. When the apanother KQML from can maintained find facilitator, database. there removing In this having application a hand

plication tors without

z~
Figure to the ities, handling KRIL vides ers 9: A network, managing

Network connections

applications

router

gives providing multiple

services.

andservercapabil-

KQML
Since the

KRILs
router is a separate to have and the is called the of the process from the application, between the a programming interface

some is the internal

KQML access messages,

interface

it is necessary application face (API) brary). KRIL to the each derstanding API is only

incoming

analyzes

appropriate application nication

domain specific access.

router. This application program intera KRIL (KQML Router Interface Lirouter content in for tools is a separate field the of the process, KQML the which KRILs, and with has no unthe While for each access message, content. one

interface

While

is embedded one piece there

application code,

applications process,

analyzing

environment.
grams, routines,
a

The

design

is

built

around and

two

specialized

pro-

there for

of router can

is instantiated language. The to the router as embedded implementation language which in lan-

router called

and

a facilitator,

a library

of interface

be various

a KRIL.

application type and one for each application general goal of the KRIL is to make access simple as possible this end, for the programmer. can the be as tightly applications for the the Prolog for TO the guage, had the would cates mulate the itself ing recovered on a KRIL or even

KQM L Routers
Routers KQML separate

are
router

content process. copy

independent agent Alf routers same

message is associated

routers. with its

Each own

speaking

software of the going

application, featured a simple the

programming

are identical; A from changes

each is just agent. it is

as is desirable.

For example, a KRIL

an early

an executing

program.

router handles
process,

of KQML only Prolog were and replies During

all
not

KQML

messages each program

to

and

its

associated to each

declarative of was being an Prolog internal the remote search;

interface Prolog for by KQML determine supplied interpreter database. of the

the

programmer. whenever the agent; and they KRIL prediforreturn were gowere in the gena This about and retransa reply was sent. is usuthe should KRILs to acaccording routed KRILs aflows desired

Because internal messages provides with and provides agents.

has an associated extensive to for and allow the server it agent for the to

router

operation database the actually pose to the the for w

interpreter, predicates, if the a remote query; as though The Prolog

necessary from this both

to make a variety service point client multiple

programs receive The the network. application with other router agent It

searched

organization

asynchronously sources. and rest provides of the for the

intercept

of independent

appropriate

a single manages The

of contact

functions

from except

program

contained

no mention

distributed of which embed A entries.

processing predicates the simple For KRIL KRIL initiating

simultaneous

connections

declaration predicates. to completely

router never looks at the content fields of the mesperformatives and sages it handles. It relies on the KQML
its arguments. Internet message to find message If the attempt the If an outgoing the KQML router address message a particular message directs service, for that only specifies the message the router and a dea

to be treated It is not applications erally accepts the turns mission For ally provides transaction message either

necessary two

programming there

language.

particular to it. will deliver

address, specifies an Internet to it.

programmatic content and agents and code the

is a send-kqml-message as much as can reply process (if the function. to declare arrive. messages or other functions. programming which Depending can features, its destination

function. information be provided the blocks message until there

service

a message and the

If the

provides

scription of the content (e.g. query, :ontology geo-domsinS, :language Prolog, etc.) the router may attempt to find a server which can deal with the message and it will deliver it there, or it may choose to forward it to a smarter communication agent which may be willing to route it. Routers can be implemented with they can not guarantee varying to deliver degrees of sophktication

remote

is synchronous or a simple incoming programmer when the message addition

is received) handling

signifying

message This functions

asynchronous

messages,

a declare-message-handler messages incoming or topic, handling to these

application be invoked capabilities, to performative, different

all messages.

on the and

be sorted

KQ M L Facilitators
To deliver rely on messages facilitators. that A

are

incompletely is

addressed, a network

routers

In cept ister mote ceiving Mosaic,

interfaces,

facilitator

application

which provides useful network services. It maintains a registry of service names; it will forward messages on request It may provide matchmaking services to named services. between are actual information network providers software and agents consumers. which have Facilitators their own

different types their application agents data SQL, to from and

of declarations with local them Our tools. that them. other

which alIow them to regfacilitators and contact rethey has are interested Lisp, C, in rea vaProlog, implemented

advise

group for

riet y of experiment

af KRILs,

Common

461

5
The have tems. sign itary ible

Experience
KQML been The and

with

KQML
and implementations prototype have of hardware logistics ranged and planning integration and retrieval. the and and from software and of the demonstration concurrent systems, information and cooperative has and the eftechand enterincluded the as well exfuncKQML interoperability information infrastructure areas and used and have the virtual including Knowledge [21] The and Early scheduling, protocol sysdemilflex-

database. This

A LIM

server was

front-ends

each

different

database.

language usedin applications

several

run over the internet involving geographically dispersed sites. Agent-Base Software Integration [18] is an effort
experiment way KQML, phisticated based The used ware view facilitator to process supporting have also at Stanford a federated facilitator of software in this and University for architecture is developed integration architecture reason tighter successfully integrating which Mediators In another for with sources URL within were are not the such World retrieving just about which general applying software incorporating which and is the supports interoperation an intelligent of of in clients from distributed The links easily static lends to with disparate other (in content KQM systems. L framework

three,
underas an Using so[16]. agent KQML softsmaller C) with dawith nature itself to a

engineering for

integrating

transportation architectures agent-based access to significantly of large-scale underway as the health intended Interchange more CORBA, integration. such

a highly

large-scale software

heterogeneous

an agent-

systems, information potential tionahty forts nology OMGS commerce, prise languages Knowledge now

planning

enhance integration

capabilities and

messages We mediators tabases. access. KQML of links be information

integration used distributed data limited Web. structures dynamic KQML

in communication national as well The for information content Format knowledge information as in

systems.

application systems languages (KIF) such in

electronic

demonstrations

distributed

database

exchange (KRSL)

demonstration, Wide and hypermedia

we experimented

Representation as other perimentations is a representative developed The tems, both, plines. concurrent tinual ket ability, engineering be distributed KQML tools supporting aries. and across these on what accomplish communicate We Rome military SIPE edge (in have Lab in several supported [30, base Common using design whether today Many

Specification traditional with KQML selection KQML. and engineering multiple systems which

Language languages began

as SQL.

extended

virtual

arbitrary KQML.

1990.

following

as can be supported

of applications of design are involve planning, complex and the etc.

experiments 6

Conclusion
paper has described by which share the future. design of KQML and new structures Should of reserved directory any of feedback to use standards are CORBA these KQML protocols, can being has continued is received them for in real sharing and widely its key for support need these to evolve from the testbed persistent and Microsofts used, ideas for new it the will as the ideas prototypes situations. objectOLE be of collecpromulgated, or something distributed information very KQML and much - a language agents it, wiU knowledge. like and can We information associated communithat in

computer systems fast cycle and e.g., the engineering in

sysor or conmarto are and This disci-

exclusively involves such

hardware

or software

protocol cant e to KQML, building of the The the

intelligent

software

developed

believe

processes manufacturing and across has and

immediate Further, company in the tool

be important

consideration

of end-product manufacturing proved highly

constraints,

agent-oriented

systems

design, bound-

components and effective new

are also likely integration interactions infrastructure communication use of KQML to tools the

organizational systems cost has enabling

explored

attempts

of diverse reducing

Furthermore, oriented such in 2.o. tion based as OMGS

a high-level networking integration and used [17, 23,

communication as well allowed as flexible The the and systems.

developed

integration multiple the demonstrations

specification become so that the the enhance on KQML, to APIs, and be obtained

integrators engineering how

focus can tools

worthwhile information exchange guage

to evolve exchange service languages.

of design 8, 10]. as the

performatives,

a variety information papers, on wide ftp.

appropriately KQML

reemphasized communication experiments One and linking (in a case of these scheduling

an information

language in the ARPA for (in tool were in agent SIMS acprothe sea a experiments system agent

technology Planning an integrated transportation 4]), (in with LOOM Lisp).

integration Initiative. planning logistics a scheduler [22]), All and of the

Additional discussion as http://mm. umbc. lists,

information access can etc,

including information via the

lanemail web cs. -

specifications, cs

world from

a planning Lisp), based

.umbc. edu/kqml/

via ftp

Common

a knowl-

edu in pub/kqml/.

reasoning integrated to work

components designed

preexisting cooperative consisting cess, cesses query mantics single edge eral and

systems which were not distributed environment. experiment, COBASE [26], into and, [6], mediator an information knowledge if no approximation the query query for responses again. of LIM data

References

In a second

we developed a cooperative for planning

a information front-end, information for found and

[1] Yigal
edge

Arens.

Planning

and

reformulating

queries

for

[1, 2], an information relational

semantically-modeled mult id at abase s yst ems. In First International Conference ofi Information and I{nowlJfanagernent, Arens, A. mediator. Workshop, Chin In October Chee, 1992. Chun-Nan processing of the and Hsu, in Hoh In, and Lab Initia-

mediator structures. are operators SIMS

translating relaxes domain generates

COBASE

[2] Yigal
Craig tion 1994 tive

a query, based and

Knoblock.

Query Proceedings

an informa-

upon

ARPA/Rome Scheduling

executes

COBASE which selects

Knowledge-Based February

Planning 1994.

knowledge-based of different information access. is sent by to sources Each

using which the which in in

knowlof sevand ex-

information of the objects

sources resulting from

to access, knowledge

partitions server tuples

query this

[3] External
Sharing http: cember

Interfaces Initiative.

Working Specification

Group Working

ARPA paper.

Knowledge agentas Deps, Available

optimizes periment the query

queries

of the

KQML

a LIM

answers

communication //uuu. 1992.

language.

creating

a relational

cs .umbc. edu/kqml/papers/kqml-spec.

462

[4] Marie
imone. planning.

Bienkowski, SO CAP: In

Marie system Planning 1994.

desJardins, for

and

Roberto crisis Lab

Desaction 1994

[17]

Mike IEEE

Genesereth. Conference IEEE

Designworld. on Robotics CS Press. An agent-based

In and

Proceedings Automation,

of the pages

operations and Scheduling

Proceedings

of the ARPA/Rome

2,7852,788. [18] Mike Group, [19] Matt KIF

Knowledge-Based Workshop, February

Initiative

Genesereth. CSD, Ginsberg. of death. Labrou AI

approach February

to software Logic 1993. format: The

interoperability.

Technical Stanford

Report

Logic-91-6,

[5] Mark
Lab Inc., Initiative

Burstein, 199.4

editor.

Proceedings Planning Morgan

o,f the ARPA/Rome and Scheduling Publishers, Kuafmann

University,

Know{edge-Based Workshop. 1994. Hua Yang. for

Knowledge Magazine, Tim In

interchange 1991. Finin. A

February and the

[6] Wes Chu


answering ings ary of 1994. Planning

Cobase: Lab

A cooperative systems. 199.4 In

query ProceedFebru-

[20] Yannis
for on ber

and agents. and

semantics

approach language Conference Novem-

system and

database Initiative

for KQML software

- a general

purpose Third Knowledge as http:

communication International Management, //www.

ARPA/Rome Scheduling

Knowledge-Based Workshop,

Information 1994.

Available

cs. umbc. edu/kqml/-

papers/kqml-semant E. and Engelmore, W. Mark. January R. Fikes, An T. Gruber, IEEE PACT: 1993. for knowledgein COL experiment

ics, The

pa. representation report, 1994. Bates. Also 21-23, T. and Gruber. pact. The LOOM Report in ProWorkshop ISX specificaCorpora-

[7] M.
M.

Cutkosky, Genesereth, pages et.

[21] Nancy
tion tion,

Lehrer. language Thousand

knowledge Technical California,

in integrating Computer,

concurrent

engineering

systems.

manual. Oaks,

28-38,
al. Shade: In 1993. al.

[8] D.

Kuokka

Technology Workshop

[22] Robert
knowledge

MacGregor

and USC/ISI,

Raymond language. 1987. April and shade

based

collaborative. Design, et.

AAAI

on AI

representation of the Louiej

Technical appears 1987. Systems

laborative

ISI/RS-87-188, ceedings held in St.

Knowledge-Based Missouri, J. Weber,

[9] J. McGuire
based Engineering: September

Shade:

Technology Journal Research and

for

knowledge1(2),

collaborative 1993. Mark et. and Rich and In al,

engineering.

of Concurrent
(CERA),

[23] M. Tenenbaum,
integration: editor, 1993. Enterprise

Enterprise In C. Pet rie, MIT Press,

Applications

Lessons

from

Integration

Modeling.

[10] William
design Applications [11] Tim level for [12] Tim telligent tional & http: [13] Tim

Cosmos:

A system of Concurrent 2(3),

for

supporting Engineering: 1994. A highagent

negotiation.

Journal Research Fritzson, protocol Workshop

[24] R.
T. for

Neches, Senator, knowledge

R. and

Fikes, W. sharing.

T. AI

Finin,

T.

Gruber,

R.

Patil, Fall

(CERA), and Don

Swartout.

Enabling

technology

Finin, language Concurrent Finin,

McKay. intelligent

Magazine,

12(3):36-56,

to support April and

1991.

interoperability.

on Enabling 1992. Don In 1-4 1992.

Technologies

[25] Jeff
gent A

Y-C agent

Pan

and

Jay for

M.

Tenenbaum. and on

An

intelliIEEE 21(6), AI). ViewIn and

Engineering, Rich Fritzson, and on interoperability.

framework 1991. Don

enterprise Man Issue

integration. Cybernetics, Distributed Tim to 1992. D. The In Reasoning: on Finin. databases.

McKay. for Fourth Available ps. and Robin

Transactions December

on Systems, (Special McKay,

knowledge

query agent

manipulation Concurrent June

language

inNaCE as

[26]

Jon First

Pastor,

and

Symposium

Engineering,

concepts: Knowledge

Knowledge-baaed Conference Management, R. T. Fikes, Gruber, P. effort:

access October

CALS
//wnJ. Finin,

Conference,

International

Information

cs .umbc. edu/kqml/papers/cecals. Don KQML: protocol. and Sharing December in and McKay, an In Rich Fritzson, and

[27] R.
T. ples ber

Patil, Finin,

Patel-Schneider, R. Neches. report. and //wuu. Progress

McKay, DARPA PrinciProNovem-

McEntire. exchange Building edge per (Ed.), ing, http: [14] Tim will Bases,

information

knowledge

and

International Conference on of Very Large-Scale Knowl1993. A Fuchi and Press, version and 1994. of Toshio Available .ps. Yesha, editors. this paYokoi Sharas

knowledge ceedings

sharing of the pe. R. T. and Fikes, Third

of Knowledge

Representation International as http:

Conference,

appear Knowledge Ohmsha

Kazuhiro Building 10S

1992.

Available

c.. umbc. edu/kqml/-

Knowledge

papers/kr92.

//uuv. Finin,

cs. umbc. edu/kqml/papers/kbks Charles and Nicholas, Knowledge and Lecture 1993. Yelena Notes (ISBN

[28] R.
T.

Patil, Finin, Rich,

P. effort:

Patel-Schneider, R. Neches. report. editors, Reasoning: (KR Kaufmann. and Stefano Progress and

D. The

McKay, DARPA of of the Mateo,

Gruber, W.

and Swartout,

knowledge C. Third CA, Knowledge

sharing

In B. Nebel, Principles Proc. San

Information the Definition Science 752.

Management,

Expanding in Computer 3-540-57419-

of Database. Springer-Verlag,

Representation 1992. Peter


November

0).
[15] M. Genesereth format, Computer and R. Fikes et. al. Knowledge manual. Stanford interTechnicaJ Unichange report, version 3.0 reference Department,

International November Wiederhold,

Conference Morgan Wegner,


1992.

92),

[29] Gio
ward

Ceri.

To-

megaprogramming.

Communications

of the A CM,

Science

33(11):8999,

versit y, 1992.

[30]
[16] Michael ware 147, R. Genesereth and Steven P. Katchpel. Softagents. 1994. Communications of the ACM, 37(7):4853,

David

Wilkins.

Practical San Mateo,

Planning: Morgan 1988. CA.,

Extending Kaufmann

the

ClasPub-

sical lishers,

AI

Planning Inc.,

Paradigm.

463

You might also like