Modeling Information Agents: Advertisements, Organizational Roles, and Dynamic Behavior

From: AAAI Technical Report WS-96-02. Compilation copyright © 1996, AAAI (www.aaai.org). All rights reserved.
ModelingInformation Agents: Advertisements, Organizational Roles, and Dynamic
Behavior
Keith Decker and Katia Sycara and Mike Williamson
The Robotics Institute, Carnegie-MellonUniversity
5000Forbes Ave., Pittsburgh, PA15213
(decker, sycara,mikew)@cs.cmu.edu
Abstract
Oneof the most important uses of agent modelsis for
problem-solving
coordination.Coordinationhas beendefined
as managing
the interdependencies
between
activities, or pragmaticallyas choosing,ordering,andlocatingactions in time
in an attemptto maximize
a possibly changingset of decision criteria. Coordination
activities includenot onlylocalized agentinteractionsoverspecificproblems,
but also longertermagent organizationsthat cansupportcurrent and future
problem-solving
activity. Modelsthat supportcoordination
canbe dividedinto three classes: modelsof other agents’current intendedactions,schedules,and/orplans;modelsof other
agents’objectives(desires, goals);andmodels
of otheragents’
capabilities.
Thispaperwill focus on the longer-termmodelsof capabilities that agentsneedin orderto organizeeffectivelyto solve
problems.Suchmodelsdeal withan agent’s capabilities and
long-termcommitments
to certain classes of actions. Besides
discussingthe modelsthemselves,wewill discussthe basic behaviorsagentsshoulduse to construct, communicate,
andupdate these models.Finally, wewill discusshowthese models
cansupportseveraldifferentorganizational
formssuchas economicmarkets,Wiederholdian
federations, and bureaucratic
functionalunits. Theworkwill be presentedin the context
of an implemented
agentarchitecturefor Internet information
gatheringin dynamic
domains
suchas financial portfoliomanagement(called WARREN).
Introduction
Oneimportant reason that software agents build modelsof
other agents is so that they can choose, order, and time their
actions with respect to the actions of others. Suchchoicesare
madein the context of an agent’s objectives1 and its knowledge of the objectives of other agents. Examplesof such reasoning include:
¯ Simulatedwingmenacting to stay in formation with their
wing leader, and acting to avoid bad outcomesfrom confrontations with enemypilots (Tambe1995)
1We’lluse the wordobjective,rather than"goal"or "desire",to
indicatea potentiallycomplex
specificationof a desiredoutcome
and
its associated
multiple-attribute
utility characteristics.
¯ Agentsreasoningaboutthe likely utility of possibledecision
outcomesfrom their ownand other agents’ points of view
so as to makea local decision on a particular action(Rosenschein & Genesereth 1985; Gmytrasiewicz, Durfee, &
Wehe1991)
¯ Agents reasoning about what to say and whenin carrying
out a conversationor negotiation (Chu-Carroll &Carberry
1995; Sycara 1989)
¯ Agents reasoning about howto choose between, order,
and temporally locate sequencesof actions that arise dynamically during problemsolving (Durfee &Lesser 1991;
Decker &Lesser 1995)
Mostof this workhas focussed on representing in the agent
model(1) the particular actions, schedules, and/or plans
other agents and (2) the objectives of other agents. However, equallyimportantis (3) the capabilities of other agents.
For example,in the tactical air domainthe doctrine of the
various combatants,and the physical capabilities of the aircraft, becomea constraint on potential actions and objectives
(comparealso limited vehicle velocit~ acceleration, and turning radii in the DVMT
(Corkill, Lesser, &Hudlickai 1982)).
Someconversational models take into account limited humanshort-term memory(thus causing reminder-utterances
to be produced) (Walker 1994). Somemodels of non-local
schedulesand plans include capability information(e.g., that
agent 1 can executean action twice as fast as agent 2) (Decker
&Lesser 1995). The major issue addressed by this paper
is howto represent the capabilities of information agents
in a waythat can be utilized for various organizational and
plan-coordination purposes. Furthermore, our solution is
constrained by our chosen application domain, open system
multi-agent informationgathering.
This paper will first briefly describe informationagents,
their basic behaviors,and the constraints placedon capability
modelingby the environment. Next, we will define a communication model, overlaid on KQML,
within which we can
define whatit meansto advertise an agent’s capability. Wewill
propose an extensible, KQML-aligned,
capability representa-
tion and a corresponding basic information agent behavior
for advertisement. Finally, wewill showhowbasic capability
advertisementcan be incorporated into several popular agent
organizations, includingmarkets, federations, and functional
units.
Information
Agents
The domainwe have been workingwith is that of open system multi-agent information gathering (Sycara &Zeng1995;
Oates et al. 1995). Such multi-agent systems can compartmentalizespecialized task knowledge,organize themselvesto
avoid processing bottlenecks (using modelsof other agents’
objectives), and can be built expressly to deal with dynamic
changesin the agent and information-source landscape (new
and changingagent capabilities). Suchsystems maycomprise
manydifferent types of agents, including information agents
that are closely tied to a source or sources of data. Wewill
be discussing capability advertisementfor simple and multisource informationagents.
Themainfunction of an informationagent is to process intelligently and efficiently one-shot,periodic, and information
monitoring requests. These requests comeexternally from
other agents; the information used to fulfill these requests
comesfromarbitrary external informationsources. Typically,
a single information agent will serve the information needs
of manyother agents (humansor computational agents).
information agent is quite different from a typical WWW
service that providesdata to multiple users. Besidesthe obvious
interface differences, an informationagent can reason about
the wayit will handleexternal requests and the order in which
it will carry themout (using its modelsof others). Simple
informationagents can carry out long-term interactions that
involvemonitoringfor particular conditions, as well as simple
information updating. Morecomplexmulti-source information agents deal with the problemsof dynamicallycombining
information fromdifferent simple informationagents in ways
that provide more completeinformation, balance the load on
the underlyingsources, and add extra robustness and timeliness.
Information agents are built on top of a commonset of
reusable basic behaviors. By "behaviors", we meanthe execution of partially-ordered sequencesof basic actions. By
"reusable", we meanonly that the behaviors are specified in
terms of domain-independentabstractions. To instantiate a
newsimple informationagent, one needs to define a database
schema(what information this agent presents to the world)
and develop a small piece of site specific code to handle a
portion of the external data access. Wehaveimplementedinformationagents and these shared, basic behaviors, and have
tested them experimentally on the WWW
in several domains:
trackingstockprices, extractingnewsstories, retrieving fundamental historical SECdata, monitoring airfares, and KQML
matchmaking.Basic behaviors for simple information agents
10
indude answeringone shot and periodic queries, monitoring
for somepattern or change,polling for messages,maintaining
and rebuilding the local DBcache, self-cloning to improve
responsetimes and balance loads, and advertising an agent’s
capabilities.
Becausethe environmentthat these agents are in is a dynamic and open one, wherenew sources and agents with new
capabilities are constantly comingand going, we cannot use
the traditional solution to the capability modelingproblem-assumingthat all agents havethe same, or predeterminedcapabilities. Instead, newagents must be able to communicate
thier capabilities throughthier advertisements(regardless of
to whomthese advertisementsare sent, or howthey are ultimatelyused in the organization--seethe next-to-last section).
Modeling Other Agent’s Objectives
Capabilities
and
Nextwe will discuss the set of communication
principles that
determinehowagents knowabout one another’s capabilities,
constrain howand whenan agent accepts requests, and constrain the behaviorsused by the agent to carry out those requests. Howcan we guarantee that information agents act
in waysthat are predictable and useful enoughfor them to
take part in larger multi-agent systems and organizations?
We, along with others believe that commitmentsof various
types are the key to coordinated multi-agent behavior (Jennings 1993; Cohen& Levesque1990; Decker& Lesser 1995;
Rao & Georgeff 1995). KQML,
however, has no explicitly
commisiveperformatives. Weresolve this by assigning commisive semantics to the KQML
ADVERTISE
performative.
Thissectionwill first discussa generalizationof the large set of
KQML
communicative
acts that will allow us (and our agents)
to moresuccinctly represent and reason about classes of communicativeacts, rather than needing to handle every performative as a separate case. Wewill then discuss the ADVERTISEperformative and an extensible agent capability model,
itself based on KQML.
Communicative Acts and Parameters
Ratherthan either discussing (and reasoningabout) every performative individually, we can group them(as suggested by
speech act theory and (Cohen&Levesque1995)) into three
classes: assertives (TELL, REPLY,ERROR,ADVERTISE
(explicitly)...),
directives (ASK-ONE,
ASK-ALL,
STREAMALL, MONITOR,ACHIEVE...),
and commisives (ADVERTISE
(implicitly), but perhaps some day things like
COMMIT, PROPOSE, AGREE, POSTPONE, ACCEPTROLE,JOIN-ORGANIZATION,
etc.) An interesting
attribute of KQML
is that someparts of the messagecontent are
separatedout into parameters(:sender, :receiver, :reply-with,
:ontology, :language.... ). Becauseinformationagents deal
with potentially time-sensitive information, we have added
two more parameters, :deadline and :period. Deadline used
by itself refers to an absolute time by whicha request mustbe
serviced;soft deadlinespecificationsare possible. Periodrefers
to howoften a request must be re-fulfilled. Whenperiod and
deadline co-occurin a directive the deadlineis assumedto be
relative to anychangein the directive’sresults. Finally,at least
for the purposesof capability advertisement(see the detailed
description later), wecan viewall of the various querydirectives (ASK-ONE, ASK-ALL, STREAM-ALL,GENERATE,
... ) as variants on a basic ASKdirective and a directive parameter ":report-action" that describes what to do with the
queryresults (send the first, sendthemall in a list, sendthem
all in individual messages,hold themfor meto request later,
.,.).
Modeling other Agents’ Objectives
In tracking other agents’ objectives, an information agent
sends and receives messagesabout both objective creation and
objective cessation (modifyingobjectives is also possible, although not presently supported outside of cessation of the
old objective and creation of a newobjective) Bothobjective
creation and cessation maybe assertive (telling another agent
a belief) or directive (requesting another agent to do something: achieve an objective, answera query in a certain way
etc) speechacts. Hereis a list of these basic communicative
classes and their meaning:
Assertion of objective creation: Aninformation agent may
assert to anotheragent that it has a objective, andin particular ADVERTISE
asserts that an agent has an objective to
service the objectivesof other agents if they fall within certain constraints(i.e., to answerany queriesonits database).
This is an implicit commisivecommunication.Whenan
information agent advertises its database by sending the
databasespecificationto, for example,somefacilitator, it is
makingan implicit commitment
to accept requests on the
class of queryobjectives valid for that database. Anyother
agent can then assumethat if it sends a queryrequest to
that agent, the agent will accept that request and workfor
its achievementuntil it is either achievedor the accepting
informationagent believes it cannot be achieved.
Requestfor objective creation: Anagent mayrequest that an
information agent adopt the objective of answeringsome
queryQ, e.g., "Tell methe price of IBMevery 10 minutes".
This is done via the standard KQML
directives. Information agents are free to reject requests that do not match
their previous advertised commitments.
IBMevery 10 minutes due to a shutdownfor preventive
maintenance".Currently, there is no specific KQML
performative for this communicativeact, and our agents use
ERROR/SORRY
with an appropriate :in-reply-to parameter to indicate whichobjectiveis being dissolved.
Requestfor objective dissolution: Anagent myrequest that
an information agent give up a objective previously requested by the agent. "Cancelthe objective of telling me
the price of IBMevery 10 minutes". Currently, there is no
specific KQML
performative for this communicativeact,
so we use UNMONITOR.
Informationagent behaviorsthat deal directly with objectives from other agents, then, must obey these implicit commitments.Theycan do this becausethey are built on an agent
architecture that provides planning and scheduling mechanismsthat detect or predict action failures.
Modeling Other Agent’s Capabilities
Webelieve that a very useful modelof agent capabilities is
one that describes the constraints under whichan agent will
accept anotheragent’s objectives. Wewill call such a description a service description. The key to an extensible agent
service description (advertisement) language are the KQML
parameters--agreat deal of the necessarycapability descriptions are in fact constraints on service request parameters.An
agent capability description, or service advertisement,consists
of three parts: basic service characteristics, service modifier
characteristics (tied to KQML
parameters), and service specific characteristics. Theidea is that the first twosets of characteristics are given fixed semanticsirrespective of the particular service being advertised, but that different types of
services can also haveservice-specificcharacteristics, defined
on a service-by-service basis (akin to the :content parameter
of a KQML
message). Matchmakers,Facilitators, Brokers,
Market-Makers,and default individual agent behaviors can
be defined to operate only on the fixed portion and avoid the
service-specificportion. Service-specificcapabilities for wellknowncapabilities, such as the query-answeringcapabilities
of information agents, will also be common
knowledge(i.e.
used in default agent behaviors and exploited by sometypes
of message-routingagents). This section will discuss both the
fixed capability modeland the service specific modelused by
all of our informationagents.
Basic Service Characteristics Basic service characteristics
deal with information applicable to any type of service but
not related to specific request/objective constraints. Webelieve that agents will attempt to makeboundedlyrational decisions in environmentscontaining considerable uncertainty
and wherethere are multiple, changingdecision criteria. Such
high-level decisioncriteria include cost, time, precision, certainty, reliability--all basic service characteristics. Basicservice characteristics therefore include,but are not limited to:
Assertion of objective dissolution: An information agent
mayassert that a objective, accepted from another agent,
is being removed.This assertion normallycarries with it
a reason--typicall~ the query was malformed,the agent is
unable to meet it’s implicit commitment
because it is too
busy, or the agent is shutting downdue to circumstances
beyondits control. "I can no longer provide the price of
11
pricing info: Servicecost. This includes the conceptsof a basic price, price modifieradditions, and bulkor custompricing flags. Price modifier additions mapfrom service modifier values (i.e. KQML
messageparameters as expanded
in the previous section) to price changes.For example,an
agent maycharge a higher price to provide higher levels of
service (like very short periods). Bulkpricing refers to the
practice of providingn requests for a fixed cost (used by
somestock ticker providers, for example). Custompricing indicates that cost varies on a case-by-casebasis (agents
might, for example,request a bid fromthe agent on a particular objective).
duration info: Service duration information,possibly including ranges and averages.
previous value can be assumed--onlythe relative temporalrelationship ("before").8 The database querylanguagespecifies
a pre-determined format for the KQML
"content" slot. The
"simple-query"querylanguageis a set of predicate clauses on
field values and attributes, joined with an implicit "AND".
The local database is constructed from a database definition languagedescription. This description also serves as a
wayto describe the informationcontent a particular information agent offers to other agents. Theimportantparts of the
description, definedfor eachfield in the database,are:
concept-name:the columnor field name,the term referring
to what the value in the database represents. A conceptnameplus the ontologyimplies a data-type (string, integer,
float, data/time, enumerated,etc.)
selectableflag: Afield is flagged"selectable"if it possibleto
use that field to select records in a query. If the external
database is a full-fledged modernrelational DB,then usually all fields will be flagged"selectable", However,
manyof
the databases available over the WWW
do not allow record
selection by every field, and so the agent needsto include
this in its specification.
reliability: Informationabout the likelihood of service failures.
Service Modifier Characteristics Service modifier characteristics refer to constraints placed on the service modifiers
(KQML
message parameters).
sender: constraints indicate organizational authority/power
relationships(e.g., an agent will only acceptobjectivesfrom
certain other agents)
receiver: nominally; the agent itself, but someagents may
workonly throughproxies/secretaries/front offices/brokers.
Thusa capability advertised by agent X with the receiver
slot constrained to agent Y meansthat agent X can only be
contactedvia Y.
ontology; language, period, deadline, report-action:
constraints on potential values for each of these KQML
messageparameterscan be given individually.
Service Specific Characteristics for Information AgentsAn
informationagent’s local database is defined in terms of an
ontology, a set of attributes, a language,and a schema.The
database ontologylinks concept-names
to their data types and
domain-specific meaning (and must match on any incoming
KQML
message).2 Database attributes are meta-information
stored about a field in a database record. By default, information agents will keep track of two attributes: timestamp
and previous value. The timestampindicates whenthe field
value in the record was last updated. Note that whena local agent database is formedfrom information gathered from
multiple external information sources, the timestampson every field in a record maybe different. The previous value is
the value the field had before the last database update. No
absolute temporalrelationship betweenthe current value and
primary key: A field is flagged as the primary key if every
record in the database must differ on that field. Every
database definition must have a primary key. This field
does not haveto be selectable (or advertised). If necessary,
it can be internally generated.
predicates: optional. If present, it limits the predicates that
can be used in queries on this field. If absent, all of
the natural predicates associatedwith the data-type for the
concept-namecan be used. Typically, a key field might
limit the operators to EQUAL
only.
range: optional. Givesinformation on any range limits associated with the field in question. If not present, the natural
limits for the field’s concept-name
are assumed.
For example,the Security APLserver is an Internet informationsource that has stock prices. Our Security APLinformationagent advertises:
(ADVERTISE
: SENDER secapl :RECEIVER
:ONTOLOGY advertisement
: content
(SERVICE security-apl
: PRICING 0
:DURATION (5 seconds)
:RELIABILITY .89
: SENDER :ALL
matchmaker
ZThisrestriction canbe removed
either by addinganotherbasic
behaviorto an information
agentthat createsin effect a new"valuehistory"attribute, or by simplyaddingvalue-historiesto the local
databasedefinitionitself. Thefirst alternativeis moreconservative
of space.
2Thispaperwill not discussontologicalrepresentation
or reasoning, see for example(Gruber1993;Collet, Huhns,&Shen1991).
12
: RECEIVER secapl
: LANGUAGE s imple-query
: ONTOLOGY stocks
:PERIOD
(> 5)
:DEADLINE (> i0)
:REPORT-ACTION
(one all stream)
: TYPE answer-query
: CONTENT
( :ATTRIBUTES previous-value
timestamp
: SCHEMA
( symbol : SELECTABLE : PRIMARYKEY
: PREDICATES (eq))
(company : SELECTABLE
: PREDICATES (eq =~)
(exchange :RANGE (NYSE AMEX NASDAQ))
(reference-date :RANGE (- *now* 15))
(price) )
Advertising Behaviors
Alongwith the basic behaviorsdescribed earlier to deal with
one shot, periodic, and pattern-monitoring queries, message
polling, local database cache maintenance,and cloning, simple and multi-source information agents use a shared basic
advertising behavior, basedon their local database schemaas
described in the previous section. Figure 1 showsthe task
structure whichresults from the basic planner reduction of
the "advertise" task, as shared by both types of information
agents.
The reduction is best understood in two parts: the first
is the initial communicationto the matchmaker,the second
are the actions associated with the "shutdown"of the advertise task (Make Un-Advertisement and the SendKQML
on
the lowerright). Thetask structure is expressedin a hierarchical task networkplanning formalismdevelopedfor informationgathering agents that focuses on representing the informationflow in a plan, and allowsthe representation of so4phisticated control relationships (such as loops and periodic
actions). Aa important focus of our current (Williamson,
Decker, &Sycara 1996) and earlier work (Decker & Lesser
1993)is that control relationshipsare derivativeof other, more
basic relationships such as required informationflows, effects
of one task on the duration or result quality of another, etc.
The planner fleshes out these morebasic relationships; the
agent’s scheduler uses this information to producea schedule (or schedulesin a dynamicmulti-criteria decision-making
situation (Garvey, Humphrey,&Lesser 1993)) that selects,
orders, and locates in time specific instantiated actions. More
information on the planner and this formalismcan be found
in (Williamson, Decker, &Sycara 1996).
The three actions "MakeAdvertisement", "Get Matchmaker Name", and the topmost instance of "SendKQME’
are involved in sending the advertising message. Both "Get
MatchmakerName"and this instance of "SendKQME’
ate
4Technical/y,
whatweare calling here informally"periodic"are
formally"distance-constrained"
or "havinga maxrepeatedinvocation separationconstraint".
13
periodic. All three tasks havean initial deadlineof "as soonas
possible". "MakeAdvertisement" constructs the KQML
advertisement messagecontent (using the agent’s local database
schemaplus execution information gathered and persistently
stored from previous invocations) and provides it to SendKQML.The typical first reduction for "Get Matchmaker
Name"is to use a predefined name;alternate reductions involving persistent memoryor more complexnetwork level
protocols are possible. ~ The matchmakernameis supplied
as the RECEIVER
of the KQML
message, and the REPLYWITH
field is supplied by the planner at reduction-time. If
no matchmakercurrently exists or someother networkerror
occurs, the SendKQML
signals a "DOWN"
outcome, which
provides a new signal to Get Matchmakername,and the two
tasks are rescheduled(they are periodic) and rerun. In general,
the planner strives to producestructures such that agents can
appear on the scene at any time and in any order (as well as
disappear, whichsee nex0.
The two action instances "MakeUn-Advertisement"and
the second, lower right SendKQML
instance comprise the
shutdownactions for this task. A task is shutdownwhenever:
The planner removesthe current reduction (because, for
instance, it has failed). This wouldnot typically happen
for advertisement,but doesfor other tasks.
2. The agent itself intentionally (via a "Termination"action)
or unintentionally (unrecoverableerror/signal) goes offline.
Shutdown
actions are placed on both the regular and a special
shutdownscheduling queue. Both actions are non-periodic
and have a deadline of "only execute if there’s nothing better to do". Actionson the shutdownqueueare architecturally
guaranteedto executeat least once, so in particular, the "Make
Un-Advertisement"action will either execute during normal
processing whenthe agent wouldotherwise be idle, or during shutdownif the agent never managedto have a second
to spare. The SendKQML
that actually passes the advertisement retraction on to the matchmakerhas two extra enablementconditions: first, that the initial advertisementactually
completedwithout error, and secondly that the task is being
shutdown.
This basic advertising behavioris shared (reused) for all
information agents (simple and multi-source). Other types
of task agents also share this behavior, except that the tasks
"MakeAdvertisement" and "MakeUn-advertisement"are expandeddifferently for agents that are not advertising a local
database.
din our system,the matchmaker
is the onlyagent with a known
name.The default matchmakernamecan be changedby a Unix
environment
variable, thus our groupcan haveagents workingin
mukiplelogical agent namespaces
eventhoughtheyshare a smallset
of physicalprocessors.
OK
Get
Do-It
I
: MatchMaker
Name
Figure 1: Oneplannertask structure reductionfor the "advertise" task.
Organizing Based on Capability Models
The previously described agent capability model and accompanying
advertising behavior are very useful for forming
several different agent organizations. Theseorganizational
possibilities include organizing as a market (agents choose
the lowest-priced service to do the queries), as a Federation
(agentsdefer all choiceto a Facilitator Agent),or a functional
unit (a Managermulti-source information agent speaks for
set of simpleinformationagents that ’work’for it).
The simplest organization supported is the dynamic,unstructured, and uncoordinated team. Agents whorequest an
action or information figure out at that point if the query
can be answered and by whom,choosing an action- or information supplier randomlyif there is more than one. For
one-shot, periodic, or change-monitoringqueries, this simple behavior is implementedvia a task reduction shared by
all information,task, and interface agents for the task "AnswerQuery".The shared behavior examinesthe target query
and constructs an appropriate matchmakerquery. The matchmakerquery wouldcheck for any agent that has advertised
to answerqueries in the target languageand ontology, with
the appropriate field names.6 Anagent is chosen(randomly)
from this list, and the target queryis wrappedin the appropriate KQML
performative and sent on. Failures (either networkfailures, or in the case of monitoring and other longterm queries the failure of the remoteagent) cause the agent
to go back to the matchmaker,looking for a newagent. With
sufficient redundancyand/or a quick restart for systemfailures, the resulting systemis fairly robust. However,
it is not
particularly goodat balancing the load on redundantinformationsources, dealing with multiple ontologies or queries
°Remember,
these namesare fixed by the ontology--thisis an
importantserviceprovidedby the information
agentabstractionover
the true underlying
data.
14
that cannot be answeredby a single agent, or providing predictably robust service (as opposedto merelybeing able to
recover fromerrors. Different organizationalformscan better
providesomeof these characteristics.
For example, market coordination mechanisms(Wellman
1993) can provide better load balancing as well as moresophisticated services that cannot be provided for free. One
wayto implementthis is to morecarefully peruse the list of
potential agents returned by the matchmakerquery, paying
attention to the pricing and reliability information. Rather
than using one-shot matchmaker
queries, agents can subscribe
to matchmakerinformation streams about their important
queries, so as newinformationsources comeon-line, the agent
can take advantageof possible lowerprices and/or higher reliability (transaction cost considerationsaside). Thebasic advertising behaviorcouldbe broadenedso as to periodically (or
undercertain trigger conditions)updatethe agent’s advertisement(i.e., reliability and pricing informationthat mayfactor
in load). This brings with it newpluses and minuses;our purpose here is only to argue that we provide the basic support
for such an organization.
Federated organizations (Wiederhold, Wegner, & Ceil
1992; Genesereth &Katchpel 1994; Finin eta/. 1994) provide a different set of organizingprincipals. In these architectures whatwe havebeendescribing as a fairly limited matchmakerbecomesa facilitator, taking on the newbehaviors of
brokering, mediation, and translation (betweenontologies).
For example, in a brokered organization, the AnswerQuery
task is reducedto one in whichthe facilitator (matchmaker)
takes on the target query; and accepts responsibility for finding whocan answer it, forwarding the query to them, and
forwardingthe reply to the original agent. By centralizing
communication,such organizations allow easier load balancing and the provision of services such as ontological trans-
formations or simple multiple query integration, but place a
great extra load (andresponsibility)on the facilitator agent.
Traditional humanbureaucratic functional units provide
another possible organization. A multi-source information
agent acts as a managerfor agents with similar data sources
and ontologies, such as a stock ticker managermulti-source
informationagent and a slew of individual stock ticker simple
information agents (Security APL,Galt, DBCOnline, Lombard, etc.) with partially overlapping schemas. Whenthe
managercomeson-line, it recruits the others as employees.
These agents then un-advertise from the main matchmaker,
and the managerbecomesthe sole entry point for queries to
the new corporation. The manager acts as a KQML
broker
or recruiter for this limited set of queries, allowingtight control over load balancing,greater service reliabilit~ and a potentially widerrange or services (i.e. queries that cannotbe
answeredby a single agent acting alone).
Current & Future Work
Oneimportant are of future workis in expandingthe advertisement ontologyto newclasses of service. Onenewclass of
service we needfor our application is graphical webpageconstruction, which is currently done by two of the WARREN
agents. Currently,these agentsadvertise thier capabilities as if
they were simple information agents. For example,one agent
creates a webpage consisting of a graph of intraday stock
prices notated by the temporal location of each new news
story about that stock. This agent advertises a database whose
records consist of a ticker symboland a URL(of the corresponding page). Only after someagent requests the URLfor
a newstock does this agent actually begin the process of collecting the different types of information(fromother agents)
neededto producethe desired graphics.
Currently, the main WARREN
system consists of 6 simple informationagents (two different stock tickers, news,two
SECEdgar agents for both historical fundamentaldata and
textual annual report (10-K) retrieval, and the matchmaker)
2 simple integration agents (one for price and newsgraphs,
onefor the NAIC
"stockchecklist" analysis of historical sales,
EPS,and pricing data) and a portfolio interface agent that
interacts with the user using a web browser and forms. The
portfolio agent can be customizedto present different types
of users different kinds of information.Agentscan enter and
exit the systemat any time, in any order, and with any name,
organized as an unstructured team. Anexperimental study of
the various tradeoffs of the alternate organizationsdiscussed
here is underway, beginning with matchmadeand brokered
systems.
Acknowledgments
This work has been supported in part by ARPAcontract
F33615-93-1-1330, in part by ONRcontract N00014-951-1092, and in part by NSFcontract IRI-9508191.
15
References
Chu-Carroll, J., and Carberr~ S. 1995. Communication
for conflict resolution in multi-agentcolaborativeplanning.
In Proceedingsof the First InternationalConference
on MultiAgent Systems, 49-56. San Francisco: AAAIPress.
Cohen,P. R., and Levesque,H.J. 1990. Intention is choice
with commitment.
Artificial Intelligence 42(3):213-261.
Cohen, P., and Levesque, H. 1995. Communicative
actions
for artificial agents. In Proceedings
of the First International
Conferenceon Multi-Agent Systems, 65-72. San Francisco:
AAAIPress.
Collet, C.; Huhns, M.; and Shen, W.1991. Resourceintegration using a large knowledgebase in Carnot. Computer.
Corkill, D. D.; Lesser, V. R.; and Hudlickfi, E. 1982. Unifying data-directed and goal-directed control: An example
and experiments. In Proceedingsof the National Conference
on Artificial Intelligence, 143-147.
Decker, K. S., and Lesser, V. R. 1993. Quantitative modeling of complexcomputationaltask environments.In Proceedingsof the EleventhNationalConference
on Artificial Intelligence, 217-224.
Decker, K. S., and Lesser, V. R. 1995. Designinga family
of coordination algorithms. In Proceedingsof the First International Conferenceon Multi-Agent Systems, 73-80. San
Francisco: AAAIPress. Longerversion available as UMass
CS-TR 94-14.
Durfee, E., and Lesser, V. 1991. Partial global planning:
A coordination frameworkfor distributed hypothesis formation. IEEETransactions on Systems, Man,and Cybernetics
21(5):1167-1183.
Finin, T.; Fritzson, R.; McKay,D.; and McEntire,R. 1994.
KQML
as an agent communication language. In Proceedings of the Third InternationalConferenceon Informationand
Knowledge ManagementCIKM’94.ACMPress.
Garvey, A.; Humphrey,M.; and Lesser, V. 1993. Task interdependenciesin design-to-time real-time scheduling. In
Proceedingsof the EleventhNationalConferenceon Artificial
Intelligence, 580-585.
Genesereth, M., and Katchpel, S. 1994. Software agents.
Communicationsof the ACM37(7):48-53,147.
Gmytrasiewicz,P. J.; Durfee, E. H.; and Wehe,D. K. 1991.
A decision-theoretic approach to coordinating multiagent
interactions. In Proceedingsof the TwelfthInternationalJoint
Conference
on Artificial Intelligence,62-68.
Gruber, T. 1993. Towardprinciples for the design of ontologies used for knowledgesharing. Technical Report KSL93-4, Knowledge
SystemsLaboratory, Stanford University.
Jennings, N.R. 1993. Commitments and conventions:
The foundation of coordination in multi-agent systems. The
KnowledgeEngineeringReview8(3) :223-250.
Oates, T.; Prasad, M.V. N.; Lesser, V. R.; and Decker,K. S.
1995. A distributed problemsolving approach to cooperative information gathering. In AAA/SpringSymposiumon
InformationGatheringin Distributed Environments.
Rao, A., and Georgeff, M. 1995. BDIagents: Fromtheory
to practice. In Proceedingsof the First InternationalConference on Multi-Agent Systems, 312-319.San Francisco: AAAI
Press.
Rosenschein, J. S., and Genesereth, M. R. 1985. Deals
amongrational agents. In Proceedingsof the Ninth International Joint Conference
on Artificial Intelligence,91-99.
Sycara, K., and Zeng, D. 1995. Task-based multi-agent
coordination for information gathering. In AAA/Spring
Symposium
on InformationGatheringin Distributed Environments.
Sycara, K. 1989. Multi-agent compromisevia negotiation.
In Huhns,M., and Gasser,L., eds., DistributedArtificial Intelligence, volumeVolume
2. Pittman.
Tambe,M. 1995. Recursive agent and agent group tracking
in a real-time, dynamicenvironment.In Proceedingsof the
First International Conferenceon Multi-AgentSystems, 368375. San Francisco: AAAIPress.
Walker, M. 1994. Planning to converse with an inferencelimited agent. In AAAI-94Workhopon Planningfor Interagent Communication,53-62.
Wellman, M. 1993. A market-oriented programmingenvironmentand its application to distributed multicommodity
flowproblems.Journalof Artificial Intelligence Research1:123.
Wiederhold, G,; Wegner, P.; and Ceil, S. 1992. Toward megaprogramming. Communications of the ACM
33(11):89-99.
Williamson, M.; Decker, K.; and Sycara, K. 1996. Unified
informationand control flow in hierarchical task networks.
In Proceedingsof the AAAI-96workshopon Theoriesof Planning, Action, andControl
16