From: AAAI Technical Report WS-02-02. Compilation copyright © 2002, AAAI (www.aaai.org). All rights reserved. Achieving Global Coherence in Multi-Agent Caregiver Systems: Centralized versus Distributed Response Coordination in I.L.S.A.* ThomasA. Wagner HoneywellLaboratories 3660 Technology Drive, MN65-2600 Minneapolis, MN55418 http://www.drtomwagner.com/-wagner wagner_tom@ htc.honeywell.com Abstract In orderfor multi-agentsystemsto exhibitglobalcoherence the agentsmustcoordinatetheir activities or be limitedto a problem spacein whichactivities are highlyindependent. In the elder care domain,globalcoherence acrossthe agentsystemresponsiblefor givingthe care requirescoordination if onlybecausethe differentagentsin the systeminteract over a set of sharedresources, namelythe individual for whom the systemprovidescare andthe fallbackhuman caregivers. In this paperweexplorethe generalcoordinationissue in the elder care problem spaceand discussthe responseplanningandcoordination portionsof the Independent LifeStyle TMagent systembeingdeveloped Assistant at Honeywell. Introduction Onekey aspect of multi-agent systems (MAS)on which different researchers can agreeis that the MASmodelmeans distributed processingand distributed control. Aswith other distributed processing models, one important problem of MASresearch is howto obtain globally coherent behavior from the systemwhenthe agents operate autonomously and asynchronously.In general, whenthe agents share resourcesor the tasks beingperformedby the agents interact, the agents mustexplicitly workto coordinate their activities. I Consider a simple physical example.Let two maintenance robots, R1and R2, be assigned the joint task of moving a long table from one roomto another. Let both robots also have an assortmentof other independentactivities that must be performed, e.g., sweepingthe floor. Assumethat neitherrobot canlift the table byhim/herself.In orderfor the robots to movethe table together they must coordinatetheir activities by 1) communicatingto determine wheneach of the robots will be able to schedulethe table movingactivity, 2) possibly negotiating over the time at whichthey should *Thisworkwasperformedunderthe supportof the U.S. Departmentof Commerce, NationalInstitute of StandardsandTechnology, AdvancedTechnologyProgram,CooperativeAgreement Number70NANBOH3020. Copyright1~)2002,American Associationfor Artificial Intelligence(www.aaai.org). All rights reserved. ~Forapplicationdomains in whichthe activities of the agents are mostlyindependent, or the actionscardedoutby the agentsare particularlylightweight(so the implications of an intersectionare slight), explicitcoordination maynot be necessary. 97 movethe table together, 3) agreeing on a time, 4) showing up at the table at the specified time, 5) lifting the table together, and so forth. This is an exampleof communicationbased coordination that produces a temporal sequencingof activities enablingthe robots to interact and carry out the joint task (over a shared resource- the table). Withoutthe coordinationprocess, it is unlikely that the table wouldever be movedas desired unless the robots randomlydecided to movethe table at the samemomentin time. Notethat if the robots are designedto "watch"each other and "guess" when the other is goingto movethe table that this is an instance of coordinationby plan inference and still countsas a coordination episode. In general, achievingglobal coherencein a MAS wheretasks interact requires coordination. In the robot/table example, the coordination episode is peer to peer. Imagine now a room full of maintenance robots, each having multiple joint tasks with other agents and all sharing physical resources such as tools and floorspace or X/Ycoordinates. Withoutcoordination said room full of robots would have muchin commonwith a preschool"free play session" with robots movingabout, unable to performtasks due to obstacle avoidancesystemsalwaysdiverting themfromtheir desired directions or due to the lack of a required tool. There are two primary waysto coordinatethis roomfull of robots - either in a distributed peer to peer (or group to group) fashion or in a centralized fashion. Whencoordination is distributed each agent is responsible for determiningwhento interact with another agent and then having a dialog to determinehowthey should sequencetheir activities to achieve coherence. Whencoordinationis centralized generallyoneagent plans for the others or managesa shared resource. Notethat in the example abovecoordination focuses on whento performa given task. Coordinationcan also be about whichtasks to perform,what resourcesto use, howto performa task, and so forth. Whilethe robot domainis goodfor illustrating conceptually the coordination problem,the need for coordination is not limited to robots. Considerthe IndependentLifeStyle Assistant TM (I.L.S.A.) system being developed at Honeywell. I.L.S.A. is a multi-agent systemthat monitorsan individual in his/her homeand automatesaspects of the care giving process. For instance, I.L.S.A. maynotify a caregiver if the individual being monitoredshould go too long without eating. I.L.S.A. is a multi-agent systemwheredif- Response Planning and Coordination Se~nsor Informalon andInterpreted SensorInformation Medication Management DomainAgent Selected/ Not Selected and/or Results Action I information on~ Caregivers Ilnformation ~ on PersonBeing Monitored I_ Mobility I Informationo! Conditionsto Monitor Coordinated Action Requests/ Results Other DomainAgents PhoneAgent WebPedAgent Caregivers 2; " ,x Other Ul Device Agent Client = Figure1: TheResponse PlarmingComponent of I.L.S.A. ferent agents are responsible for sensing, reasoning about the sensor data, deciding on a course of action, and interacting with the caregivers and the individual for whichthe systemis giving care. Withoutcoordination in I.L.S.A. it wouldbe possible for the systemto exhibit undesirablecharacteristics. For instance, the agents might overburdenthe individual for whichcare is being given by issuing a series of separate remindersall within a few minutes of one another, e.g., "it is timeto take yourmedication," "it is timefor lunch," "you haven’t been movingas muchtoday""I believe the oven is on" Imaginethe impact of having a telephone ring or a beeper go off every few minutes with a different reminderfunction. Worsestill, imagineif the client were to fall and the emergency notification beingsent to a caregiver wasdelayedso that the client couldbe remindedto eat his/her lunch. Or imaginethat sameclient, whois unable to get up, listening to the phonering wherethe ring is caused by a reminderthat it is timeto take a nap. I.L.S.A.’s MAS requires coordination. Throughcoordination we can organize the responses producedby the different agents and achieve globally coherentbehaviorfor the systemas a whole. project, whichis another multi-agentsystemfor intelligent facilities management.While IHome’sgoals are different there are strongparallels in the projects. For the purposes of this paper we will use the moniker "Lois" to denote the individual of whichI.L.S.A. is taking care and the term "caregiver" to denote somehealth care professionalthat mayassist I.L.S.A. in dealing with certain situations. In the followingsections weprovide moredetail about the agent coordination problemin I.L.S.A., discuss the process of selecting betweendistributed and centralized coordination, discuss the coordinationtechniqueusedin I.L.S.A. and identify future coordinationissues. Coordination Evaluation in I.L.S.A. is Part of a Larger Effort The study of coordination in MAShas a long history that goes backto the early workin distributed artificial intelligence (Lesser &Erman1980; Lesser & Corkill 1981). Recent efforts include generalizedapproachesto coordination (Decker &Li 1998), team centered coordination (Tambc Zhang1998), formalisms of joint problemsolving (Grosz & Kraus 1996; Cohen & Levesque 1990; Wooldridge & Jennings 1994), research in coordination protocols (Singh 1998) and others (Jennings, Sycara, & Wooldridge1998). Despite progress in these areas, the community as a whole I.L.S.A.’s overall architecture and the system’s design goals are more fully documentedin other papers (Haigh, Phelps, & Geib 2002). In this paper we focus on the coordination problemof the I.L.S.A. system and compareit to the coordination techniques used in the UMASS IHome 98 lacks a science or methodology that one can apply to determinewhichtype of coordination is appropriate for a given application. Theunderlyingscience that is neededis 1) an understandingof the importantdomaincharacteristics (e.g., dynamicand distributed, size and scope), and 2) howthese mapto the strengths of the different coordinationtechnologies and approachesthat are used. For instance, in a dynamic supply chain managementproblem (Wagner, Guralnik, &Phelps2002)whereagents are situated at the sites of all involvedparties and all productsare built to order, there is no centralized control and there is no steadymarketstate. In this case, agents mustcoordinate by reasoningabout the value of candidate options as well as order deadlines and interactions betweendifferent options (e.g., a manufacturer needsmaterials frommultiple suppliers to fill an order and must thus negotiate with themover delivery times to meet its deadline).Thisis in contrast to the I.L.S.A.caregiverdomainwhereresponses can be centrally coordinated and the coordination process does not involve interactions between certain classes of activities. Thecontributionof this particular paperis in the high-level analysis of the I.L.S.A. coordination space and in the centralized coordination approach used. The communityis working to develop a science in this area, e.g.,(Durfee 2001) and (Wagner,Smith, &Vouros 2002). Response Planning and Coordination in I.L.S.A. In the current implementationof I.L.S.A. the coordination problempertains to organizing activities over shared resources - namelythe interfaces to the caregivers and Lois. Asdiscussed in the conclusionother aspects of I.L.S.A. are candidatesfor coordination,e.g., the coordinationof multiple I.L.S.A. instances and the coordinationof agents within I.L.S.A. overtask relationships. I.L.S.A.’s overall architecture is documentedin (Haigh, Phelps, & Geib 2002). Here we focus on the subset of the architecture that deals with 1) decidinghowto respondto given situation that exists with Lois, and 2) coordinatingthe different responses that maybe on going at any given momentin time. This functionality is loosely called response planning and coordination and the subset of the architecture is shownin Figure 1. Responseplanningin I.L.S.A. is carried out by multiple domainagents, each of whichhas a particular area of expertise. For instance, there is a domain agent that monitors Lois’ medicationand issues reminders to her if she forgets to take her medicationon scheduleand issues notifications and alerts to caregiversif Lois doesnot correct her medicationsituation. Other domainagents specialize in toileting, eating, falls, mobility,andsleeping, to namea few. The domainagents receive multiple different types of input fromother agents in the system.Specifically: ¯ The intent recognition agent provides information on the plans Lois is likely to be performing.For instance, Lois might be cookingdinner with somespecified probability. ¯ Thesensor clustering agent providesfiltered sensor data, e.g., toilet flushes or informationfrommotiondetectors. This agent also providesthe clock pulse. 99 ¯ The database agent provides the domainagents with information on conditions for which they are to monitor (e.g., track the consumptionof medication X) and how they should respondif a particular circumstancearises. For instance, if Loisfalls to take her medication,first remindher, then notify caregiver X using device Y, then if she remainsinappropriatelyunmedicatedissue an alert to caregiver Z using device K. ¯ Domainagents also receive feedbackfrom a response coordinator (below) agent and results backfrom the device agents whenappropriate (e.g., indicating the caregiver has acceptedan alert and will handle the condition). Fromthis data the domainagents monitor the environment, monitorLois’ condition, and respond whennecessary. Domainagents respond to problemsby interacting with Lois or one or moreof the caregivers. Responsesfall into four categories: reminders(to Lois), notifications (to caregivers of somecondition), alerts (to caregivers of someserious condition), and alarms(to caregivers of somelife threatening condition). The domainagent responses are the coordination focal point. The response coordination problemin I.L.S.A. has the followingproperties: ¯ The domain agents operate asynchronously and autonomouslyand generally do not interact to solve problems. The implication is that any domainagent maygenerate an action request at any time. For our purposesit is sufficient to viewaction requestsas a request to interact witha caregiveror Loisvia one of the UI devices. ¯ The agents share several resources, namelythe UI devices andindirectly the caregiversand Lois. ¯ In additionto the resourceinteraction, action requestspotentially intersect on a temporalbasis. In this case for there to be a resource coordination problemthe requests mustoccur within a certain temporalproximityto one another or within a systemstate window (below). ¯ Theresponse space for a particular individual caregiver or a particular client (Lois) is relatively sparse, i.e., the numberof interactions that the systemneeds to havewith any given individual is small over time. Wecan makethis characterizationbecausethe endpointsof these action requests are humanand boundedby humancapacity. For instance, Lois cannot process 10,000interactions a minute nor can a givencare provider. In contrast, the load of a given device maybe relatively high whencomparedto the load on an individual caregiver or Lois. Consideran I.L.S.A. installation wherethe only interaction medium for Lois and all caregivers is the telephone. The telephone itself maybe a bottleneck unless usageis coordinatedaccordingly. In additionto interacting oversharedresources, action requests interact with each other throughpriority. For instance, if the falls domainagent issues an alert because it has determinedthat Loishas fallen, the alert condition should take precedenceover a previously issued, but not yet fulfilled, requestto notify a caregiverthat Loisis behind on her medication. ¯ Action requests also interact through systemstate. For instance, if the panic agent issues an alarmbecauseLois has pressed her panic button, remindersfrom the other domainagents (to Lois) must be suppressed. ¯ Different responseshave different interaction protocols that I.L.S.A. must follow. For instance, remindersgo to Lois. Notifications are sent to caregivers but the caregivers do not needto explicitly acknowledge them. Alerts are sent to caregivers and require explicit acceptanceplus alerts cause I.L.S.A. to cycle over a list of caregivers until one is found whowill accept responsibility for handlingthe alert. Alarmsare sent to a list of selected caregivers all at once, in parallel. Eachof these responsesis further conditionedby device, e.g., caregiver Bobmightalwayswantto be notified via cell phonerather than beeper. ¯ Oneof the designgoals of I.L.S.A. is to keepthe architecture openso that 3rd parties can add customor enhanced functionality. ¯ The domainagents will execute in close proximityto one another or will have a reliable networkconnectionbetweenthem. This is necessary for themto obtain informationabout the environmentand to monitorLois. Onthe surface, the response coordination problemspace in I.L.S.A. is akin to that found in the UMASS IHome (Lesser et al. 1999) project. In/Homeagents managedifferent appliancessuch as the hot water heater, dish washer, washingmachine,coffee maker,and coordinate their activities to improvethe quality of life for the occupants,e.g., makingsure that there is sufficient hot water for morning showerswhile still getting the laundry done and the dishes washed.In IHomecoordination centers on shared resources like hot water, electricity, noise, and a sharedmobilerobot (simulated) that can performselected tasks within the environment. In both/Homeand I.L.S.A. two primary approaches for solving the coordination problemsexist - centralized and distributed. In IHomeboth centralized and distributed approaches are used and the motivationfor each selection is morewell understoodtoday than it wasat the time the decision was made.For resourcesthat are characterized as 1) not centralized and 2) not heavily contested, a decentralized approachis used. In the decentralized approachagents are responsiblefor coordinatingon their ownbehalf, i.e., there is no single agent that serves as the moderatoror controller for that resource. The noise resource is an exampleof a resource over whichthe agents coordinate in a distributed fashion. For resourcesthat are centralized, such as hot water whichis producedlocally by the hot water heater, an agent is assignedthe task of controlling and coordinatingusageof the centralizedresource.In the case of hot water,a hot water heater agent handlesthe allocation of hot waterto individual agentsfor their use. Whatare the important differences betweenthe hot water resource and the noise resource in/Home?Howdo these differences relate to I.L.S.A.? Thehot water resourceis inherently centralized. Thenoise resource is inherently distributed (spatially). This is an importantdistinction because not all agents that makenoise actually needto coordinatein /Home.For instance, the television agent wouldnot need to coordinatewith the vacuum cleaning agent if they are located in different roomsof the home.In this case, a centralized coordination mechanismis unnecessaryand undesirable (assumingthat the process of determiningwhether or not the agents need to coordinate is low cost). In contrast, the hot water used by the dishwasheralways comes from the samesource as the hot water used by the shower which always comes from the same source as the hot water used by the washingmachineand so forth. In this case, these agents alwaysneedto coordinate their activities and their coordination will often span morethan an individual pair of agents. Additionally, in IHome,hot water proves to be a fairly contentiousresourceso centralized coordination serves to reduce messagetraffic and coordinationoverhead. To summarize,axis along which to evaluate a coordination approach suggested by IHomeinclude 1) how many agents use a given resource, 2) whetherthe resource is inherently centralized or distributed, 3) howcontentious the agents are for the resource. Anotherissue that arises in /Homeis whenmultiple resources are required by a given agent before any processing can be performed, e.g., the washingmachineneedsnoise, electricity, and hot water resources to function. This class of resource issues does not occurin I.L.S.A.(yet) thoughthe first three criteria are useful metricsin I.L.S.A.. Nowconsider I.L.S.A.’s coordination problemas specified above. If we distill that informationand correlate related items wecan enumeratea subset of importantissues to considerwhenevaluating I.L.S.A.’s coordination needs: ¯ All of the domainagent action requests interact over the set of UIdevices(directly) andthe set of caregiverst.J Lois (indirectly). ¯ Actionrequests also interact with each other throughsystem state and priority. Notethat systemstate is a global condition (e.g., systemis in alarmstate so suppressall remindersto Lois). ¯ The numberof action requests expected to be issued by the systemis computationallyboundedon the upside by the sumof the processingcapabilities of the caregivers plus the capability of Lois, i.e., the number of requeststhe systemwill generate and process will be small by computer standards. ¯ The action requests are lightweight activities that do not require large amountsof processingto evaluate. ¯ Theagents do not needto engagein negotiation activities or perform complexcross agent task sequencingactivities. ¯ BecauseI.L.S.A. mustadhere to a set of protocols for issuing notifications, alarms, alerts, and reminders,if domainagents are given direct access to the devices they must each implementportions of the protocols (some of the protocol requirementsare implementedby the device agents). ¯ I.L.S.A. should support the addition of 3rd party / after marketagents to the system. i00 Reminder R_y Arrives ReminderR_x Arrives ¯ ReminderR~JArdves ReminderArdves RemindefAi’rives ReminderArrives Reminder An’ires \ TimeInterval T TimeInterval T TimeInterval T Y Y V Pool Reminders for Lois Pool Reminders for Lois Pool Reminders for Lois Issue Reminders to Lois ~) Issue Reminders to Lois Figure2: CentralizedCoordinationPacingReminders Theend result? Weselected a centralized approachto responsecoordinationin I.L.S.A.. This is due in part to the wayin whichthe lightweight action requests mayinteract anddue to the ratio of requests to caregiversthat the system will exhibit in order to be useful. Centralizationprovidesan efficient path for responsecoordinationthat webelieve will scale with the systemin the case of I.L.S.A.. Centralization is also particularly appropriatefor I.L.S.A. becausethe action requests are lightweight and not strongly situated temporally, i.e., the domainagents do not needreal-time timeor performanceguarantees thus consequencesof an action request being delayedby another are slight (if any). Centralized coordinationis still required (versus no coordination) to ensure that the agents do not overwhelmthe caregivers or Lois and to ensure that importantmessagesare sent in a timely fashion. Centralization also enables us to encapsulate certain trusted behaviorsin an agent of our owndesign. If coordination were performedin a peer to peer fashion, a poorly written or malicious 3rd party agent could wreak havocwiththe systemby not coordinatingwell (or at all). The centralized approachto coordination is implemented by the responsecoordinator, shownin Figure 1. This agent is responsiblefor acceptingall action requests fromthe domainagents and coordinatingthe requests as follows: ¯ If multiple remindersfor Lois occur within someperiod of time"/’the remindersare multiplexedinto a single messageso that Lois onlyreceives one phonecall or oneemaii messagethat contains the set of reminders. Spaceprecludes presentationof the algorithmbut it is illustrated in Figure 2. Thegeneral idea is to create temporal buckets into whichall requests that occur within their boundaries are tossed. Whenthe edge of the temporalwindowarises, the reminderscontainedin the bucket are multiplexedand sent. Theimplications are that somereminderswill be delayed slightly, however,this is also the only wayto ensure that Lois is botheredby a reminderat mostevery "/’time units. ¯ If multiple notifications for the samecaregiver occur within the sameinterval of time, they are treated as the remindersare for Lois (above). ¯ Whenalarms and alerts are generated, they are immediately dispatchedto the appropriate devices accordingto 101 the appropriate protocol (whichthe response coordinator implements.) ¯ If the systemis in a state such that remindersto Lois are to be suppressed(e.g., an alarmhas beenissued), the action requests are returned to the domainagents instead of being issued to Lois. The domainagents are told whythe requests were refused and are able to reissue the request at somepoint in the future. If the conditionhas clearedin the meantime,the newrequests are granted. Note that the task of tracking the systemstate and knowingwhenit is clearedis also centralized with the responsecoordinator. ¯ Note that device load is moderatedby the binning algorithm shownin Figure 2. If device load becomesa performanceissue we can adjust the algorithm or implementother protocols, e.g., store lowpriority messagesfor longer periods of time, easily by changingthe response coordinator’scontrol algorithm.(Currentlyaspects of this class of concernsare also carried forwardinto the implementationby using priority queues at the device agent level so that alarms and alerts are alwaysissued before remindersand notifications.) It is importantto note that centralization in the general case maynot alwaysbe desirable. Centralization can lead to a localized performancebottleneck and creates a system witha single point of failure. If the agentsare spatially distributed centralization also introduces networkuncertainty, latency, and connectivityissues so that evenif the centralized coordinator is still online and functioningagents who are unable to connectare unable to coordinate. Otherissues with centralization include scale and computationallimitations - if coordinationrequires deeptemporalanalysis it is unlikely that any single agent could handle the coordination problemof even a fairly modestMAS.Other issues that are particularly importantfor agent-basedecommerce are localized control and informationhiding or privacy. In general, we strongly advocate a distributed approachlike that used in our supply chain research (Wagner,Guralnik, & Phelps 2002) and other research that is based on T/EMS (Decker Li 1998), DTCagent scheduling (Wagner,Garvey, &Lesser 1998), and GPGPagent coordination (Decker &Li 1998). However,as enumeratedabove, I.L.S.A.’s requirementsare different and the characteristics of the current and near term problemspace lead us to a centralized approach. Conclusions and Future Work Coordinationwithin I.L.S.A. currently centers on coordination oversharedresources,i.e., the interfaceto the caregivers and to Lois. In the future it maybe necessary to coordinate the activities of the other agents in the system.For instance, if the computationaltasks being performedby the agents becomeheavyweightenough that they over burden the processor, performanceof certain tasks mayhaveto be coordinated to avoid unacceptable systemslow downs.Another exampleis if the sensor interpretation agents wereto only performcertain analysis tasks if the output wereneeded by one or moreof the agents in the system. In the current model,the agents within the systemdo not explicitly reason about the interactions in their activities and do not coordinate over said interactions. If agents wereto reason about such interactions, it is highly probablethat distributed temporal task centered coordinationlike that used in our other work, based on TAEMS/DTC/GPGP, will be appropriate. Anotherarea in whichcoordinationwill play a role in the I.L.S.A. project is whenthe I.L.S.A. systemis deployedin a multi-unit care facility. In this setting, one I.L.S.A. system will take care of one client but the pool of humancaregivers will be common across the set of I.L.S.A. systems (or at least subsets maybe common). The individual I.L.S.A. systems will thus need to coordinate over non-emergency tasks to optimizecaregiver time and to prevent thrashing behavior (caregivers being overbooked,not havingsufficient time witheachclient, etc.). Acknowledgments The I.L.S.A. project is a large effort at HoneywellLaboratories and manyindividuals havecontributedto the intellectual underpinningsof the project. Someof the contributors are: Chris Miller, Karen Haigh, David Toms,WendyDewing, Steve Harp, Christopher Geib, John Phelps, PeggyWu, Valerie Guralnik, RyanVan Riper, ThomasWagner,Steven Hickman,and others. References Cohen,P., and Lcvesque,H. 1990. Rational interactions as the basis for communication. In Cohen,P.; Morgan,J.; and Pollack, M., eds., Intentions in Communication. MIT Press. Decker,K., and Li, J. 1998. Coordinatedhospital patient scheduling.In Proceedingsof the Third International Conference on Multi-Agent Systems (ICMAS98),104-111. Durfee, E. H. 2001. Scaling up agent coordination strategies. IEEEComputer39--46. Grosz, B. J., and Kraus, S. 1996. Collaborative plans for complexgroupaction. Artificial Intelligence 86:269-357. Haigh,K.; Phelps, J.; and Geib, C. 2002.Anopenagent architecture for assisting elder independence.In Proceedings of the First Intl. Joint Conferenceon Autonomous Agents and Multi-Agent Systems. To appear. 102 Jennings, N. R.; Sycara, K.; and Wooldridge,M. 1998. A roadmapof agent research and development. Autonomous Agents and Multi-Agent Systems 1(1):8-38. Lesser, V. R., and Corkill, D. D. 1981. Functionallyaccurate, cooperative distributed systems. IEEETransactions on Systems, Man,and Cybernetics 11(1):81-96. Lesser, V. R., and Erman,L. D. 1980. Distributed interpretation: A modeland an experiment. IEEETransactions on ComputersC-29(12): 1144-1163. Lesser, V.; Atighetchi, M.; Horling, B.; Benyo,B.; Raja, A.; Vincent, R., Wagner,T.; Xuan,P.; and Zhang,S. X. 1999. A Multi-AgentSystemfor Intelligent Environment Control. In Proceedingsof the Third International Conference on AutonomousAgents (Agents99). Singh, M.P. 1998. Developing formal specifications to coordinate heterogenous autonomousagents. In Proceedings of the Third International Conferenceon Multi-Agent Systems (ICMAS98),261-268. Tambe, M., and Zhang, W. 1998. Towards Flexible Teamworkin Persistent Teams. In Proceedings of the Third International Conferenceon Multi-Agent Systems (ICMAS98). Wagner,T.; Garvey, A.; and Lesser, V. 1998. CriteriaDirected Heuristic Task Scheduling. International Journal of ApproximateReasoning,Special Issue on Scheduling 19(1-2):91-118. A version also available as UMASS CS TR-97-59. Wagner,T.; Guralnik, V.; and Phelps, J. 2002. Software agents: Enabling dynamicsupply chain management for a build to order product line. In Proceedingsof Agentsfor BusinessAutomation.Toappear. A version also appears in the Proceedings of the AAAI02Workshopon Agents for Business Automation. Wagner, T. A.; Smith, S.; and Vouros, G. 2002. Toward an Application Science: MASProblem Spaces and Their Implications to AchievingGlobally CoherentBehavior. Workshop held at the 1st International Conferenceon AutonomousAgents and Multi-Agent Systems. Wooldridge,M., and Jennings, N. 1994. Formalizing the cooperative problemsolving process. In Thirteenth International Workshop on Distributed Artificial Intelligence, 403--417.