An Agent Framework for Distributed Information Management
Lu Moreau, Nik Gibbins, David DeRoure, Samhaa El-Beltagy,
Wendy Hall, Gareth Hughes, Dan Joye, Sanghee Kim,
Danius Mihaelides, Dave Millard, Sigi Reih, Robert Tansley, Mark Weal
Multimedia Researh Group
University of Southampton
L.Moreau, nmg97res.soton.a.uk
Abstrat
In this paperwe present sofar, a versatile multi-agent framework designed for
DistributedInformationManagementtasks. sofarembraesthenotionof
proativ-ityastheopportunistireuseoftheserviesprovidedbyotheragents, andprovides
themeanstoenableagentstoloatesuitableservieproviders. Theontributionof
sofaristoombinesomeideasfromthedistributedomputingommunitywiththe
performative-basedommuniations usedin other agent systems: ommuniations
in sofar are based on the startpoint/endpoint paradigm, whih is the foundation
of Nexus, the ommuniation layer at the heart of the Computational Grid. We
explain the rationale behind our design deisions, and desribe the predened set
ofagentswhihmake uptheoreofthesystem. Two distributedinformation
man-agement appliations have been written,a generalquery arhitetureand an open
hypermediaappliation,andwe reount theirdesign andoperations.
1 Introdution
ThevolumeofinformationavailablefromtheWorldWideWebandorporateinformation
systemshas inreaseddramatiallyoverthelastfewyears. Itisnowreognisedthatusers
requireassistanetoavoidbeingoverwhelmedbythis wealthofinformation[10℄; itisalso
essential that informationsuppliers are provided with toolsthat help them in authoring
and maintainingit [4,10℄.
Distributed Information Management (dim) is the term used to desribe the set of
ativities that allow users to manage the entire life-yleof informationin a distributed
environment [8℄. The ativities, also referred to as dim tasks, involve, amongst others,
doument reationand publiation, informationspae navigation, informationdisovery,
integrity maintenane.
The large volume of highly dynami information involved in dim tasks is an ideal
subjet foragent-styleproessing. This has been exemplied inseveral researhprojets,
suhasPattieMaes'agentsthatredueusers'overload[31℄orthenumerousagentsapplied
of distributed informationmanagement. This ativity began with the Miroosm system
[20℄,whihpioneeredtheideaofbuildingahypertextsystemoutofasetofloosely-oupled
ommuniatingproesses. Itwasanexampleofanopenhypermediasystem,inwhihlinks
are regarded as rst-lass itizens. By managingand storing links in spei databases,
alled linkbases, this approah allows users to ustomise their information environment
by seleting the appropriate linkbases. Distribution and proess oordination were then
investigated [22℄, and the open hypermedia philosophy was brought to the www by the
Distributed Link Servie [4℄. The same priniples were also applied to other types of
media, in partiular to images [29℄ and sound [2℄. In a projet alled Memoir [11℄, the
notionofnavigationtrailswasusedtoreommenddoumentsthathavebeenexaminedby
user's sharingsimilarinterests. These ideaswere alsoappliedtobookmarks,annotations
and doument ratings shared by users [14℄. Querying multimediainformation has been
animportantfousinour investigationof distributedinformationmanagement. Wehave
alsoonentrated onoptimisingthe atual at of query, as opposed to itsontent: query
routing[12℄ has been used tooptimisequeries of distributedinformationsystems. Other
dim tasks have been investigated, suh as link integrity maintenane [36℄ and authoring
[4℄. The benet of mobilityto solve distributed information management tasks was also
studied [7℄.
We learned two important lessons from our pratial experiene with designing and
building prototypes over the last deade. First, it beame lear that properties of weak
agenyidentiedbyWooldridgeandJennings[50℄, namelyautonomy,soialability,
rea-tivityandpro-ativity,arealsodesirablefordistributedinformationmanagementsystems.
Seond, weame to the onlusion that distributed informationmanagement may be
re-garded as the result of oordinating a multitude of simple dim tasks. It is our belief
that the funtionalityof the system an emerge from individualagentsopportunistially
exploiting servies oered by other agents. Therefore, we have been working towards
building a multi-agent system, where numerous agents an interat totest our
hypothe-sis. Sine individualagents would not neessarily require \intelligene" toperform their
distributed informationmanagement task,weregard them as\dim" dim agents.
In the domain of distributed information management, the ubiquitous denitions of
weak ageny dened in [50℄ are appliable, but require some qualiation. We have
adopted the following terminologyfor our dim agent framework:
1. autonomy: the ability of an agent to eet elements of its behavioural repertoire
withoutinterventionordiretontrolfromators externaltothe agent system(e.g.
the user).
2. soial ability: the apaity to ommuniatewith other agents in the system { it is
an existene riterion for our framework; an agent that does not ommuniate, by
denition, is not apartiipant agent.
3. pro-ativity: as part of their autonomy, agents must at least possess opportunism
as akey goal-diretedbehaviour; that is,they must atively searhfor and use the
abilitiesof other agents toomplete their tasks[27℄.
ality through ooperation {emergent behaviour, inshort. Webelievethat the simpliity
of eah of the dimagentswillenablethe prinipled engineering of globalbehaviourmore
easilythan if eahagent isgiftedwith sophistiated funtionalityand behaviours |this
is beausethe loalinterations are simpler, enablingabstration [28℄. By making use of
otheragentswheneverpossible, thewholeisgreaterthatthe sumof theparts, sothe real
powerof the system isrealised asa result of the olletivebehaviour of the agents.
Overthelasttwoyears,partofourativityhasonentratedondesigningandbuilding
a framework for oordinating the ativity of our dim agents. The purpose of this paper
is to desribe the sofar framework (SOuthampton Framework for Agent Researh), its
properties,itsdesignandimplementation,andtopresentourrstagentappliationsbuilt
using the framework.
Thekeyontributionofsofaristoapplysomesuessfulideasofthedistributed
om-putingommunityto multi-agentsystems. We adoptthe same ommuniationparadigm
asNexus [19℄, whih isthe ommuniation layerthat isused tobuild the Computational
Grid [18℄. This approah has been shown to be generi and salable. From the agent
perspetive, the at of ommuniation beomes independent of the mehanismsfor
om-muniating, whihis a viewthat naturally extends tospeeh-at based ommuniations.
This paper is organised as follows. In Setion 2, we disuss the requirements of the
framework. In Setion 3, the framework itself is desribed, inluding its ommuniation
mehanism, the notion of ontology, and the arhiteture it provides. We then revisit
the requirements and show how the framework meets them (Setion 4). In Setion 5,
we desribea generalquerying arhiteture and anopen-hypermediaappliationthat we
haveimplementedwiththis framework. Finally,wedisuss related(Setion 6)and future
work (Setion 7).
2 Framework for DIM Agent: Requirements
Our initialmotivation is to build an advaned distributed informationmanagement
sys-tem. Eventhoughweanidentifyavastnumberoftasksthatsuhasystemmustperform,
we are urrently unable to dene suh a system preisely, nor are we able to explain its
behaviour interms of sub-omponents. Instead, we have adopted a bottom-up approah
to building suh a system. As we are able to engineer systems that perform the simple
tasks that we have identied, we wish to oordinatetheir ativity in order toprovide an
emergent behaviour. We believe that advaned behaviours an emerge from individual
agents opportunistially exploiting servies oered by other agents; it is therefore the
goal oftheframeworktofailitatethe reexploitationofthese servies. In this Setion,we
presentalistofrequirementsthat wehaveidentiedforthe frameworkinorder tosatisfy
that goal:
1. dimtasksneedtobeoordinatedinadistributedenvironment. Thenumberoftasks
is not known a priori, and may evolve over time. The framework must be reative
sine itmust aommodate new tasksas they are reated in the environment.
2. The framework must promote the opportunisti reuse of agent servies by other
framework. The framework must be light-weight and salable. By light-weight,we
mean that it must be possible to implement eÆient ommuniation mehanisms,
andthatthe administrativeoverheadoftheframeworkshouldnothamperthe
over-allperformane of the system. It isa requirement of the frameworkto be salable:
we want to avoid entralised omponents whih would reate bottleneks during
exeution.
4. The ommuniation primitivesprovided by the framework must be independent of
the atual means of ommuniation. There are many ommuniation tehniques
that would be suitable,suh asxml messages oversokets, orobjet-style
ommu-niationsbasedonorba,domorrmi. However,oneanon-the-wireprotoolhas
been hosen, itbeomesvery diÆulttoadopt anotherommuniation mehanism.
Therefore, the framework is requiredto providean abstrat way of ommuniating
between agents, whih may be mapped ontodierent on-the-wireprotools.
Inourframework,itisnotarequirementtobediretlyompliantwithstandardagent
ommuniationlanguagessuh askqml[15℄ orfipa [16℄. However, webelievethatthese
standards are the result of a long experiene of building agent systems, and we adopt
some of their essential ideas, namely delarative ommuniations based on speeh at
theory whih give the ontext of the ommuniation, and the organisation of knowledge
into disreteontologies.
3 The SoFAR Agent Framework: Desription
In this Setion, we desribe sofar, the Southampton Framework for Agent Researh.
Mostofthe requirementsofSetion2areinfatstandard distributedomputing
require-ments, and therefore we looked at that ommunity to nd a solution to be used in the
ontext of multi-agent systems. We present suh a solution below, and we extend and
adapt it to support properagent ommuniations, aspresribed by kqml or fipa agent
ommuniationmehanisms, amongstothers.
3.1 A Distributed Computing View
Thedistributedprogrammingommunityhasinvestigatednumerousommuniation
para-digms fordistributed environments, suhas message-passing libraries(e.g. mpi orpvm),
ommuniation hannels (e.g. sp or -alulus), remote proedure all (rp) and its
objet-oriented variant,remote method invoation [45, 46℄.
Nexus [19, 35℄ is a distributed programming paradigm, available as a library, that
provides the essene of a distributed objet system and has inspired the model of
om-muniation usedinsofar. Nexusisthe ommuniationlayerused intheGlobusprojets
(www.globus.org),thebasis oftheComputationalGrid[18℄. Nexushasbeenshown tobe
a generi mode of ommuniation, whih is eÆient and salable. It provides
program-mers with twokey ideas: startpoint/endpoint pairs toreferto remoteobjets and remote
servie requests to start omputationson remoteobjets.
is merged as in typial point-to-point message passing systems. Both startpoints and
endpoints an bereated dynamially;the startpoint has the additionalproperty that it
an be moved between proessors using the ommuniation operations we nowdesribe.
A ommuniation link supports a single ommuniation operation: an asynhronous
remote servie request (rsr). An rsrisappliedtoastartpointby providingaproedure
name and some data. The rsr transfers the data to the proess in whih the endpoint
is loated and remotely invokes the speied proedure, providing the endpoint and the
data as arguments. A loal address an be assoiated with an endpoint, in whih ase
any startpoint assoiated with the endpoint an be thought of as a \global pointer" to
that address.
Eahommuniationlinkdenes aunique ommuniation medium,with whiha
spe-iommuniationmethodanbeassoiated. Theremaybeseveralsupported protools:
theNexusommuniationlibraryismulti-protoolandrsrsmaybetransportedontopof
tp,udpandhttp[32℄. Inaddition,eahendpointisassoiatedwithatableofhandlers,
fromwhihonehandler,i.e. amethod inobjet-orientedjargon,isseleteduponreeption
of an inomingrsr. In Nexus, a remote servie request is a one-way ommuniation; if
results need tobereturned, a seondrsr has tobe used.
3.2 Communiations as Performatives
The Nexusprogrammingmodelprovidesthe essene of adistributedobjetsystem, with
means to refer to remote objets and to ativate omputations on them. Jennings and
Wooldridge [28℄ onviningly argue that agents are dierent to objets. We agree with
their viewand observe further dierenes asfar asommuniations are onerned.
If we return toa message-passing view of objet-oriented systems, the messages sent
and reeived by objets typially ombine the exhanged data with the intended ation
(aquery,orperhapsastatementofhange)tobeperformedwiththatdata inawaythat
makes the two inseparable. In addition, in objet-oriented systems, lasses have few or
norestritionsonthe methodstheymayimplementorall. Byomparison,the approah
taken bymanyagentsystemsistoseparateintentionfromontentinommuniativeats,
abstrating and lassifying the former aording to Searle's speeh at theory [43℄. An
agent'sommuniationsaretherebystruturedand onstrainedaordingtoapredened
set of performatives, whih together make up an agent ommuniation language(al).
Thenumberofdierentperformativesvariesbetweendierentals. Themostsimple,
suhasShoham'sAgent-0[44℄, haveless thanhalfadozen,while themoreomplex, suh
as kqml or fipa have more than twenty. We believe that a frugal but areful hoie
of performatives would allow our agents to interat in as omplex ways as if they were
using a more omplex agent ommuniation language. In partiular, fipa and kqml
ontainspeialisedperformativesfortaskssuhasforwardingmessagesorissuingallsfor
proposalswhihweseeasfuntionsofthe ommuniation layer, orastermstobedened
in an appliation ontology. At the other extreme, Agent-0 relies on the omposition of
basiatstoperformmoreomplexmessages, whihfipaandkqmlonsiderasprimitive.
Our minimal set of performatives and their intuitive desriptions are given in Figure 1,
andare anattempttostrikeaompromisebetween theseextremes,beinghosen inorder
query ref What fatsdoes the reipient know whih math the query?
inform The sendertellsthe reipientthat the ontent is true
uninform The sendertellsthe reipientthat the ontent is false
subsribe The senderasks tobeinformed of hanges tofats whihmaththe query
unsubsribe The senderanels asubsription
request The senderasks the reipient toperform anation
register The senderadvertises their apabilities with a broker
unregister The senderwithdraws anadvertisement
Figure 1: Supported Performatives
Although there are importantdierenes between agents and objets, there are some
fundamental similarities, namely that both are ommuniative entities. If the
predom-inant objet-oriented paradigm has shifted from message-passing to method invoation,
wean similarlyadoptaNexus-likeapproahtointer-agentommuniations. Inthis, the
performatives in Figure 1 beome the names of the proedures invoked by an rsr. In
addition, methods may return values to their aller; simple query performativessuh as
query if or query refreturn values diretly, rather than through an extended message
exhange involvingan inform messagesent bak tothe querent.
We have dened three query performativesin our al, eah with dierent semantis
and expeted responses: query ref isan exhaustive searhof anagent'sknowledge base
whihreturnsallterms whihsatisfythe query;query if veriesthatastatementholds;
subsribeisatemporalqueryinwhihthe querentrequests thatthereeiverenters into
aontrattoinformthequerent eahtimeastatementsatisfyingthe queryhangesvalue
(e.g. is asserted or retrated).
3.3 An Agent View of Communiations
The separation of intention from ontent is not the only dierene we observe between
objet- and agent-based systems. Jennings and Wooldridge [28℄ also note that while
objets ontrol their state, they do not ontrol their behaviour. A method invoation is
anirresistiblerequestwhihtheobjetmustperform. Agentsdonothavethisompulsion,
and are able to disriminate between messages based on their beliefs and the ontext of
the message
This ommuniation ontext inludesinformationabout the at of ommuniation
it-self suh as the sender, reeiver, sent time, message identier and onversation thread.
An agent may use this to rejet a message, to disriminate between senders, or to
deter-mine whih thread ofonversationa messagebelongs to. This informationis usually not
availablein objet systems, but should denitelybemade availablein anagentsystem.
Objetsystemshaveevolved fromexpliitmessage-passingtomethodorfuntionalls
that ativate omputations, potentially remotely. Doing so, messages are no longer
re-gardedasrst-lassentities. However, inagentsystems,amessageexpressestheintention
of an agent within a speied ontext; it is useful to onsider messages as rst-lass, so
A ommuniation is based on a ommuniation link dened by a startpoint and an
endpoint. An endpoint identies an agent's ability to reeive messages using a spei
ommuniationprotool, and extrats messages fromthe ommuniation linkand passes
them onto the agent. An agent's endpoint is loated wherethat agent resides.
A startpoint is the other end of the ommuniation link, from whih messages get
sent to an endpoint. There may be several startpoints for a given agent, eah ating as
a representative of the agent atremote loations. A startpointan be seen as a\proxy"
for anagent.
As faras implementationisonerned,agentsare regarded as objets that implement
a predened set of methods, orresponding to the performatives displayed in Figure 1.
Communiation between agents is performed by method invoation. Suh a method is
invoked on a startpoint, whih takes are of pakaging the method all up as a message
and transmitting itto the endpoint.
Startpoints and endpoints have a ruial role: startpoints dene the dierent
om-ponents of the ommuniation ontext, suh as time or sender; endpoints onstrut the
ommuniation ontext and make it available to the agent. An agent is dened as an
objet that implements a method for eah performative. Suh methods are binary: the
rstargumentisthetermthatisthesubjetofthemessage,whereastheseondargument
is the whole messageitself, with itsomplete ommuniation ontext.
Performativessuhasqueriesareintendedtoreturnaresult. Theresultistransmitted
baktothesenderagentusingtheommuniationlinkthatarriedthequery,andreturned
as aresult of the methodinvoation on the startpoint.
Usually,astartpointisattahed toasingle endpoint, and ommuniation is
point-to-point. Ifastartpointisattahedtoseveralendpoints,amultiastmodeofommuniation
beomes possible. Note that performatives that are used in multiast mode are not
supposed to return a result. Suh a mode of ommuniation is partiularly useful for
the performative inform in order to propagate information to several agents using a
single ommuniation at. (The implementation may use proper multiast, or simulate
multiast.)
3.4 Ontologies
The messages exhanged by agents are used to ommuniate information about their
environment or some problem domain, and so the ontent of the messages must be a
representation of their world. It is unreasonable toexpet that all problemdomains an
be onsistently represented by a singlemodel, and so the design of speialised ontologies
that form omputationalmodels of partiular domainsis nowommonplae [24℄.
Like \agent", the word \ontology" has of late beome popular with the omputing
ommunity, and its meaning has beome more vague as its use has inreased. We take
our usage of the term \ontology" from the work of Guarino and Giaretta [24, 25℄, as
a voabulary used for desribing an intensional semanti struture. This struture, or
oneptualisation, aptures the semanti relations of all possible worlds of a problem
domain,ratherthanofapartiularstateofaairs(asistheasewithGruber'sextensional
denition of a oneptualisationin [23℄).
tomean that all the terms inthe expression are of that ontology.
We believe that this is overly restritive, and prevents the easy reuse of objets and
onepts between ontologies. The problem domains modelled by ontologies need not be
disjoint,andommononepts, suhasapersonoradoument,mayappearinmorethan
one domain. Disallowingmixed-ontologyexpressions meansthat eah ontologymust
im-plementsuhommonterms anew,orthatthere must beinheritanebetween ontologies,
whihintrodues a freshset of omplexities.
Thebibliographimetadatadomain,oneofthemoreommondimdomains,oftenuses
mixed-ontology expressions. A bibliographi reord representing a book may have elds
whih are written in dierent shemas (ontologies); the subjet desription for one book
mightuse theLibrary of Congresssubjetlassiation,whilethat foranothermightuse
Dewey Deimal. These reords do not have a single ontology, but have an ontology for
eahomponent part.
We want mixed ontologies for the reusability of term denitions, but this an be
problemati, beause in the absene of any other onstraints, a term from one ontology
may ontain aterm fromany otherontology. We needtorestritthe terms whih anbe
ontained ina given term inorder to maintain onsisteny and promotestruture in the
domainmodel. Therefore, our ontologies,based onaprediate logi, are implemented as
Javalassesstandingforprediates,termsoratoms. ThetypingofJavainstanevariables
helps maintain the onsisteny of domain ontologies by onstraining the relations in the
oneptualisation of the ontology. In addition, we have implemented uniation-based
pattern mathing and simple onstraint satisfation on the ontology terms to failitate
the proessing of queries.
3.5 Arhiteture
sofar iswrittenin Java, and allitsagentsare dened asa sublass of the abstrat lass
\NullAgent". NullAgent provides ommuniation initialisation,agent identiation, and
some utility funtions for registering and nding agents. The agent framework ontains
a vital agent, namely the registry, used for brokering. dim tasks may benet fromother
predenedagents,suhasthe multimediadatabase,the wwwbrowser, theinputandthe
output agents, whih we present below.
Registry Every agent knows of one registry agent whih it an use to advertise its
servies, or to nd out about the servies oered by other agents. These servies are
represented by a apability term whih assoiates anagent with a (possibly non-ground)
prediateonwhihthatagentananswerqueries. Theregistryatsasabroker,mathing
agentsservie needs to other agents whih an provide those servies.
Multimedia Database agent The multimedia database agent provides an interfae
to a database of metadata about a olletion of media in an arhive aessible via the
www. The metadata storedisbased onthe DublinCore elementset [9℄, ontaining suh
elds as title, reator, subjet, and format. The data is stored in a number of tables in
desktop, and the browser ativity reets, in part, the user's ativity. Therefore, the
www browser agent exports browser ativity information to the rest of the framework,
by informing the agents who have subsribed to its servie. Currently, the information
is about visited urls; tighter integration with the browser will allowus to provide more
information,suh asbookmarks or printed douments.
Input/Output Agents Some agents operating within the framework require inputs
whih need to be obtained from users, or produe outputs whih are intended to be
displayed as results. Rather than put the responsibility for interating with the user on
every agentintheframeworkthatrequires it,wehaveabstratedthe interfae away from
the underlying proessing.
Input Agent: This agent requests information from the user via dialogue boxes. A
numberofinputagentsanexistwithintheframework,takingresponsibilityforobtaining
dierenttypesof informationfromthe user. Thesemight rangefromasimple textinput
dialogue, to a more ompliated image browser that allows users to selet images from
a olletion. Other aquisition mehanismsare alsoonsidered, suh as speeh or tatile
interfaes.
Output Agent: This agent provides a faility for displaying objets, inluding urls,
hypertext, images,videoorsimplytext. Suh aomponent isbeing extended by auser's
prole, maintaining howthe user prefers data tobe displayed (orprinted, orsaid), what
kindof format isrequired, et.
In addition to the arhitetural omponents, several ontologies used in ommon dim
domains have also been dened in the framework with a view to providing a useful and
exible base set for developers. These inlude the following: (i) white pages diretory
information (ii)bibliographimetadata,supportingommonlyusedshemassuhasthe
Dublin Core (iii) open hypermedia linking (iv) information on omputer systems and
their usage (v) representation of multimediaobjetsand proessing (vi) www-related
information,inludinguser browsing reords.
3.6 Contratual Registration and Subsription
Registration isthe ation by whih anagentdelares its abilityto handlesome messages
(typiallyrelatedtoaspeitopi)totheregistryagent. Iftheregistryanswerspositively
toaregistration at, itommitsitselftoadvertisethe registered apability andto return
ittoagentswhihaskmathingqueries. Asaproofof itsommitment,theregistryissues
a ontrat as a result of the registration at. As long as the ontrat remains live, the
registry will retain the advertised apability. Conversely, if the agent that registered the
apability desiresto stopits advertising,it justhas toterminate the assoiated ontrat.
A similarmehanismexists forsubsriptions. If anagent deidestoanswerpositively
to an at of subsription, it ommits itself to honour suh a subsription: whenever a
fat hanges it informs the interested subsribee. For eah subsription at, a
between agents. In order to failitate information sharing, the registry was designed to
help agentsto advertise and nd information. In anenvironment omposed of numerous
agents,there must be some means of avoiding being swamped by irrelevant information;
two dierent ways are provided by the framework. (i) The general algorithm for
mathing and onstraints satisfation allows agents to delare interests that are very
spei, and to be informed of fats satisfying them. (ii) Contrats allow agents to
terminate a owof informationwhen suitable.
Thereareseveralwaysbywhihanagentanndinformation. Theydierbywhenthe
result isreturned, and by the agent's abilitytoontrolthe owof information. (i)
Ex-haustivesearhes (performativequery ref) and spei queries(performativequery if)
omplete their exeutionwith the requested information. (ii) An agent A an advertise
(performativeregister) itsdesire tobe informed about agiven topi. Any agent inthe
system may inform A on the topi. Agent A is given little ontrol of the ow of
infor-mation. It an ertainly stop advertising its interest, but there is norequirement for the
otheragentstostoppropagatinginformationtoA. (iii)Inordertogainmore ontrolof
the owof information,agent Aan subsribe (performativesubsribe) tothose agents
who are knowledgeable on the topi. In return, eah of these agents issues a ontrat,
whihmay be used to terminate the individualsubsriptions.
4 Requirements Revisited
In this Setion, we examine howthe designof the sofarframeworksatises the
require-mentswe enumerated in Setion2.
1. At the framework level, reativity of the system an be implemented by the
sub-sription mehanism, by whih agents ask to be informed about fats, when they
hange. From an arhitetural viewpoint, as agents advertise or retrat servies,
this information will be propagated between registries, and passed to agents that
havesubsribed tothis type ofinformation. Atthe appliationlevel,agentssuh as
the www browser agent, use the subsriptionmehanism toinformany agentthat
has delared itsinterest in auser's browsing ativity.
2. The registry andthe subsriptionmehanismsallowagentsto advertise their
apa-bilities, in order to be reused by other agents. Agents use the registry to
oppor-tunistiallytakeadvantage ofagentsrunninginthesystem. Contratsallowagents
toexerise ontrolon the ow of informationthat isdireted tothem.
3. Even though the ommuniation mehanism abstrats away from the
ommunia-tion details, the framework remains light-weight. The ost of this abstration is
two additionalmethodinvoations(one atthe startpointand oneatthe endpoint),
whih an be negleted ompared to the ost of ommuniation. Furthermore, by
adopting a predened set of performatives and typed ontologies, we redue
inter-pretation of messages, whihmakestheir proessing light-weight.
In order to make the framework salable, we have avoided entralised routing of
suh asquery routing[12℄ or hierarhial organisation [33℄ are being investigated.
4. Currently, our implementation relies on shared memory ommuniations and Java
rmi; weare planningtoinvestigatethebenet ofalower-levelommuniationlayer
suh a Nexus, using the NexusRMI ompiler [3℄. Generi pretty-printers allow us
to display terms of ontologies using kqml and fipa syntax; we do not foresee any
problemommuniating these terms onthe wire.
5 Appliations to Distributed Information Management
Our ultimate goal is to build an advaned distributed information management system
usingthesofarframeworkwehavepresented. AboutthirtyresearhersoftheMultimedia
ResearhGrouphavetakenpartintwo\threedaysessions",whihweallthe\agentfest",
with a goal todevelop agents in sofar. As a result, two appliations have been built to
test the framework. Bothappliations helpusers tond informationwhih satisestheir
needs.
An advaned dim system must be able to nd an answer to any question, no matter
how vague, by inferring its exat meaning from the user's ativity, his/her prole,
pre-viously asked questions, in other words, from the user's ontext. Our long term goal is
toget loser tosuh asystem; in the meantime,we have taken two dierent approahes.
The rst appliation is a general query interfae, whih uses inputs from the user and
some user model. The seond appliation uses the open hypermedia philosophy to nd
relevant links to a multimediadoument being viewed; these links an then be followed
by the user.
In both ases, the appliations demonstrate that our framework an oordinate the
ativitiesofmanyagents. Agentsareabletoopportunistiallyreuseinformationprovided
by other agents. The appliationsan be extended by adding new agents,whose servies
willbe reused.
We are aware that a number of general query frameworks suh as InfoSleuth [26℄
already exist. The purpose of the appliations we desribe here is to illustrate the
suit-ability of sofar as a framework to oordinate dim agents. In addition to the agents
below, wehave alsowritten more thantwenty agents forsuh tasks asaudio ontouring,
ontent-basedmultimediaretrievaland network routing.
5.1 A Query Arhiteture
Figure 2 shows the agents that interoperate in the general query system we have built
using sofar. The multimedia database agent, and the output and input agents were
presented inSetion 3.5; briefdesriptions of the other omponents are given below.
Query Mediator Agent The querymediatoragent oordinates the otheragents,
ar-rying out a single task, namely managing the information from the user's initial input
through to displaying the nal results.
Re-Output
Agent
Knowledge
Base Agent
NLQuery
Agent Resolver
Agent Query
Mediator Result
Analysis
Agent
Multimedia AIMS
Agent Agent
Database Database
Webosm
Agent
Userprolingomponent Agent
Memory
Rest ofthesofarframework
Figure2: The interfae agentswithin the sofar framework
The following two steps are arried out. First, a nl query is onverted into a logial
formula represented in our ontologies. Seond, the Query Resolver nds agents able to
answer queries based onthat formula; these agents are queried, and results are returned
tothe mediator.
The nl Query Resolver agent uses a knowledge base that an be updated
dynami-ally as new agents join the system. As agents register in the system, they an provide
the Query Resolver with natural language queries or requests that they are apable of
answering.
Results Analysis Agent Where anumberof underlyingqueries are performed,there
maybeaneed toamalgamatethe resultsinsomeway beforedisplayingthemtotheuser.
TheResultsAnalysisagentreeivesaset ofprediatesandattempts toonvert themtoa
moreuseful set ofresultsfor theuser. Theproessingmightinluderemovingdupliates,
ordering the results, or perhaps ltering based onriteria suh as user preferenes. The
modular nature of the framework allows dierent Result Analysis agents to be plugged
intothesystem. Weareurrentlyinvestigatinghowuser feedbak maybeusedtoupdate
user preferenes, eetively building auser model.
An Example Query
Toexaminemoreloselyhowtheagentsinterat,wetraeasimpleexamplequerythrough
The mediator then asks the system for any agents that an take a text query and
returnanswers toit. Oneof theseagentsisthe nlQuery Resolveragent, whihispassed
thequeryby themediator. Usinginformationinitsknowledgebase,itmathes theuser's
query \Find information about" to the prediate SQLQuery. It thus instantiates this
prediate with the text \sofar"whihit extrated fromthe query string.
In this example, the prediate requires aminimumof one text string,whih has been
supplied as the parameter. If the user had only typed `Find Information', the Query
Resolver agent would all on the input agent to get the neessary parameters from the
user to instantiate any missing variables inthe query.
ThenlQuery Resolutionagentnowrequestsagentsthatanarryoutthe SQLQuery
prediate. These agents appear in the bottom half of Figure 2 and are desribed below.
The mediatoralls theseagentsand reeives aset ofresult prediatesfromboth ofthem.
The mediator then nds an agent that performs result analysis, and sends it the set
of results to ombine and analyse; it reeives bak a proessed set of results, whih an
nallybe displayed by the output agent.
A number of stages in the proess an benet from user proling information. To
failitate this, amemory agent keeps a reord of queries and their orresponding results.
The mediator alls the memory with a logial formula to see if it holds results for that
formulain itsmemory. Ifit doesand a similarity between the new query and the ahed
queriesissatisfatory,thenitan returntheresults;thissimilarityisomputed bytaking
intoaount howimportantaterm isinaquery, and howwellthe termharaterisesthe
prediates. Ifit doesnot have any ahed result, the memory agent responds negatively;
then, the mediatoralls anagentto proess the query, alsoinforming the memory agent
of these results.
In fat, the memory agent ats as a model of the user, maintaining information
re-sulting fromprevious queries whih were returned to the user. As with alldynami user
models,issues onerningtheonsisteny and theintegrityof thestoredinformationover
time need tobeaddressed.
The input and output agents an also maintain a user's prole on how data should
be aquired or presented to the user. In onjuntion, with the result analysis, they help
seletingand presenting relevantinformationto the user.
As shown in Figure 2, one the query has been omposed, the nl Query Resolve
agent sends queries to agents that support them. Several agents may be queried. First,
the multimediadatabase agent (Setion 3.5) provides aess to a database of meta-data
about multimediadouments.
Seondistheaims(AademiInformationManagementSystem)agent,aninterfaeto
awww-baseddoumentmanagementsystemprovidingaesstoawiderangeofaademi
material. Douments are enhaned by a variety of open linking tehniques based on the
Distributed Link Servie [4℄. The aims agent provides full text searh on the material
held onthe serverand integrates legay systems intothe sofar framework.
Third, the WebCosm agent nds hypermedialinksthat are relevantto aninput text.
The agentmakesuse ofWebCosm, aommerialimplementationof theDistributedLink
Inopen hypermediaarhitetures,informationaboutthe linksbetweenmultimedia
dou-mentsisstored andmanagedseparatelyfromthedoumentsthemselves, whihremainin
their native formats [20℄. The linksare objets in their own right; the link data onsists
of a set of assoiated anhors (e.g. loations in douments) and some related
informa-tion. These linksare kept inso-alledlinkbases and the orresponding servers are named
linkservers. Adopting separate links has important advantages for authors and readers
alike,espeiallywhen working with a omplex,distributed informationsystem [4,20℄.
The Open Hypermedia Systems Working Group (ohswg) [49℄ was set up to
ab-strat the ommon features of various open hypermedia systems in order to ahieve
inter-operability. This eort resulted in (i) a ommon standardised data model for
navigating multimedia douments, (ii) a referene arhiteture for Open Hypermedia
Systems [41℄, and (iii) the Open Hypermedia Protool (ohp) for ommuniations in a
omponent-based open hypermediasystem.
The seondappliation we desribeinthis paperdemonstrateshow the sofar
frame-work an aommodate agents that exhange data based on the standardised linking
model dened by the ohswg. Basially two approahes an be distinguished: (i)
buildingnatively ompliantagentsfrom srath, (ii) wrapping existing agents, inwhih
we inlude the notion of transduers introdued in[21℄. For reasonsof proof of onept
we have implemented both approahes. To this end, we dene the ohp ontology, whih
omprehendsthe semantisoftheohpdatamodelandoperations,andwhihanbeused
by agents inthe framework.
The designphaseof theohp withinthe ohswgwasdoggedby issuesthatlaybeyond
the initial hypermedia onerns, suh as protool syntax, onnetion management and
naming, pattern-based query handling and the management of a large set of proesses.
Forthisreason,wehavefound theuseof thesofarframeworkforopen hypermediatobe
partiularlyattrative,asithasallowedustoonentrateonthemodellingofhypermedia
withoutbeingside-trakedbytheseotheromplexproblems. Indeed,ommuniationsand
naming are handled by sofar; message ontent must be part of some ontology and no
syntaxdesignisrequired,beausedataareserialisedbytheommuniationlayer. Finally,
the query language on ontologyterms wasmore expressive than required by ohp.
Figure 3 presents the shemati organisation of the appliation, entered around the
MediaAppletagent, whih works asfollows. On startup, itqueries the system for agents
supportingtheohpontology(appearinginthebottomhalfofthegure). Itthenpresents
a popup menu with an entry for eah of the agents it has found and lets the user selet
the agent to be queried by pressing a button. The results of the queries, presented as
links that an be followed, are then shown by the MediaAppletagent.
WhentheMediaAppletagentwishestoknowabout\doumentsrelatedtothisone",it
queriesohp-ompliantagentsforanyanhorsthatmaybefoundintheurrentdoument.
When the user selets a link to follow, the MediaApplet agent sends a seond query to
retrieve the link strutures whih were assoiated with that anhor and subsequently
retrievesthe destination anhors and hene the douments thatwere relatedby the link.
Whilewe envisaged that most ohp agents would bequeried diretly forthis
informa-tion it was also expeted that some agents might wish to generate their links only one
Multimedia
Agent Thesaurus Media
Agent Applet
Link
Agent Server
Wrapper
Agent
inform Agent
Media
Proessing
Rest ofthesofar framework
Figure3: The MediaApplet
assertions made about link strutures in the system and reords them, retrieving them
again when asked. For instane, in Figure 3 a media proessing agent informs the link
server about similaritiesbetween images.
Besides the use of native ohp agents, this appliation alsoshows how other existing
agentsanbeintegratedforpurposesof informationmanagement. We haveimplemented
awrapper thatmaps some agents speidata struture ontoaadynami linkstruture
that an be interpreted by the MediaAppletagent justlike standard linkstrutures.
As illustrated in Figure 3, the wrapper is used to onvert the semanti equivalene
as dened by the Multimedia Thesaurus agent [13℄ into linking information. In essene,
the multimedia thesaurus aptures semanti knowledge about the relationships between
media objets.
6 Disussion and Related Work
The exat nature and requirements of ageny are still ontentious subjets, with some
disagreement in the literature. We follow Jennings and Wooldridge [28℄ for our view of
ageny,regardingitasasoftware engineeringtoolformanagingthe omplexity ofsystem
development. Nwana and Ndumu[38℄ raise several points,namely that the standardised
alsontain too many performatives, some of whih are used onlyinfrequently,and that
the eets on ontologydesign of the interations between a problemdomain and a task
to be aomplished are underinvestigated. If, as they suggest, the short term solution
is to reate only limited domain ontologies, we believe that our use of mixed ontology
expressionsisausefulapproahtobridgingthegapbetweenlimitedontologiesandbroader
general-purpose ontologies.
sofar is not the only Java-based agent framework; there exist a number of others,
the most notable of whih are Zeus [39℄, JAFMAS[5℄, JATlite [40℄, fipa-os [17℄,Ajanta
a-`traditional AI' approah to ageny. JATlite also provides kqml-based messaging, but
is exible: it is designed to support other als as neessary and does not plae any
restritions on the internals of the agents. fipa-os [17℄ is a fipa-ompliant platform,
whih neessarily relies on a orba-based ommuniation substrate; our approah an
use orba aswell asother tehnologies. Ajantauses amethodinvoationapproah not
unlike ours, but does not onstrain the methodsused to performatives. JACK is a
Java-basedBDI framework whih providesfailitiesforformulatingplans andreasoning about
goals, but does not onsider the pragmatisof ommuniation ordistribution issues.
In itsparsimoniousapproahtoitsaland thesimpliityofitsagents,sofarismost
like Agent-0 [44℄ and the systems derived from it, suh as AgentBuilder [42℄ or Beky
Thomas's PLACA [47℄, although sofar does not provide support for planning abilities
ata framework/language level asthis latter system does. AgentBuilder isnoteworthy as
a ommerial framework based on Shoham's notion of agent-oriented programming [44℄,
but using kqml asits alrather than the muh simpler Agent-0.
7 Conlusion
We have designed and implemented an agent ommuniation mehanism that is derived
from distributed omputing tehniques, but taking on board the reality of ageny. Our
approah isgeneral and abstrats away from the ommuniationdetails, supporting
sev-eral on-the-wire protools; it is light-weight and a proven route to salability. In order
topromoteopportunistireuse ofagentservies by otheragents,our framework provides
mehanisms to advertise information, query agents and automatially manage
subsrip-tions. A set of ontologies has been dened in order to support distributed information
management tasks.
The sofar framework has been the fous of a tremendous ativity involving up to
thirty researhers in the Multimedia Researh Group at Southampton (f. Setion 8).
Training sessions were organised about agents, ontologies, and the atual framework
implementation in Java. On two oasions, a group ativity, alled \agentfest", took
plae: during a three day session, those researhers developed agents, of whih some
were presented in this paper. As a result, sofar has now been adopted by several
re-searhers for their everyday researh, and eventually we envisage the framework being
used for teahing. We welome other researhers to try sofar, whih is available from
www.sofar.es.soton.a.uk .
While numerous ongoingprojets investigate the ativity of distributed management
usingthis framework,weonentrate hereonfuture workrelatedtothe frameworkitself.
First,mobilityand ontologiesfor relatedonepts are tobemade partof the framework.
Ourapproahisbasedonanalgorithmthattransparentlyroutesmessagesbetweenmobile
agents[34℄. Theommuniationmodelbasedonstartpointsandendpointswillremainthe
same, but endpointswillbeallowed tomigrate withtheir assoiatedagents. In addition,
amodelofdistributedresoures[37℄willbeintegratedwithsofarsothat(mobile)agents
are given the opportunity toreason about the resoures they onsume.
New modes of ommuniation are to be investigated. Multiasting will allow us to
propagate streams of inform messages in a salable way. Agents will also be allowed
suh asenryption and authentiationwillbeintegrated inthe ommuniation model.
One allthe modes ofommuniation werequire beomeimplemented, emphasis will
be put on tools that failitate the development of agent appliations insofar. In a rst
instane, an \ontology ompiler" will onvert an abstrat speiation of an ontology
into onrete Java lass denitions. Higher-level protools that foster the ooperation,
oordination and negotiation of agents are needed in sofar; tools have to be dened
to failitate the denition of suh protools in the framework. We will also investigate
the possibility of reusing tools developed in other frameworks, suh as Zeus [39℄, for the
graphialdevelopment of agents.
8 Aknowledgements
Thanks to Colin Bird, Steven Blakburn, Les Carr, Steven Chan, Mark Dobie, David
Dupplaw, Pierre Geurts, Jon GriÆths, Stephen Harris, Ian Heath, Jessie Hey, Simon
Kampa, Shakeel Khoja, Nik Lamb, Paul Lewis, Rui Marinheiro, Kirk Martinez, Kevin
Page, Stephen Perry,GuillermoPower, Jonathan Read,AlistairRiddoh,NeilRidgeway,
MarkThompson,MarkTollerandGaryWills,whotookpartinthersttwo\agentfests".
Thanks to Nik Jennings for his omments on the paper. We aknowledge the EPSRC
for supporting the postgraduate students and researh assistants who have ontributed
tosofar.
Referenes
[1℄ Agent OrientedSoftwarePty.Ltd. JACK Intelligent Agents User Guide, 1999.
[2℄ StevenG. BlakburnandDavidC.DeRoure. Atoolforontent basednavigationofmusi.
In Proeedings of ACM Multimedia '98, pages 361{368, September1998. ISBN:
1-58113-036-8.
[3℄ Fabian Breg and Dennis Gannon. Compiler support for an RMI implementation using
NexusJava. Tehnial report, IndianaUniversity,1997.
[4℄ Les A. Carr, David C. DeRoure, Wendy Hall, and Gary J. Hill. The distributed link
servie: A tool for publishers, authors and readers. In Fourth International World Wide
Web Conferene: The Web Revolution, (Boston, Massahusetts, USA)., pages 647{656.
O'Reilly&Assoiates, Deember1995. AppearsinWorldWideWebJournalissue1,ISBN
1-56592-169-0, ISSN1085-2301.
[5℄ DeepikaChauhan. JAFMAS: A Java-based Agent Framework for Multiagent Systems
De-velopment andImplementation. PhDthesis,ECECSDepartment,UniversityofCininnati,
1997.
[6℄ L. Chen and K. Syara. WebMate: a Personal Agent for Browsing and Searhing. In
ProeedingsoftheSeondInternationalConfereneon AutonomousAgents,pages132{139,
1998.
[7℄ Jonathan Dale. A Mobile Agent Arhiteture for Distributed Information Management.
for Managing DistributedInformation Resoures. Tehnial Report M97/1, Universityof
Southampton, February1997.
[9℄ DCMI.DublinCoremetadataelementsetreferenedesription.Proposedreommendation,
Dublin CoreMetadata Initiative,July1999.
[10℄ David DeRoure, Wendy Hall, Hugh Davis, and Jonathan Dale. Agents for distributed
multimedia information management. In Pratial Appliation of Intelligent Agents and
Multi-AgentSystems, pages 91{102, London,UK, April1996.
[11℄ DavidDeRoure,WendyHall,SigiReih,A.Pikrakis,GaryHill,andM.Stairmand.Anopen
frameworkforollaborativedistributedinformationmanagement. InSeventhInternational
World Wide Web Conferene (WWW7), Brisbane, Australia, volume 30, pages 624{625.
Elsevier,April 1998. PublishedinComputerNetworksand ISDN Systems.
[12℄ David C. DeRoure, Samhaa El-Beltagy, Niholas M. Gibbins, Les A. Carr, and Wendy
Hall. Integrating link resolution servies using query routing. In 5th Workshop on Open
Hypermedia Systems (OHS5),Darmstadt,Germany,February 1999.
[13℄ M. Dobie, R. Tansley, D. Joye, M. Weal, P.Lewis, and W. Hall. A exiblearhiteture
for ontent and onept based multimediainformation exploration. In Proeedings of the
Challenge of Image Retrieval (CIR'99), February 1999.
[14℄ Samhaa El-Beltagy, David C. DeRoure, and Wendy Hall. A multiagent system for
nav-igation assistane and information nding. In THe Fourth International Conferene on
the Pratial Appliation ofIntelligentAgents and Multi-AgentTehnology,pages281{295,
April1999.
[15℄ T. Finin,Y. Labrou,and J.Mayeld. Software Agents, J. Bradshaw, Ed.,hapter KQML
asan Agent CommuniationLanguage. MITPress, 1997.
[16℄ FIPA: Foundationfor IntelligentPhysialAgents. http://drogo.selt.stet.it/fipa/.
[17℄ FIPA-OS. http://www.nortelnetworks.om/produts/announements/fipa,1999.
[18℄ IanFosterand CarlKesselman,editors. TheGrid: Blueprintfor a NewComputing
Infras-truture. Morgan KaufmanPublishers,1998.
[19℄ Ian Foster, CarlKesselman, and Steven Tueke. The NexusApproah to Integrating
Mul-tithreadingandCommuniation. Journal of Parallel andDistributed Computing,37:70{82,
1996.
[20℄ Andrew M. Fountain, Wendy Hall, Ian Heath, and Hugh C. Davis. MICROCOSM: An
OpenModelforHypermediaWithDynamiLinking. InA.Rizk,N.Streitz,and J.Andre,
editors, Hypertext: Conepts, Systems and Appliations (Proeedings of ECHT'90), pages
298{311. CambridgeUniversity Press,1990.
[21℄ Mihael R.Genesereth and Steven P. Kethpel. Software agents. Communiations of the
ACM,37:48{53, July1994.
[22℄ StuartGoose, JonathanDale,GaryJ.Hill,DavidC. DeRoure,and WendyHall. An Open
Framework for Integrating Widely Distributed Hypermedia Resoures. In Third IEEE
sharing.TehnialReportKSL-93-04,KnowledgeSystemsLaboratory,StanfordUniversity,
August 1993.
[24℄ Niola Guarino. Formal ontology and informationsystems. In Formal Ontology in
Infor-mation Systems: Proeedings of FOIS'98. IOSPress, 6-8June1998.
[25℄ Niola Guarino and Pierdaniele Giaretta. Ontologies and knowledge bases: Towards a
terminologial lariation. In N.J.I. Mars, editor, Towards Very Large Knowledge Bases.
IOSPress, 1995.
[26℄ N.JaobsandR.Shea. Theroleofjavaininfosleuth: Agent-basedexploitationof
heteroge-neous informationresoures. M-insl-018-96, Miroeletronisand Computer Tehnology
Corporation, Marh 1996. Presentedat theIntraNet96Java Developers Conferene.
[27℄ N.R.Jennings,K.Syara, and M.Wooldridge. Aroadmapof agentresearh and
develop-ment. Int Journal of Autonomous Agents andMulti-AgentSystems, 1(1):7{38, 1998.
[28℄ N.R.JenningsandM.Wooldridge. Handbookof AgentTehnology,hapterAgent-Oriented
SoftwareEngineering. AAAI/MITPress, (toappear).
[29℄ Paul H. Lewis, Jo Kuan, Steve Perry, Mark R. Dobie, Hugh C. Davis, and Wendy Hall.
Content basednavigationfromimages. Journal of Eletroni Imaging,7(2):275{281, April
1998.
[30℄ Henry Lieberman. Letizia: An agent that assists web browsing. In Proeedings of the
International JointConferene on Artiial Intelligene, Montreal, Canada, August 1995.
[31℄ PattieMaes. AgentsthatRedueWorkandInformationOverload. Communiationsof the
ACM,37(7):31{40, July1994.
[32℄ DaniusMihaelides,LuMoreau,andDavidDeRoure.Auniformapproahtoprogramming
theworldwide web. Computer SystemsSiene and Engineering,2:69{91, 1999.
[33℄ Lu Moreau. Hierarhial Distributed Referene Counting. In Proeedings of the First
ACMSIGPLANInternational Symposiumon MemoryManagement(ISMM'98),pages57{
67, Vanouver, BC, Canada,Otober1998.
[34℄ LuMoreau.Distributeddiretoryservieandmessagerouterformobileagents. Tehnial
ReportECSTR M99/3, Universityof Southampton,1999.
[35℄ Lu Moreau, David DeRoure, and Ian Foster. NeXeme: a Distributed Sheme Based on
Nexus. InThird International Europar Conferene(EURO-PAR'97), volume1300 of
Le-ture Notesin Computer Siene, pages581{590, Passau,Germany,August1997.
Springer-Verlag.
[36℄ LuMoreau and NiholasGray. A Communityof AgentsMaintainingLinks intheWorld
WideWeb(PreliminaryReport). InTheThirdInternational ConfereneandExhibitionon
The Pratial Appliation of Intelligent Agents and Multi-Agents, pages221{235, London,
UK,Marh 1998.
[37℄ Lu Moreau and Christian Queinne. Design and Semantis of Quantum: a Language
to Control Resoure Consumption in Distributed Computing. In Usenix Conferene on
Knowledge Engineering Review, January 1999.
[39℄ Hyainth Nwana, Divine Ndumu, Lyndon Lee, and Jaron Collis. Zeus: A tool-kit for
buildingdistributedmulti-agentsystems. Applied Artial IntelligeneJournal,13(1):129{
186, 1999.
[40℄ C. Petrie. Agent-based engineering, the web, and intelligene. IEEE Expert, Deember
1996.
[41℄ SiegfriedReih,UeK.Wiil,PeterJ.Nurnberg,HughC.Davis,KajGrnbk,KennethM.
Anderson, David E. Millard, and Jorg M. Haake. Addressing Interoperability in Open
Hypermedia: The Design of the Open Hypermedia Protool. New Review of Hypermedia
and Multimedia, 1999. Aeptedforpubliation.
[42℄ Retiular Systems, In. AgentBuilder: an Integrated Tookit for Construting Intelligent
Software Agents, February1999. Availablefrom http://www.agentbuilder.om/.
[43℄ John Searle. Speeh Ats: An Essay in the Philosphy of Language. CambridgeUniversity
Press, 1969.
[44℄ YoavShoham. Agent-oriented Programming. Artiial Intelligene,60:51{92, 1993.
[45℄ JonSiegel. CORBA fundamentals and programming. Wiley,1996.
[46℄ SunMiroSystems. Java RemoteMethod InvoationSpeiation, November1996.
[47℄ S.RebeaThomas. ThePLACAAgent ProgrammingLanguage. InM.J.Wooldridgeand
N.R.Jennings,editors,ECAI-94Workshopon Agenttheories, arhitetures andlanguages,
volume 890 ofLeture Notes on AI.Springer-Verlag,1994.
[48℄ AnandTripathi,Neeran Karnik,ManishVora, TanvirAhmed, andRamD. Singh. Ajanta
{AMobileAgentProgrammingSystem. TehnialReportTR98-016,Departmentof
Com-puter Siene, University ofMinnesota,April 1999.
[49℄ Ue Kok Wiil and Serge Demeyer, editors. Proeedings of the 2nd Workshop on Open
Hypermedia Systems, ACM Hypertext '96, Washington, D.C., Marh 16-20. Available as
ReportNo.ICS-TR-96-10fromtheDept.ofInformationandComputerSiene,University
of California, Irvine, 1996.
[50℄ M. Wooldridgeand N. R. Jennings. Intelligent Agents: Theory and Pratie. Knowledge