From: AAAI Technical Report WS-94-02. Compilation copyright © 1994, AAAI (www.aaai.org). All rights reserved. Designinga Familyof CoordinationAlgorithms* KeithS. DeckerandVictorR. Lesser Department of Computer Science Universityof Massachusetts,Amherst,MA01003 Email: DECKER@CS.UMASS.EDU May27,1994 Abstract Manyresearchers haveshownthat there is no single best organizationor coordination mechanism for all environments.This paper discusses the design and implementationof an extendablefamily of coordinationmechanisms, called GeneralizedPartial GlobalPlanning (GPGP),that form a basic set of coordination mechanismsfor teams of cooperative computationalagents. Theimportant features of this approachinclude a set of modular coordinationmechanisms (any subset or all of whichcan be used in responseto a particular task environment);a general specification of these mechanisms involving the detection andresponseto certain abstract coordinationrelationships in the incomingtask structure that are not tied to a particular domain;and a separation of the coordinationmechanisms from an agent’s local scheduler that allows each to better do the job for whichit was designed. Wewill also discuss the interactions between these mechanismsand howto decide wheneach mechanismshould be used, drawingdata from simulation experiments of multiple agent teamsworkingin abstract task environments. 1 Introduction This paper presents a formal description of the Generalized Partial Global Planning (GPGP) coordination approach [6] and extends it to create a family of coordination algorithms that can be adapted to different environments. The GPGPfamily of algorithms is based on recognizing and reacting to the characteristics of certain coordination relationships, an approach shared with VonMartial’s work on the favor relationship [23]. The approach described here is based on modular components (called ’mechanisms’) that work in conjunction with, but do not replace, a fully functional agent with a local scheduler. Each componentor mechanismcan be added as required in reaction to the environment in which the agents find themselves a part. *This work was supported by DARPA contract N00014-92-J-1698,Office of Naval Researchcontract N00014-92-J-1450, and NSFcontract CDA8922572.The content of the information does not necessarily reflect the positionor the policyof the Government andno official endorsement shouldbe inferred. - 32- Anindividual algorithmin the family is defined by a particular set of active mechanisms and their associatedparameters. This paper will also summarize experimentalresults that involve a completeimplementation of GPGP and a separately developedreal-time local scheduler [16, 15]. Wewill showhowto decide whena particular mechanism is useful, howsomefamily membersperformrelative to a centralized algorithm,and whatthe spaceof possible coordinationalgorithmslooks like for the five mechanisms currently defined. Weanalyze the performanceof this family of algorithms through simulation in conjunction with the heuristic real-time local scheduler and randomly generated abstract task environments.In these environments,the agents attempt to maximize the system-wide total utility (a quantity called ’quality’, describedlater) by executingsequences of interrelated ’methods’. The agents do not initially have a completeview of the problem solving situation, and the executionof a methodat one agent can either positively or negatively affect the executionof other methodsat other agents. TheGPGP approachspecifies three basic areas of the agent’s coordination behavior: how and whento communicateand construct non-local views of the current problem solving situation; howand whento exchangethe partial results of problemsolving; howand whento makeand break commitmentsto other agents about what results will be available and when. The use of commitmentsin the GPGPfamily of algorithms is based on the ideas of many other researchers [2, 21, 1, 18]. Eachagent also has a heuristic local schedulerthat decides whatactions the agent shouldtake and when,based on its current viewof the problemsolving situation (including the commitments it has made), and a utility function. Thecoordination mechanisms supply non-local viewsof problemsolving to the local scheduler, including what non-localresults will be available locally, and whenthey will be available. Thelocal scheduler creates (and monitors the execution of) schedules that attempt to maximizegroup quality through both local action and the use of non-local actions (committedto by other agents). One way to think about this work is that the GPGPapproach views coordination as modulatinglocal control, not supplantingit--a twolevel process that makesa clear distinction betweencoordination behavior and local scheduling. This process occurs via a set of coordination mechanisms that post constraints to the local scheduler about the importanceof certain tasks and appropriate times for their initiation and completion.Byconcentrating on the creation of local schedulingconstraints, weavoid the sequentiality of schedulingin the original PGPalgorithm [12] that occurs whenthere are multiple plans. By having separate modulesfor coordinationand local scheduling,wecan also take advantageof advancesin realtime scheduling algorithms to producecooperative distributed problemsolving systems that respondto real-time deadlines. Wecan also take advantageof local schedulersthat havea great deal of domainscheduling knowledgealready encodedwithin them. Finally, our approach allows consideration of termination issues that were glossed over in the PGPwork(where termination was handledby an external oracle). This paper will also discuss howto decide wheneach mechanismshould be used and howthe mechanismsinteract, drawing on simple modelsof generic task structures and data from simulation experimentswheremultiple agent teams workin abstract task environments. The waythat we specify the family of algorithms in a general, domain-independentway (as responsesto certain environmentalsituations and interactions with a local scheduler) very important. It leads to the eventual construction of libraries of reusable coordination componentsthat can be chosen(customized)with respect to certain attributes of the target - 33- application. 1.1 The Task Environment Theobservation that no single organization or coordination algorithm is ’the best’ across environments,problem-solvinginstances, or evenparticular situations is a common one in the study of both humanorganizational theory (especially contingencytheory) [19, 14, 22] and cooperative distributed problemsolving [13, 11, 10, 8]. Keyfeatures of task environments demonstratedin both these threads of workthat lead to different coordination mechanisms include those related to the structure of the environment(the particular kinds and patterns of interrelationships or dependenciesthat occur betweentasks) and environmentaluncertainty (both in the apriori structure of any problem-solving episodeand in the outcome’sof an agent’s actions; for example,the presenceof both uncertainty and concomitanthigh variancein a task structure). This makesit importantfor a general approachto coordination(i.e., one that will be used in manydomains)to be appropriately parameterizedso that the overheadactivities associated with the algorithm, in terms of both communication and computation,can be varied dependinguponthe characteristics of the application environment. So far wehavemadetwo importantstatements: that there is ampleevidencethat no single coordinationalgorithm is ’the best’ across different environments,and that we are going to describe a family of coordinationalgorithms. That weneeda family of algorithmsfollows from the first statement;wewill nowbriefly discusshowthat familyis organized.At the mostabstract level, each of the five mechanisms weare about to describe are parameterizedindependently (the first twohavethree possiblesettings and the last three can be in or out) for a total of combinations. Manyof these combinationsdo not showsignificantly different performance in randomlygeneratedepisodes, as will be discussedin the experiments(Section 3), although they mayallow for fine-tuning in specific applications. Moremechanisms can (and have) been addedto expandthe family, but the family can also be enlarged by makingeach mechanism moresituation-specific. For example,mechanisms can have their parametersset by a mapping from dynamicmeta-level measurementssuch as an agent’s load or the amountof real-time pressure. Mechanisms canbe ’in’ or ’out’ for individualclasses of task groups,or tasks, or even specific coordinationrelationships, that re-occur in particular environments.Thecross product of these dynamicenvironmentalcues provides a large but easily enumeratedspace of potential coordination responses that are amenableto the adaptation of the coordination mechanisms over time by standard machinelearning techniques. In the experimentalsection of this paper wewill only consider the coarsest parameterizationof the mechanisms. Thereader should keep in mindwhenreading about the various coordinationtechniques that wehaveexplicitly stated that they will not be useful in everysituation. Instead, our purposeis to carefully describethe mechanisms and their interactions so that a decision about their inclusion in an application can be madeanalytically or experimentally(wewill present an examplein Section 3). 1.1.1 Uncertainty Less uncertainty in the environmentmeansless uncertainty in the existence and extent of the task interdependencies,and less uncertaintyin local scheduling--thereforethe agentsneedless complexcoordination behaviors (communication,negotiation, partial plans, etc) [20]. For -34- example, one can have cooperation without communication[17] if certain facts are known about the task structure by all agents. In this paperagents will not havea priori information about the structure of an episode, but they will be able to get information about a subset of the structure after the start of problemsolvingmnosingle agent workingalone will be able to construct a view of the entire problem(task structure) facing the group. This lack of information (another form of environmentaluncertainty) can cause the local scheduler makesub-optimaldecisions. Someof this uncertaintywill arise fromdisparities in the objective (real) task structure and the subjective (agent-believed)task structure. For example,an agent maynot knowthe true duration of a methodand if the execution variance is high maynot even have a goodestimate. In this paper wewill be looking at environmentsthat do not have this characteristic (of large variancebetweenobjectivecharacteristics and subjectiveestimatesof those characteristics). Instead wewill focus on a secondsource of structural uncertainty--each agent has only a partial subjective viewof the current episode. 1.1.2 Taskinterrelationships Taskinterrelationships include the relationships of tasks to the performancecriteria by which we will evaluate a system, to the control decision structures of the agents whichmakeup a system, and to the performanceof other tasks. Wewill represent, analyze, and simulate the effects of task interrelationships using the T/EMS(Task Analysis, EnvironmentModeling,and Simulation)framework[9]. Theimportantfeatures of TIEMS include its layered description of environments (objective reality, subjective mapping to agent beliefs, generativedescriptionof the other levels across single problem-solving instances); its acceptanceof any performance criteria (based on temporallocation and quality of task executions);and its non-agent-centered point of view that can be used by researchers workingin either formal systemsof mental-state-induced behavior or experimentalmethodologies.TheT/EMSobjective subtask relationship indicates the relationship of tasks to system performancecriteria; the subjective mappingindicates the initial beliefs available to an agent’scontrol decisionstructures; variousnon-localeffects such as enables and facilitates indicate howthe executionof one task affects the duration or quality of another task. Whena relationship extendsbetweenparts of a task structure that are subjectively believedby different agents, wecall it a coordinationrelationship. Thebasic idea behind GeneralizedPartial GlobalPlanning (GPGP)is to detect and respondappropriately these coordinationrelationships. 1.1.3 Representing task environments Aprobleminstance (called an episodeE) is definedas a set of task groups,each with a deadline D(T), such as E = (~, T2,..., 7",,). Thetask groups (or subtasks within them)mayarrive different times(At(x)is the arrival time of task x), but in this paperthey will all arrive at start of problemsolving (like the classic DVMT). Whiletask groups are independentof one 1, another computationally the tasks within a single task groupare in general not independent. Figure 1 showsan objective task groupand agent A’s subjective viewof that task group. Atask groupconsists of a set of tasks related to one another by a subtask relationship that formsan acyclic graph(here, a tree). Thecircles higherup in the tree represent varioussubtasksinvolved 1 Except fortheuseof theprocessor(s) or otherphysical resources. - 35- in the task group, and indicate precisely howquality will accrue dependingon what leaf tasks are executed and when. Tasks at the leaves of the tree (without subtasks) represent methods, which are the actual computations or actions the agent will execute (in the figure, these are shown as boxes). The arrows between tasks and/or methods indicate other task interrelationships where the execution of some methodwill have a positive or negative effect on the quality or duration of another method. The presence of these interrelationships makethis an NP-hard scheduling problem; further complicating factors for the local scheduler include the fact that multiple agents are executing related methods, that somemethods are redundant (executable at more than one agent), and that the subjective task structure maydiffer from the real objective structure. This notation and associated semantics are formally defined in [9]. method (executable task) © taskwithquality accrualfunctionrain subtaskrelationship enablesrelationship facilitatesrelationship AgentAinitial subjecti~view AgentB initial subjecti’~view Figure1: AgentAandB’ssubjectiveviews(bottom)of a typicalobjectivetask group(top) 1.2 The AgentArchitecture The T/EMSframeworkmakes very few assumptions about the architecture of agents--agents are loci of belief and action. Agents have somecontrol mechanismthat decides on actions given the agent’s current beliefs. There are three classes of actions: methodexecution, communication, and information gathering. Methodexecution actions cause quality to accrue in a task group (as indicated by the task structure). Communicationactions are used to send the results methodexecutions (which in turn maytrigger the effects of various task interrelationships) meta-level information. Information gathering actions add newly arriving task structures, or newcommunications,to an agent’s set of beliefs. Formally, we write B~(a~) to mean agent A subjectively believes z at time ~ (from Shoham[21]). Wewill shorten this to B(~) when we don’t have a particular agent or time mind. An agent’s subjective beliefs about the current episode B(E) includes the agent’s beliefs about various task groups (e.g., B(7~ E E)), and an agent’s beliefs about each task group includes beliefs about the tasks in that task group (e.g., B(T~, M~E 7~)) and the relationships between these tasks (e.g., B(enables(T~, M~))). - 36, The GPGP family of coordination algorithms makesstronger assumptionsabout the agent architecture. Mostimportantly, it assumesthe presence of a local scheduling mechanism (to be described in the next section) that can decide what methodexecutionactions should take place and when.It assumesthat agents do not intentionally lie and that they believe what they are told (i.e. if agent A1tells agent A2at time tl with communicationdelay 8 that BA1(enables(Ta, Mb)), then B~2(enables(Ta,Mb)) where t2 > tl + ~ is the earliest time after the communicationarrives that agent A2 performs a newcommunicationinformation gathering action to read the messagefrom A1). However,because agents can believe and communicate only subjective information, they mayunwittingly transmit information that is inconsistent with an objective view (this can cause, amongother things, the phenomena of distraction). Finally, the GPGPfamily approach requires domain-dependentcode to detect or predict the presenceof coordinationrelationships in the local task structure [5]. In this paper wewill refer to that domain-dependent codeas the informationgathering action detectcoordination-relatiomhipr, wewill describethis action morein Section2.2. 1.3 The Local Scheduler Each GPGP agent contains a local scheduler that takes as input the current, subjectively believed task structure and produces a schedule of what methodsto execute and when.Using the informationin the subjective structure about the potential duration, potential quality, and relationships of the methods,it choosesand orders executable methodsin an attempt to maximize a pre-definedutility measurefor each task groupT. In this paperthe utility function is the sumof the task groupqualities. Thelocal scheduler attempts to maximizethis utility function U(E) = ~rev. Q(T,D(T)), Q(T,t) denotesthe qual ity of T at time t a s definedin [9].u Besidethe subjectivetask structure, the local schedulershouldaccepta set of commitments C from the coordination component.These commitments are extra constraints on the schedules that are producedby the local scheduler. For example,if method1 is executableby agent Aand method2 is executable by agent B, and the methodsare redundant,then agent A’s coordination mechanismmaycommitagent A to do method1 both locally and socially (commitmentsare directed to particular agents in the sense of the workof Shoham and Castelfranchi [1, 21]) by communicating this commitment to B (so that agent B’s coordination mechanism records agent A’s commitment,see the description of non-local commitments NLCbelow). This paper will use two types of commitments:C’(Do(T,q))is a commitment to ’do’ (achieve quality for) andis satisfied at the time t whenQ(T,t) _>q; the secondtype C’(DL(T, q, tat)) is a ’deadline’ commitment to do T by time tel and is satisfied at the time t when[Q(T,t) >_q] A [t <_ta].s AscheduleS producedby a local schedulerwill consist of a set of methodsand start times: S = {(Ml,tl), (M~,t2),..., (Mn, tn)}. The schedule mayinclude idle time, and the local scheduler mayproduce morethan one schedule uponeach invocation in the situation where not all commitments can be met. Thedifferent schedulesrepresent different waysof partially satisfying the set of commitments (see [15] and the next section). Thefunction Violated(S) returns the set of commitments that are believed to be violated by the schedule. For violated deadline commitmentsC(DL(T,q, tal)) Violated(S) th e fu nction Alt(C’, S’ ) re turns an 2Notethat quality does not accrueafter a task group’sdeadline. 3Othercommitments, such as to the earliest start time of a tack, mayalso proveuseful. -37- alternative commitmentC(DL(T,q,t~l)) where t~l = mint such that Q(T, t) >_ if such a t exists, or NIL otherwise. For a violated Do commitmentan alternative maycontain a lower minimumquality, or no alternative maybe possible. The final piece of information that is used by the local scheduler is the set of non-local commitmentsmadeby other agents NLC.This information can be used by the local scheduler to coordinate actions between agents. For example the local scheduler could have the property that, if method M1is executable by agent A and is the only method that enables method M~ at agent B (and agent B knows this Bs(enables(M1, M2))), and BA(C(DL(M1,q, BB(NLC), then for every schedule S produced by agent B, (M2, t) C S =~ t _> tl. The function Ue,t(E, S, NLC)returns the estimated utility at the end of the episode the agent follows schedule S and all non-local commitments in NLCare kept. Thus we may define the local scheduler as a function LS(E, C, NLC)returning a set of schedules S = {6’1, 6’2,..., 6’,,,}. Moredetailed information about this kind of interface between the local scheduler and the coordination componentmay be found in [15]. This is an extremely general definition of the local scheduler, and is the minimal one necessary for the GPGPcoordination module. Stronger definitions than this will be needed for morepredictable performance, as we will discuss later.^ Ideally, the optimal local scheduler would find both the schedule with maximumutility 6"u and the schedule with maximum utility that violates no commitments ~’¢. In practice, however, a heuristic local scheduler will produce a set of schedules wherethe schedule of highest utility Str is not necessarily optimal: ^ U(E, 6‘u, NLC) _< U(E, Su, NLC). 2 The Coordination Mechanisms The role of the coordination mechanismsis to provide constraints to the local scheduler (by modifying portions of the subjective task structure of the episode E or by makingcommitments in C) that allow the local scheduler to construct objectivelybetter schedules. The modulesfulfill this role by (variously) communicatingprivate portions of its task structures, communicating results to fulfill non-local commitments,and makingcommitmentsto respond to coordination relationships betweenportions of the task structure controllable by different agents or within portions controllable by multiple 4agents. The five mechanismswe will describe in this paper form a basic set that provides similar functionality to the original partial global planning algorithm as explained in [6]. Mechanism I exchanges useful private views of task structures; Mechanism2 communicatesresults; Mechanism 3 handles redundant methods; Mechanisms4 and 5 handle hard and soft coordination relationships. Moremechanismscan be added, such as one to update utilities across agents as discussed in the next section, or to balance the load better between agents. The mechanisms are independent in the sense that they can be used in any combination. If inconsistent constraints are introduced, the local scheduler wouldreturn at least one violated constraint in all its schedules, whichwouldbe dealt with as discussed in the next section. Since the local scheduler is boundedlyrational and satisfices instead of optimizing, it maydo this even if constraints are not inconsistent (i.e. it does not search exhaustively). 4We say a subtreeof a task structureis controllable byan agentif that agenthas at least oneexecutable method in that subtree. - 38- ¯ 2.1 The Substrate Mechanisms All the specific coordination mechanismsrest on a commonsubstrate that handles information gathering actions (new task group arrivals and receiving communications), invoking the local scheduler and choosing a schedule to execute (including dealing with violated commitments), and deciding whento terminate. Information gathering is done at the start of problem solving, wheneverthe agent is otherwise idle (but not ready to terminate), and whencommunicationsare expected from other agents. Communications are expected in response to certain events (such as after the arrival of a newtask group) or as indicated in the set of non-local commitmentsNLC. This is the minimal general information gathering policy. 5 Termination occurs for an agent when the agent is idle, has no expected communications, and no outstanding commitments. Choosinga schedule is more complicated. Fromthe set of schedules S returned by the local scheduler, two particular schedules are identified: the schedule with the highest utility Su and the best committedschedule So. If they are the same, then that schedule is chosen. Otherwise, we examine the sum of the changes in utility for each commitment. Each commitment, when created, is assignedthe estimated utility U,,t for the task group.of whichit is a part. This utility may be updated over time (when other agents depend on the commitment, for example). then choose the schedule with the largest positive change in utility. This allows us to abandon commitmentsif doing so will result in higher overall utility. The coordination substrate does not use the local scheduler’s utility estimate Ue,t directly on the entire schedule because it is based only on a local view, and the coordination mechanismmayhave received non-local information that places a higher utility on a commitment than it has locally. For example, at time t agent A may make a commitment C, on task T 6 T1 6 E that results in a schedule $1. 6’1 initially acquires the estimated utility of the task group of which it is a part, U(C~) +-- U,,t({T~},S1,BA(NLC)). Let U(C~) = 50. After communicating this commitment to agent B (making it part of BB(NLC),agent B uses the commitment to improve U~,t({T~}, Su, BB(NLC))to 100. A coordination mechanism can detect discrepancy and communicate the utility increase back to agent A, so that when agent A considers discarding the commitment, the coordination substrate recognizes the non-local autility of the commitment is greater than the local utility, If both schedules have the same impact, the one that is more negotiable is chosen. Every commitment has a negotiability index (high, medium,or low) that indicates (heuristically) difficulty in rescheduling if the commitmentis broken. This index is set by the individual coordination mechanisms. For example, hard coordination relationships like enables that cannot be ignored will trigger commitmentswith low negotiability. If the schedulesare still equivalent, the shorter one is chosen, and if they are the samelength, one is chosen at random. After a schedule S is chosen, if Violated(S) is not empty, then each commitmentC 6 Violated(S) is replaced with its alternative C +- C \ C U Alt(C, S). If commitmentwas madeto other agents, the other agents are also informed of the change in the 5Theminimalpolicy wouldexamineeach dementof NLCat the appointedtime and if the local schedule hadchanged so that the receptionof the informationwouldnolongerhaveanyeffect, the associatedinformation gatheringactioncouldbe skipped. awhileit is dear that withoutthis policythe systemof agentswill performnon-optimally, it is not dearhow often the situationoccursor whatthe performance hit is. Futureworkwill haveto examine the costsandbenefits of this policy; for this reason’we donot includethis mechanism among the five examined in this paper. - 39- commitment. Whilethis could potentially cause cascadingchangesin the schedulesof multiple agents, it generallydoesnot for three reasons: first, as wementioned in the previousparagraph less importantcommitments are brokenfirst; secondly,the resiliancy of the local schedulersto solve problemsin multiple waystends to dampout these fluctuations; and third, agents are time cognizantresource-boundedreasoners that interleave executionand scheduling(i.e., the agents cannotspendall day arguingover schedulingdetails and still meettheir deadlines). We have observedthis useful phenomenon before [7] and plan to analyzeit in future work. 2.2 Mechanism1: Updating Non-Local Viewpoints Remember that each agent has only a partial, subjective view of the current episode. Agents can, therefore, communicate the private portions of their subjective task structures to develop better, non-local, views of the current episode. Theycould even communicate all of their private structural information, in an attempt to developa global subjective view. TheGPGP mechanismdescribed here can communicateno private information (’none’ policy, no nonlocal view),or all of it (’all’ policy, globalview),or take an intermediateapproach(’some’policy, partial view): an agent communicates to other agentsonly the private structures that are related by somecoordination relationship to a structure knownby the other agents. Theprocess of detecting coordinationrelationships betweenprivate and shared parts of a task structure is in general very domainspecific, so in the experimentspresentedlater in the paper wemodelthis processby a newinformationgatheringaction, detect-coordination-relationships, that takes some fixed amountof the agent’s time. This action is chosenwhena newtask grouparrives (which adds newinformationto the agent’s private task structures). Theset P of privately believedtasks or methodsat an agent A(tasks believedat arrival time by Aonly) is then {z I Task(z) A~/a E A \ A, -~Ba(B~r(~’)(z))}, whereAis the agents and Ar(z) is the arrival time ofz. Giventhis definition, the action detect-coordinationrelationships returns the set of private coordinationrelationships PCR= {r I T1 E P AT2 P A [r(T1, T2) Vr(T2, T~)]} betweenprivate and mutually believed tasks. The action not return whatthe task T~is, just that a relationship exists betweenT1 and someotherwise unknown task T2. For example,in the DVMT, wehave used the physical organization of agents to detect that AgentA’Stask T1 in an overlappingsensor area is in fact related to someunknown task T2 at agent B (i.e. Ba(Bm(T2)))[6, 5]. The non-local view coordination mechanism then communicates these coordinationrelationships, the private tasks, and their context: if 7"(T1, Tz) E PCRand T1 C P then ~" and T1 will be communicatedby agent A to the set agents {a [Ba(Ba(T,))}. For example,Figure 2 showsthe local subjective beliefs of agents A and B after the communicationfrom one another due to this mechanism.Theagents’ initial local view was shownpreviouslyin Figure 1. In this example,Ts and T4 are two elementsin AgentB’s private set of tasks P, facilitates(T4, T~, ~bd, ~q) C PCR(the facilitation relates a private task a mutuallybelieved task), and enables(T4,Ts) is completelylocal to AgentB (it relates private tasks). At the start of this section wementionedthat coordinationrelationships exist betweenportions of the task structure controllable by different agents (i.e., in PCR)and within portions controllable by multiple agents. We’ll denotethe completeset of coordination relationships as CR;this includes all the elementsof PCRand all the relationships between non-privatetasks. Somerelationships are entirely local--betweenprivate tasks and are only of - 40- withqualitytask) ~ methodtask (executable accrual functionmin subtaskrelationship -). enablesrelationship ~ ~ facilitates Agent A’sview aftercommunication fromB relationship Agent B’sviewaftercommunication fromA Figure 2: Agents A and B’s local views after receiving non-local viewpoint communicationsvia mechanism1. Figure1 showsthe agents’initial states. concernto the local scheduler. Thepurposeof this coordinationmechanism is the exchangeof information that expandsthe set of coordination relationships CR.Withoutthis mechanism in place, CRwill consist of only non-private relationships, and none that are in PCR.Since the primary focus of the coordination mechanisms is the creation of social commitments in responseto coordinationrelationships (elements of CR),this mechanism can have significant indirect benefits. In environmentswhereI PCRItends to be small, very expensiveto compute, or not useful for makingcommitments (see the later sections), this mechanism can be omitted. 2.3 Mechanism2: CommunicatingResults The result communicationcoordination mechanismhas three possible policies: communicate only the results necessaryto satisfy commitments to other agents (the minimalpolicy); communicatethis informationplus the final results associated with a task group(’TG’ policy), and communicate all results (’all’ policy). Extra result communications are broadcast to all agents, the minimalcommitment-satisfyingcommunications are sent only to those agents to whomthe commitmentwas made(i.e., communicatethe result of T to the set of agents .[A }. e A IB(BA(C(T)) 2.4 Mechanism3: Handling Simple Redundancy Potential redundancyin the efforts of multiple agents can occur in several places in a task structure. Anytask that uses a ’max’quality accumulationfunction (one possible semantics for an ’OR’node)indicates that, in the absenceof other relationships, only one subtaskneeds to be done. Whensuch subtasks are complexand involve manyagents, the coordination of these agents to avoidredundantprocessingcan also be complex;wewill not address the general redundancyavoidanceproblemin this paper (see instead [20]). In the original PGPalgorithm and domain(distributed sensor interpretation), the primary form of potential redundancy was simple methodredundancy--the sameresult could be derived from the data from any of a numberof sensors. The coordination mechanismdescribed here is meant to address this -41- simpler form of potential redundancy. The idea behind the simple redundancy coordination mechanism is that when more than one agent wants to execute a redundant method, one agent is randomly chosen to execute it and send the results to the other interested agents. This is a generalization of the ’static’ organization algorithm discussed by Deckerand Lesser [8]--it does not try to load balance, and uses one communicationaction (because in the general case the agents do not knowbeforehand, without communication, that certain methods are redundantT). The mechanismconsiders the set of potential redundancies RCR= {r E CR I [r = subtask(T,M, min)] A [VM M, method(M)]}. Then for all methods in the current schedule S at time t, if the methodis potentially redundant then commit to it and send the commitmentto Others(M) (non-local agents who also have a method in M): [<M, tM> e S] A [subtask(T,M, min) ¯ RCR] [M eM] :::> [C(Do(M,Q..t(M,D(M),S))) [Comm(M,Others(M),t) A e See for example the top of figure 3--both agents committo Do their methods for T1. After the commitment is made, the agent must refrain from executing the method in question if possible until any non-local commitmentsthat were madesimultaneously can arrive (the communicationdelay time 8). This mechanismthen watches for multiple commitments the redundant set (subtask(T,M, min) C RCR, M1 E M,/I//2 C C(Do(MI,q))E C, a and BB(C(Do(M2, q))) NL C) and if they appear, a u ni que age nt is chosen ran domly (but identically by all agents) from those with the best commitmentsto keep its commitment. All the other agents can retract their commitments.For example the bottom of figure 3 shows the situation after Agent B has retracted its commitmentto Do B1. If all agents follow the same algorithm, and communication channels are assumed to be reliable, then no second message(retraction) actually needs to be sent (because they all choose the sameagent to do redundant method). In the implementation described later, identical random choices are made by giving each methoda unique randomidentifier, and then all agents choose the methodwith the ’smallest’ identifier for execution. Initially, all Do commitmentsinitiated by the redundant coordination mechanismare marked highly negotiable. Whena redundant commitmentis discovered, the negotiability of the remaining commitment is lowered to mediumto indicate the commitment is somewhat more important. 2.5 Mechanism4: Handling HardCoordination Relationships Hard coordination relationships include relationships like enables(M1,/1//2) that indicate that M1must be executed before M2in order to obtain quality for M2. Like redundant methods, hard coordination relationships can be culled from the set CR. The hard coordination "rThedetectionof redundantmethodsis domain-dependent, as discussedearlier. Sinceweare talking here aboutsimple,direct redundancy (i.e. doingthe exactsamemethod at morethanoneagent)this detectionis very straight-forward. SRead"21//1 and M2are redundant,and I amdoingMIand I knowthat B has committed to meto do Mu". - 42- Agent A ~t view after rommunicationflom B O/(T4,50,5) [M¢ch#5] Agent B’s view after communicationfiom A 1 12 t~5 Agent A’s view after recieveing B’s commitments t!lO " AgentB’s view after r~ceiving A ’s commitments Figure3" Acontinuation of FiguresI and2. Attop: agentsAandBproposecertaincommitments to oneanother via mechanisms 3 and5. Atbottom:after receivingthe initial commitments, mechanism 3 removes agentB’s redundantcommitment. mechanism further distinguishes the direction of the relationship---the current implementation only creates commitments on the predecessors of the enables relationship. We’ll let HPCR C CRindicate the set of potential hard predecessor coordination relationships. The hard coordination mechanism then looks for situations wherethe current scheduleS at time t will producequality for a predecessorin HPCR, and commitsto its executionby a certain deadline both locally and socially: [Q..~(T,D(T),S) > O] A ::=> [C(DL(T,Q..t(T,D(T),S),t.,,~Iy)) [enables(T, M) HPCR] [Comm(C,Others(M),t) C]A The next question is, by what time (tearly above) do we committo providing the answer? Onesolution, usable with any local schedulerthat fits our general description in Section1.3, is to use the mint such that Qe,t(T,D(T),S) > 0. In our implementation, the local schedulerprovidesa queryfacility that allowsus to proposea commitment to satisfy as ’early’ as possible (thus allowingthe agent on the other end of the relationship moreslack). Wetake - 43. advantageof this ability in the hard coordination mechanismby adding the newcommitment C’(DL(T,Q,,t(T,D(T),S),"early")) to the local commitments6’, and invoking the local scheduler LS(E, C, NLC)to produce a newset of schedules S. If the preferred, highest utility scheduleSu E S has no violations (highly likely since the local scheduler can simply return the samescheduleif no better one can be found), wereplace the current schedulewith it and use the newschedule,with a potentially earlier finish time for T, to providea value for te,,rly. Thenewcompletedcommitment is entered locally (with low negotiability) and sent the subset of interested other agents. If redundant commitmentsare madeto the sametask, the earliest commitmentmadeby any agent is kept, then the agent committingto the highest quality, and any remainingties are broken by the samemethodas before. Currently, the hard coordination mechanismis a proactive mechanism,providing informationthat mightbe used by other agents to them, while not putting the individual agent to any extra effort. Other future coordination mechanisms mightbe addedto the family that are reactive and request fromother agents that certain tasks be doneby certain times; this is quite different behaviorthat wouldneedto be analyzedseparately. 2.6 Mechanism 5: HandlingSoft Coordination Relationships Soft coordinationrelationships are handledanalogouslyto hard coordinationrelationships except that they start out with high negotiability. In the current implementation the predecessor of a facilitates relationship is the only one that triggers commitments across agents, although hindersrelationships are present. Thepositive relationship facilitates(M1, M2,~d, ~q) indicates that executingM1before M2decreases the duration of M2by a ’power’factor related to ~b,t and increases the maximum quality possible by a ’power’factor related to 4~, (see [9] for the details). A moresituation-specific version of this coordination mechanism mightignore relationships with very low ’power’.Therelationship hinders(M1,M2,~bd, qSq)is negativeand indicates an increase in the duration of M2and a decrease in maximum possible quality. A coordination mechanismcould be designedfor hinders(and similar negative relationships) and addedto the family. To be proactive like the existing mechanisms,a hinders mechanism wouldworkfrom the successors of the relationship, try to schedulethemlate, and committo an earliest start time on the successor. Figure 3 showsAgentB makinga Dcommitment to do methodB4, whichin turn allows AgentA to take advantageof the facilitates(T4, T1, 0.5, 0.5) relationship, causingmethodA1to take only half the time and produce1.5 times the quality. 3 Experimentsin Generalized Partial Global Planning In this final section wewill discuss experimentswehave conductedwith our implementation of theseideas: ¯ Methodologically, howshould we decide whenthe addition of a particular mechanism is warranted? ¯ Whatis the performanceof a system using all the mechanismscomparedto a system that only broadcastsresults? Compared to a systemwith a centralized scheduler? -44. ¯ Whatis the performancespace of the GPGP family, as delineated by the five existing mechanisms? As we have stated several times in this paper, we do not believe that any of the mechanisms that collectively form the GPGP family of coordination algorithms are indispensable. What we can do is evaluate the mechanismson the terms of their costs and benefits to cooperative problemsolving both analytically andexperimentally. This analysis and experimentationtakes place with respect to a very general task environmentthat does not correspondto a particular domain.Doing this producesgeneral results, but weakerthan wouldbe possible to derive in a single fixed domainbecause the performancevariance between problemepisodes will be far greater than the performance varianceof the different algorithmswithin a single episode. Still, this allows us to determinebroadcharacteristics of the algorithmfamily that can be used to reducethe search for a particular set of mechanism parametersfor a particular domain(with or without machinelearning techniques). Wewill also discuss statistical techniquesto deal with the large between-episodevariances that occur whenusing randomly-generatedproblems. Ourmodelof an abstract task environmenthas ten parameters;Table 1 lists themand the values used in the experimentsdescribedin the next two sections. Parameter MeanBranchingfactor (Poisson) MeanDepth(Poisson) MeanDuration(exponential) Redundant Method QAF Number of task groups TaskQAFdistribution Values(facilitation exps.) 1 3 10 Max 2 (20%/80%rain/max) HardCRdistribution (10%/90%enables/none) Soft CRdistribution (80%/10%/10% facilitates/hinders/none) Chanceof overlaps(binomial) FacilitationStrength 10% .1.5.9 Values(dusterin~exps.) 1 3 (1 10 100) Max (1 5 10) (50%/50%rain/max) ( 100%/0%rain/max) (0%/100%enables/none) (50%/50%enables/none) (0%/10%/90% facilitates/hinders/none) (50%/10%/40% facilitates/hinders/none) (0% 50% 100%) .5 Table1: Environmental Parameters usedto generatethe random episodes The primary sources of overhead associated with the coordination mechanismsinclude action executions (communicationand information gathering), calls to the local scheduler, and any algorithmic overhead associated with the mechanismitself. Table 2 summarizesthe total amountof overhead from each source for each coordination mechanismsetting and the coordination substrate. L represents the length of processing (time before termination), and d is a general density measureof coordination relationships. Webelieve that all of these amountscan be derived from the environmental parameters in Table 1, they can also be measuredexperimentally. Interactions between the presence of coordination mechanisms and these quantities include: the numberof methodsor tasks in E, which depends on the non-local view mechanism;the numberof coordination relationships ICRI or the subsets RCR, HPCR,SPCR, which depends on the number of tasks and methods as well; and the numberof commitmentsI C[, which depends on each of the three mechanismsthat makes commitments.The relationships between these quantities can be modeledand verified using methodssimilar to those in [8]. -\ - 45 \ Mechanismsetting Communications substrat¢ 0 nlv none 0 some 0(dP) all 0(P) comm min o(c) TG o(c+ E) all redundant on hard on soft on O(M~ E) 0(RCR) 0(IIPCR) 0(SPCR) InformationGathering E + idle 0 E detect.CRs E detect-CRs 0 0 0 0 0 0 Scheduler L 0 0 0 0 0 0 0 0(HPCR) O(SPCR) Other Overhead o(r,c) 0 O(Te ~) O(TE ~) O(C) O(C+ ~) O(M~ ~) 0(RCR * S + OR) O(HPCR ¯ 5 + CR) O(SPCR ¯ S + CR) Table 2: Overheadassociated with individual mechanisms at each parametersetting Decidingto add a mechanism.A practical question to ask is simply whether the addition of a particular mechanismwill benefit performancefor the system of agents. Here we give an examplewith respect to the soft coordination mechanism,which will makecommitments to facilitation relationships. Weran 234 randomlygenerated episodes (generated with the environmentalparametersshownin Table 1) with four agents both with and without the soft coordination mechanism.Becausethe variance betweenthese randomlygenerated episodes is so great, wetook advantageof the paired responsenature of the data to run a non-parametric Wilcoxonmatched-pairs signed-ranks test [3]. This test is easy to computeand makesvery fewassumptions--primarilythat the variables are interval-valued and comparablewithin each blockof paired responses.For each of the 234blocks wecalculated the difference in the total final quality achieved by each group of agents and excluded the blocks wherethere wasno difference, leaving 102blocks. Wethen replace the differences with the ranks of their absolute values, and then replace the signs on the ranks. Finally wesumthe positive and negativeranks separately. AstandardizedZ score is then calculated. Asmall value of Z meansthat there was not muchconsistent variation, while a large value is unlikely to occur unless one treatment consistently outperformedthe other. In our experiment,the null hypothesisis that the system with the soft coordination mechanism did the sameas the one withoutit, and our alternative is that the systemwith the soft coordination mechanism did better (in terms of total final quality). Theresult here wasg = -6.9, whichis highly significant, and allowsus to reject the null hypothesisthat the mechanism did not have an effect. PerformanceIssues. Another question is howthe performanceof a fully configured system compareswith optimal performance.While wehave no optimal parallel scheduler with which to compareourselves, wedo havea single agent optimalschedulerand a centralized, heuristic parallel scheduler that takes the single-agent optimalscheduleas its starting point. In 300 paired response experimentsbased on the sameenvironmentalparametersas the facilitation experiments(Table 1), the centralized parallel scheduler outperformedour distributed, GPGP agents 57%of the time (36%no difference, 7%distributed wasbetter) using the total final quality as the only criterion. TheGPGP agents produced85%of the quality that the centralized parallel schedulerdid, on average. Theseresults needto be understoodin the proper context-the centralized scheduler takes muchmoreprocessing time that the distributed scheduler and can not be scaled up to larger numbersof methodsor task groups. Thecentralized scheduler also starts with a global view of the entire episode. XVealso lookedat performancewithout - 46, any of the mechanisms; on the same 300 episodes the GPGPagents produced on average 1.14 times the final quality of the uncoordinated agents. These experiments had very low numbers of enables relationships, which tend to hurt the uncoordinated agents, and also remember that we are only looking at one performance measuremtotal final quality. Coordinated agents execute far fewer methodsbecause of their ability to avoid redundancy, but this does not show up in final quality because there is no real-time pressure in these 300 episodes (we kept the time pressure constantly low). The redundant execution of methods proves a muchmore hindering element to the uncoordinated agents whenacting under severe time pressure [4]. Examining the family’s performance space. Next we looked at the multidimensional performance space for the family of coordination algorithms over four different performance measures. Earlier we mentioned that although our simple initial parameterization results in 72 possible coordination algorithms, manyof these are not statistically different from one another in randomly generated environments. Weapplied two standard statistical clustering techniques to develop a muchsmaller set of significantly different algorithms. The resulting five ’prototypical’ combinedbehaviors are a useful starting point in evaluating the family in a new environment. ! ! ¯ 2.0 ¯ I ¯ -I- o 1.0 ~o I | I I 0.0 ~-1.0 -2.0 4I I Balanced Mute Myopic I I I Simple Balanced Tough I Mute Myopic I I Simple Tough 3 2.0 2 , 1.0 ~ -1/- 1-" 0.0 ~ 0 .......... 91.0 # -2.0 -3.0 I Balanced I I Mute Myopic Simple I -3 Tough Balanced Mute Myopic Simple Tough Figure4: StandardizedPerformance by the 5 namedcoordinationstyles. The analysis proceeded as follows: for 63 randomly chosen environments, we generated one random episode and ran each of the 72 "agent types" on the episode (4536 cases). \, - 47- collected four performance measures: total quality, number of methods executed, number of communicationactions, and termination time. Wethen took this data and standardized each performance measure within an environment. So now each measure is represented as the number of standard deviations from the mean value in that environment. Wethen took summary statistics for each measure grouped by agent types--this boils the 4536 cases (standardized within each environment) into 72 summarycases (summarized across environments). Each the 72 summaries correspond to the average standardized performance of one agent-type for the four performance measures. Wethen used both a hierarchical clustering algorithm (SYSTATJOIN with complete linkage) and a linear clustering algorithm (SYSTATKMEANS) produce the following general prototypical agent classes (we chose one representative algorithm in eachclass): Simple: No commitmentsor non-local view, just broadcasts results. Myopic: All commitment mechanisms on, but no non-local view. Balanced: All mechanisms on. Tough-guy: Balanced agent that makes no soft commitments. 9Mute: No communication whatsoever KMEANS also produces the mean value of each performance measure for each group, so you can in fact see that the non-communicatingagents have a high negative mean"number-ofcommunications"(- 1.16-remember these were averaged from standardized scores) but execute more methods on average and produce less final quality. They also terminate slightly quicker than average. Our "Balanced" group, in comparison, communicatesa little more than average, executes manyfewer methods(- 1.29--wayout on the edge of this statistic), returns better-thanaverage quality and about average termination time. This is reasonable, as ’avoiding redundant work’ and other work-reducing ideas are a key feature of the GPGPalgorithm. Figure 4 shows the values of several typical performance measures for only the five named types. Performancemeasures were standardized within each episode, (i.e. across all 72 types). Shown for each are the means and 10, 25, 50, 75, and 90 percent quantiles. All agents’ performances are significantly different by Tukey Kramer HSDexcept for: MethodExecution (Simple vs. Mute), Total final quality (Balanced vs. Tough), Deadlines missed (simple mute) and (balanced vs. tough). Weare also analyzing the effect of environmental characteristics on agent performance. Figure 5 shows an example of the effect of the a priori amount of overlap on the number of method execution actions for the five namedagent types. Note again that the balanced and tough agents do significantly less work whenthere is a lot of overlap (as wouldbe expected). The performance of the tough and balanced agents is similar because (from Table 1) only half the experiments had any facilitation, and whenit was present was only at 50 4 Conclusions and Future Work This paper discusses the design of an extendable family of coordination mechanisms, called Generalized Partial Global Planning (GPGP),that form a basic set of coordination mechanisms 9This algorithm makesno commitments (mechanisms 3, 4, and 5 off) and communicates (mechanism only ’satisfied commitments’--therefore it sendsno communications ever!. - 48~ !# o L Mute .~ + g Myopic .~ ~ + ~"" -1 -2 ............. ouch i " I Balanced * + -3 ÷ I -0.1 ]l i I I I I I I I I I I 0.1 0.3 0.5 0.7 0.9 1.1 Overlap Figure5: Theeffect of overlapsin the task environment on the standardizedmethodexecutionperformance by the 5 namedcoordination styles (smoothed splines fit to the means). for teams of cooperative computational agents. An important feature of this approach includes an extendable set of modular coordination mechanisms, any subset or all of which can be used in response to a particular task environment. This subset maybe parameterized, and the parameterization does not have to be chosen statically, but can instead be chosen on a task-group-by-task-group basis or even in response to a particular problem-solving situation. For example, Mechanism5 (Handle Soft Predecessor CRs) might be "on" for certain classes of tasks and ’off’ for other classes (that usually have few or very weaksoft CRs). The general specification of the GPGPmechanismsinvolves the detection and response to certain abstract coordination relationships in the incoming task structure that were not tied to a particular domain. A careful separation of the coordination mechanismsfrom an agent’s local scheduler allows each to better do the job for which it was designed. A complete discussion of the scheduler/decision-maker interface can be found in our companionpaper [15]. Webelieve this separation is not only useful for applying our coordination mechanismsto existing problems with existing, customized local schedulers, but also to problems involving humans(where the coordination mechanismcan act as an interface to the person, suggesting possible commitments for the person’s consideration and reporting non-local commitmentsmadeby others). Applicationdesigners will find this general specification of partial global planning coordination behaviors easier to adapt to their domainsthan the original distributed vehicle monitoring testbed implementation. Whatis required to use GPGPor similarly designed algorithms is a local scheduler that can handle local and non-local commitmentsand can communicate via task structures (the interface is fully described in [15]). GPGPalso requires domain-dependent code to detect potential coordination relationships to other agents and verify their presence after non-local information has been received. This paper has outlined the overhead involved with each mechanism, and discussed experimental techniques for demonstrating improved performance in an application. Future work will involve elaborating and validating models .49 - of these coordination mechanismsthat link environmentalparameters to both overheadand performance. Wealso discussedhowto limit the initial searchfor a suitable application-specific coordination algorithm by using prototypical algorithm family members. Worknot reported here includes the developmentof a load-balancing coordination mechanismthat worksby providingbetter informationto the agents with whichto resolve redundant commitments. More mechanisms, and more complex mechanismsare possible; for example, mechanisms that workfrom the successors of hard and soft relationships instead of the predecessors, or negotiation mechanisms.Mechanismsfor behavior such as contracting are also possible. As always, the importantquestion will be "in whatenvironmentswill the extra overheadof these mechanismsbe worthwhile." Future workwill also examineexpandingthe parameterization of the mechanismsand using machinelearning techniques to choose the appropriate parametervalues (i.e., learning the best family member for an environment). References [1] C. Castelfranchi. Commitments: fromindividual intentions to groupsand organizations. In MichaelPrietula, editor, A/andtheories of groups& organizations: Conceptualand Empirical Research. AAAIWorkshop,1993. WorkingNotes. [2] Philip R. Cohenand HectorJ. Levesque.Intention is choice with commitment. Artificial lnteUigence,42(3), 1990. [3] W.W. Daniel. Applied NonparametricStatistics. Houghton-Mifflin,Boston, 1978. [4] Keith S. Decker.EnvironmentCenteredAnalysis and Designof CoordinationMechanisms. PhDthesis, University of Massachusetts,1994. [5] Keith S. Decker, Alan J. Garvey, MartyA. Humphrey, and Victor R. Lesser. Effects of parallelism on blackboardsystemscheduling. In Proceedingsof the Twelfth IJCALpages 15-21, Sydney,Australia, August1991. Extendedversion in International Journal of Pattern Recognitionand Artificial Intelligence 7(2) 1993. [6] Keith S. Deckerand Victor R. Lesser. Generalizingthe partial global planningalgorithm. International Journal of Intelligent and CooperativeInformationSystems, 1(2):319-346, June 1992. [7] Keith S. Deckerand Victor R. Lesser. Analyzinga quantitative coordinationrelationship. GroupDecisionand Negotiation, 2(3): 195-217,1993. [8] Keith S. Deckerand Victor R. Lesser. Anapproachto analyzing the needfor meta-level communication.In Proceedingsof the Thirteenth IJCAI, Chamb~ry,August1993. [9] Keith S. Decker and Victor R. Lesser. Quantitative modeling of complexcomputational task environments.In Proceedingsof the EleventhNationalConferenceon Artificial Intelligence, pages 217-224,Washington,July 1993. Coordinationas distributed search in a hierarchical [10] E. H. Durfeeand T. A. Montgomery. behavior space. IEEETransactions on Systems, Man,and Cybernetics, 21(6):1363-1378, November1991. [II] EdmundH. Durfee, Victor R. Lesser, and Daniel D. Corkill. Coherent cooperation amongcommunicatingproblemsolvers. IEEETransactions on Computers,36(11):12751291, November1987. [12] E.H. Durfee and V.R. Lesser. Partial global planning: A coordination frameworkfor distributed hypothesis formation. IEEETransactionson Systems, Man,and Cybernetics, 21(5):1167-1183, September 1991. [13]MarkS. Fox. Anorganizationalviewof distributed systems. IEEETransactionson Systems, Man,and Cybernetics,11 (1) :70-80, January1981. [14] J. Galbraith. OrganizationalDesign. Addison-Wesley,Reading, MA,1977. [15]Alan Garvey, Keith Decker, and Victor Lesser. A negotiation-based interface between a real-time scheduler and a decision-maker. CSTechnical Report 94--08, University of Massachusetts, 1994. [16] Alan Garveyand Victor Lesser. Design-to-timereal-time scheduling. IEEETransactions on Systems, Man,and Cybernetics, 23(6), 1993. Special Issue on Scheduling,Planning, and Control. [17] M. R. Genesereth, M. L. Ginsberg, and J. S. Rosenschein. Cooperation without communication.In Proceedings of the FiShNationalConference on Artificial Intelligence, pages 51-57, Philadelphia, PA., August1986. [18] N. R. Jennings. Commitmentsand conventions: The foundation of coordination in multi-agent systems. The KnowledgeEngineeringReview, 8(3):223-250, 1993. [19] Paul Lawrenceand Jay Lorsch. Organizationand Environment.HarvardUniversity Press, Cambridge, MA,1967. [20] V. R. Lesser. Aretrospective viewof FA/Cdistributed problemsolving. IEEETransactions on Systems, Man,and Cybernetics, 21 (6): 1347-1363,November 1991. A simple agent [21]YoavShoham.AGENT0: language and its interpreter. In Proceedings of the Ninth NationalConferenceon Artificial Intelligence, pages 704-709,Anaheim,July 1991. [22] Arthur L. Stinchcombe.Information and Organizations.University of California Press, Berkeley, CA,1990. [23]Frankv. Martial. CoordinatingPlansof Autonomous Agents. Springer-Verlag,Berlin, 1992. LectureNotesin Artificial Intelligence no. 610. ¯ -$1- -