• No results found

SoFAR with DIM Agents: An agent framework for Distributed Information Management

N/A
N/A
Protected

Academic year: 2020

Share "SoFAR with DIM Agents: An agent framework for Distributed Information Management"

Copied!
20
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)

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℄.

(3)

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

(4)

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.

(5)

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

(6)

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

(7)

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℄).

(8)

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

(9)

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

(10)

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

(11)

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.

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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.

(18)

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

(19)

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

(20)

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

References

Related documents

One important technology for preserving privacy is anonymity [24, 25, 26], which implements data minimization and user identity protection techniques, aimed at

16% 9% 8% 16% 11% 11% 15% 6% 2% 6% Consumer Discretionary Consumer Staples Energy Financials Health Care Industrials Information Technology Materials Telecommunication

Recognizing Medication related Entities in Hospital Discharge Summaries using Support Vector Machine Coling 2010 Poster Volume, pages 259?266, Beijing, August 2010 Abstract Due to the lack

For example, network connections in Plan B are handled by using boxes the box name bconnautilus:80" represents a stream connection to the service named 80" at the machine

QTL: quantitative trait locus; LG: linkage group; TARI: Taiwan Agricultural Research Institute; LOD: logarithm of odds; FW: fruit weight; FD: fruit diameter; FL: fruit length;

Within this integrated IT environment, EMC Symmetrix technology is strategic to meeting the demanding performance and availability requirements of IHA’s growing

Single crystal X-ray diffraction studies of the adduct reveals that sodium is in the form of cation attached to a methoxide, methanol and a dicoumarol ligand where carbonyl

BACKGROUND: Previous research has not addressed gender differences in coping strategies among patients with mild to moderate chronic obstructive pulmonary disease (COPD) who