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