Coordinated Problem Solvers

0 downloads 0 Views 1012KB Size Report
the organization to the proper handler within the organization; the job of the manager is thus primarily ..... MCCS-86-68, Comput. Res. Lab., New Mexico State ...
ANNUAL REVIEWS

Annu. Rev. Comput. Sci. 1990.4:203-53 Copyright © 1990 by Annual Reviews Inc. All rights reserved

Further

Quick links to online content

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS Les Gasser Distributed Artificial Intelligence Group, Computer Science Department, University of Southern California, Los Angeles, California 90089-0782

Randall

W. Hill,

Jr.

Distributed Artificial Intelligence Group, Computer Science Department, University of Southern California, Los Angeles, California 90089-0782 and Jet Propulsion Laboratory, 4800 Oak Grove Drive, MS 125-123, Pasadena, California 9 1 1 09

CONTENTS 1. 2.

MOTIVATION FOR COORDINATED PROBLEM SOLVING . ....................... ......................... ,

204

.......................

Specialized Research Domain Problems ......... ....... ......................................... Theoretical Characterizations........................................................................... Speech and Natural Language Processing (NLP) .......... ........................ ....... Manufacturing/Robotics................................................................................... Organizational Information Systems ................................................................ Air Traffic Control........................................................................................... Design.............................................................................................................. Distributed Sensing and Interpretation ............................................................. Monitoring and Control ...................................................................................

206 207 208 2 10 211 211 213 213 214 216

BASIC PROBLEMS FOR ENGINEERING COORDINATED PROBLEM SOLVERS .......................

216

CHARACTERISTICS OF TYPICAL PROBLEM AND APPLICATION DOMAINS

2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.

3 .1 3.2 3.3 3.4 3.5 3 .6 3.7 4.

.

.

.

.

.

217

Description, Decomposition, Distribution, and Allocation of Tasks................... Communication: Interaction Languages and Protocols ........................... ....... ... Coherent Collective Behavior ........................................................................... Modeling Other Agents and Organized Activity ............................................... Recognizing and Resolving Interagent Disparities............................................. Implementation Issues ........................ ............................................................. Practical Engineering Problems . ....... .............................................................

221 223 227 23 1 237 245

........................................... . ...................................... .......................

247

CONCLUSIONS

.

.

.

203 8756-7 0 16/90/ 1 1 1 5-0203$02.00

204 1.

GASSER

& HILL

MOTIVATION FOR COORDINATED PROBLEM

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

SOLVING

For many years, the field of AI has been concerned with the study of problem solving by people and machines. Yet until recently; problem solving in AI has been conceived almost wholly from the perspective of individual "intelligent agents" solving individual problems. We find this a bit strange, given the observable fact that so much human activity is social in nature. In general, it seems to us that most if not all human problem solving has social components. Even individual "expert" automated prob­ lem solvers take input from other agents, give output to other agents, and in general are designed, constructed, and invested with goals by numerous other agents. With the advent of large computer and telecommunications networks, the problem of integrating and coordinating many human and automated problem solvers working on multiple simultaneous problems has become a pressing concern. Just as "conventional" AI research has sometimes used individual human psychology or cognition as a model or driving metaphor, it has now become crucial to consider concepts such as group interaction, social organization, and society as metaphors and problem generators for AI. The branch of AI that is addressing problem solving and intelligent action from these perspectives is called variously Distributed Artificial Intelligence (DAI) and Coordinated (or Cooperative, or Distributed) Problem Solving (CPS or CDPS) (Bond & Gasser 1 988b; Decker 1987; Gasser & Ruhns 1989b; Rern 1988; Ruhns 1 987; Lesser & Corkill 1987; Rosenschein 1985a). Organized systems of coordinated problem solvers are now a research reality, and are rapidly becoming practical partners in critical human problem-solving environments. The growth and importance of coor­ dinated problem-solving systems are indisputable; there are at least four reasons for studying how to engineer them for real applications: •



Availability of the technology to support coordinated problem solving The advent of relatively inexpensive multiprocessor hardware and the improvements in network protocols have provided the oppor­ tunity to implement distributed computing systems. The reality of opportunity provides pressure to better understand the development of CPS systems (cf. Avouris et al 1 989; Brandau & Weihmayer 1 989; Ishida 1 989) . Limited capacity of individual intelligent processes to solve large problems There are problems too large or too complex to be solved by a single intelligent agent or process. The capacity of an agent is limited by its computing resources, its knowledge, and its perspective. Any one of

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS





205

these limitations may lead to an inability to solve a particular problem with a single monolithic program or agent. Simon ( 1 957) called this bounded rationality and claimed that it is one of the underlying reasons why people create organizations. Fox ( 1979, 1 9 8 1 ) extended the bounded rationality concept as a rationale for CPS systems using the concepts of complexity and uncertainty from contingency theories of organization (e.g. Lawrence & Lorsch 1 969) as reasons for solving large prob­ lems with collections of organized intelligent agents. Organized collec­ tions of intelligent agents could solve more complex problems, and could be more adaptive than single-agent, single-perspective problem solvers. Research purposes We would like to build CPS systems purely for research purposes, as testbeds for distributed reasoning and per­ formance studies (cf Cohen et al 1 989; Durfee & Montgomery 1 989; Gasser et al 1 987b; Lesser & Corkill 1 983). "Real" problems involve distributed, open systems All real systems are both open and distributed (Davis 1 980; Gerson & Star 1986; Hewitt 1 986; Star 1 989). Closed-world assumptions (cf Reiter 1 978) can simplify some problems, eliminating many of the complexities in a real world by ignoring them. Rationality is often achieved in a system by making such simplifying assumptions. As we introduce systems of coordinated problem solvers as a means of tackling significant problems, many closed-world assumptions will no longer work.

Hewitt ( 1 985, 1 986) has identified a number of characteristics of open systems: •









Continuous change and evolution There is no such thing as static information, knowledge, or system structure. An appearance of stability is relative to the temporal perspective of the analyst. Arms-length relationships and decentralized decision making There are no global objects, only local states and control; agents must communi­ cate since they do not have access to one another's memory. Multiple perspectives, with perpetual inconsistency among knowledge bases Because of the previous points it is impossible to maintain con­ sistent knowledge. Needfor negotiation among system components Agents must negotiate for resources, for tasks, and for information when there is no centralized control and potentially no centralized authority or even viewpoint. Inadequacy of the closed-world assumption There is no such thing as a real closed world.

206 2.

GASSER & HILL

CHARACTERISTICS OF TYPICAL PROBLEM

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

AND APPLICATION DOMAINS

We would like to engineer CPS systems both for research purposes and for practical application. But which problems and problem domains will be amenable to CPS solutions? In part the answer to this question depends upon theories as yet unformulated. For example, researchers in CPS would most like to have a theory that relates features of domain problems and knowledge organization to choices on several major modeling, implemen­ tation, and performance questions (such as how to decompose tasks and how to communicate-see Section 3, below). The following are initial criteria for selecting domain-level DAr research and applications problems. These criteria help to identify domains in which a basic problem-solving issue is coordination among intelligent agents. Aspects important primarily for research focus are so marked. Decker et al (1989) give a detailed set of questions for evaluating research in CPS, which helps further define these dimensions. 1 . The domain problem should exhibit a hierarchical structure of time, knowledge, communication, goals, planning, or action. 2. There should be a "natural" (not forced) distribution of action, per­ ception, and/or control. 3. Interactions among agents should be required to solve the domain problem. (a) There should be some need for coordination among agents. This requirement is driven by the next two items. (b) Agents must require global information to make local decisions­ i.e. local decisions may have global impacts. (c) There should be the possibility for harmful interactions among agents, thereby encouraging the need for coordination via inter­ dependence. 4. There should be at least two agents. The problem may require scaling up in some interesting way, and it may suggest at least the possibility to scale up to more than two agents. 5. Resource limitations should be a factor in the problem and for the agents. (a) Each agent should have limited processing power relative to that needed to solve the entire problem. (b) There should be some communication limits in time, bandwidth, etc, so that a global viewpoint, controller, or solution is not possible. 6. There should be some role for differential authority and responsibility in solving the problem-e.g. for linking knowledge or perspective with control and performance.

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS

207

7. There should be the possibility for varying levels of exceptions and/or uncertainty in the problem (to exploit multi-perspective reasoning). 8. It should be possible for agents to have different abilities. 9. (Research) For CPS research, the problem must be easily tractable in the domain when the focus is on coordination and joint problem­ solving methods. 1 0. (Research) The experimental domain problem should be generalizable to other domain problems in useful or interesting ways, so that the research results will also be generalizable. Many of the other criteria below derive from this one. II . (Research) The problem should be workable within the constraints of the dilemma of realism. Briefly, this dilemma is the trade-off between the need to incorporate enough complexity to reflect realistic problems and performance, enough simplicity to be generalizable and explore foundational issues, and a good rationale for using an approach based on declarative knowledge at the "knowledge level" (Newell 1 982). 1 2. (Research) To study approaches to coordination, the requirements for coordination should vary with some variance in the problem, so that flexible coordination mechanisms are required. 1 3 . (Research) Different problem configurations must allow or disallow a global success criterion (to address open-systems issues). To illustrate how coordinated problem solving satisfies needs suggested by the criteria above, to introduce basic concepts used in a number of DAI/CPS theoretical and experimental approaches, and to show the depth and breadth of contemporary CPS research, we next present an overview of studies in several representative problem domains. Note particularly that each class of problem exhibits the symptoms of bounded rationality or of open systems, and that in each case it is possible or necessary to distribute the work among a set of problem solvers. 2.1

Specialized Research Domain Problems

The Intelligent Coordination Experiment (ICE) is a simulation testbed designed by Gasser and colleagues for experiments with different forms of control, organization, communication, and reasoning about the coor­ dination of problem solvers (Gasser 1 988b; Gasser et aI 1 989). An experi­ mental domain called the "coordinated rendezvous problem" [originally proposed in (Benda et al 1 985)] was constructed to exhibit the attributes common to many distributed or open systems while maintaining a sim­ plicity that would decrease the need for complex domain knowledge. The domain is a two-dimensional grid on which a set of intelligent agents may move north, south, east, and west. A collection of "blue" agents must

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

208

GASSER & HILL

simultaneously rendezvous with one or more autonomous "red" agents. Two agents may not occupy the same grid point simultaneously; they must compete or negotiate for a spatial position. Agents can sense events within a predefined range. They do not share memory; in order to communicate they must pass messages. The coordinated rendezvous is intended to fulfill the same role in dis­ tributed artificial intelligence and coordinated problem solving as the "blocks world" has in single-agent planning systems. Subsequently, others have adopted this domain to study coordinated problem solving (Durfee & Montgomery 1 989; Stephens & Merx 1 989), and Gasser and his col­ leagues have used it as a domain in which to discuss representations for adaptive coordination in organizations (Gasser 1 988a,b). In early CPS/DAI research, Corkill ( 1 979) actually used the blocks world as a framework for investigating distributed planning-plan for­ mulation by multiple coordinated planners. Georgeff ( 1 983) also used blocks-world planning as an example domain to illustrate his multi-agent plan-coordination techniques. In the late 1 970s and early 1 980s, Axelrod ( 1 984) empirically and theo­ retically investigated "inductive" development of cooperative decision­ making strategies for the prisoner's dilemma. He found that in iterated prisoner's dilemma and other similar games, a simple strategy of tit-far­ tat proved highly effective. While not directly CPS/DAI research, this work laid some theoretical groundwork later expanded upon in the DAI community. It provides a model for individual choice in particular com­ petitive situations but is not easily generalizable to more complex planning and coordination problems. 2.2

Theoretical Characterizations

Rosenschein, Genesereth, and Ginsberg have studied multi-agent decision­ making, coordination, and negotiation in the abstract using extensions of game-theoretic concepts (Genesereth et al 1 986; Rosenschein 198 5a). They employ payoff matrix representations of choice to derive constraints on agent rationality in both one-shot and iterated situations. They extend their notion of rational choice to define rational decision procedures. A rational decision procedure is one that no other decision procedure dominates. One procedure dominates another if it gives as good per­ formance in all situations and better performance in at least one situation. The notions of rational choice and decision procedures are extended to rational joint moves in (Rosenschein & Genesereth 1 985), and the foun­ dations for rational deal-making through offers of mutually rational sets of joint moves is developed. The basic motivation is circumstances where agents must act solely on the basis of models of other agents, foregoing

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS

209

any communication. Rosenschein & Breese ( 1 989) have extended these ideas to probabilistic noncommunicative interactions. In related work, Halpern, Moses, Mazer, and others have begun to investigate the knowledge-theoretic foundations of joint decision making and action. Halpern & Moses ( 1984) discuss the "coordinated attack problem" -a problem of each of two geographically distributed agents agreeing to act simultaneously only if the other will. They demonstrate that a solution to this problem of achieving "common knowledge" (about the intention to attack) is impossible without guaranteed communication in finite time. Related work has begun to explore other dimensions of know­ ledge-theoretic characterization of distributed systems. Mazer ( 1 988) has applied these studies to decision making in office systems. Research on Actors and Open Systems has been ongoing at the Massa­ chusetts Institute of Technology (MIT) since 1 973, led principally by Carl Hewitt (Agha & Hewitt 1 985; Agha 1 986a; Hewitt 1 977, 1 985, 1 986; Hewitt & de long 1 984). We include Actor systems among our domain case studies as an example of a computational model that addresses some of the basic issues for systems of coordinated problem solvers. It has become a prime candidate as a theoretical foundation for object-based concurrent pro­ gramming (OBCP), which provides a highly parallel implementation approach with a fundamentally distributed conception for DAI/CPS sys­ tems (Agha et al 1 988). The Actor model accounts for a class of problems rather than applying to a specific problem domain. The goal that has motivated much of this work has been to "construct systems whose behavior approximates the behavior of scientific societies. That is, the ultimate aim is to build systems which model the way scientists construct, communicate, test, and modify theories" (Hewitt 1 977). In the process of developing a computational model for the scientific community metaphor, Hewitt and his coworkers have identified a number of characteristics that real-world distributed systems exhibit, and used these to define the notion of open systems (Gerson & Star 1 986; Hewitt & de long 1 984; Hewitt 1 985, 1986). Much of the work with Actors has focused on developing a computational model to adequately describe and account for such an environment. The actor is the basic unit of analysis in this model. An actor is an abstract object defined by its behavior. The behavior of an actor is charac­ terized by the action it takes when it receives a message and by its use of a finite set of other actors it knows about, called its acquaintances (Hewitt 1 977). In more concrete terms, a behavior is simply a function of the incoming messages and involves sending new messages to other target actors, creating new actors, and specifying a replacement behavior. The replacement behavior is, in a sense, the actor's computed "identity in the

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

210

GASSER & HILL

future" since it is a specification of the behavior of the actor that will be at that address the next time a message is sent. An actor's identity is closely related to its behavior upon receipt of a message. A serialized actor is one that only processes one message at a time and that has the ability to change and retain its local state. Unserialized actors can process multiple messages in parallel but are unable to modify their local state. One of the underlying concepts of open systems is that they do not have a well-defined global state; hence, actors effect change by modifying only their local state (Hewitt & de Jong 1984). Huberman, Kephart, and colleagues have studied CPS/DAr systems by investigating the macro behavior of large collections of agents operating in "computational ecologies." While the agents are highly simplified models and homogeneous in character, the results help to indicate the boundary conditions within which potentially chaotic behavior is pre­ vented (Huberman 1988, Kephart et aI 1989). 2.3

Speech and Natural Language Processing (NLP)

The HEARSAY-II speech understanding system (Erman et al 1980), per­ haps the best known early CPS system, utilized a "community of experts" model. In HEARSAY-II, a collection of semantically different knowledge sources (KSs), working at different levels of abstraction, collectively solved speech recognition problems by opportunistically updating a shared data structure or blackboard. A scheduling system dynamically coordinated the activities of the KSs. HEARSAY-II was a primary precursor of much current experimental research in CPS, much of which exploits the black­ board model. Natural language communication among people is of course a multi­ agent problem, and it is no surprise that CPS researchers have found useful techniques and insights in this area. One of the earliest to articulate connections between DAI and NLP was Sacerdoti ( 1978). Subsequently, Rieger, Small, and Cullingford investigated multiprocess language-under­ standing programs, including the concept of "word experts" (Cullingford 198 1 ; Cullingford & Pazzani 1984; Rieger & Small 1 981). Bruce & Newman (1978) recognized that understanding the interacting plans of several agents in a story such as Hansel and Gretel called for maintaining separate belief spaces for each agent, and differentiating common and individual beliefs. Belief spaces have been extended by Wilks, Ballim, and others (Ballim 1 986; Wilks & Bien 1983). Finally, Cohen & Perrault (1979) established a formalism, based on a predicate calculus model of belief, in which to represent speech actions and how agents might plan them. This work laid a formal basis for integrating communication and planning in NLP, and has been suggested

COORDINATED PROBLEM SOLVERS

21 1

as a foundation for reasoning about communication in general multi-agent systems. Cohen & Levesque ( 1 987) extended this work as a way to model persistent intentions and the commitments of agents, an important step toward distributed reasoning about organization (Gasser 1 988a; Gasser et al 1 989).

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

2.4

ManufacturingIRobotics

Autonomous robots will one day be prevalent in a number of domains­ manufacturing, satellite repair operations, planetary surface exploration, and hazardous environment operations, to name a few. Much current development in these systems focuses on how a robot can interact with its environment or how the robot is to solve a specific problem, ignoring how it can coordinate its actions with other rohots or people. In order to function effectively in a multi-robot context, it is necessary for the robots to be able to coordinate their actions to avoid harmful interactions as well as to accomplish tasks requiring more than one robot. Some basic prob­ lems of dynamic worlds (e.g. multiple simultaneous processes) and of "teams" of interacting robots were stated by Fikes et al (1972). They suggested triangle tables as a means of representing interdependencies among actions, as a tool for decomposition of plans for robot teams. Others have used robotics and manufacturing domains to explore the generation and interleaving of multi-agent plans and how to reason about concurrent actions (Georgeff 1 983, 1 984, 1 986; Kamel & Syed 1 989), adaptive task allocation (Gasser 1987; Parunak 1 987), multi-agent learning (Shaw & Whinston 1 989), collaborative design (Bond 1 989), and multi­ process robot architecture (Elfes 1986; Harmon et aI 1 984).

2.5

Organizational Information Systems

As computer interconnectivity increases so does the potential for accessing data and specialized processing or knowledge capabilities distributed over a heterogeneous network of software systems and hardware architectures. The demand is for intelligent agents that can provide transparent access to information. To accomplish this the agents must be capable of reasoning about the knowledge available on the network, and of negotiating with other agents in order to access the data or capabilities at remote sites. In addition, the agents must be capable of handling complex queries requiring inference, deduction, abduction, and aggregation, all of which are prob­ lem-solving activities involving an element of coordination. For example, Rosenschein used belief and speech act formalisms modified from those developed by Cohen & Perrault ( 1 979) as a means of modeling multi-agent plan synchronization, which he applied to formatting and printing files using distributed resources (Rosenschein 1 982). Huhns et al ( 1987) and

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

212

GASSER & HILL

Mukhopadhyay et al ( 1 986) investigated intelligent agents that collabor­ ated for document retrieval. These agents learned users' retrieval patterns and developed heuristics for interpreting underspecified document requests and focusing search. Croft & Lefkowitz (1 987, 1 988) and Nirenburg & Lesser ( 1 986) examined how to support office work with planning and work tracking systems, and have focused on the development and representation of multi-agent plans. Fikes ( 1 982), too, studied cooperative work, and developed a notion of commitment for describing interlocking actions. The concept of commitment has been treated as a basic process of social and technical organization (Becker 1 960; Gerson 1976; Winograd & Flores 1 986). Gasser and colleagues ( 1989) have begun to use commitment as a foundation for reasoning about organization in DAI/CPS systems, and as part of a basic theory of DAI system performance. Barber ( 1983) began to integrate the ideas of office semantics, and in particular the issue of dealing with disparate points of view, in the OMEGA office support system. Hewitt ( 1 986) later expanded on these office semantics by inte­ grating open-systems ideas, and formulating the concepts of microtheories and due process for reasoning under inconsistency in open systems such as organizations. A number of tools and techniques in the organizational-systems domain investigate modeling and support for negotiation behavior, or use nego­ tiation as a basis for solving other kinds of problems (e.g. multi-agent planning or resource allocation). Indeed, Strauss and others have suggested that human social organization is a product of negotiation, in developing their negotiated order theory (Strauss et al 1 963; Strauss 1 978; Manning 1 977); by extension, it may also provide a framework for adaptive organ­ izations of automated agents (Gasser et al 1 989) . Negotiation comprises a range of activities-including information exchange, mutual selection of alternatives, commitment and agreement, bargaining, constraint relax­ ation, and value change-as tools for addressing conflict or aligning view­ points. Numerous researchers have built models of negotiation behavior with varying degrees of complexity. Sycara ( 1 988, 1 989) focuses on model­ ing the interacting goals and values of agents involved in labor negotiation. Sathi & Fox ( 1 989) investigated negotiation using constraint-based reason­ ing for dynamic resource allocation, while Goldstein ( 1 975) suggested explicit representation of differential preferences and constraint relaxation as ways of settling scheduling disputes. Conry et al ( 1986), and Kuwabara & Lesser ( 1989) have investigated iterative negotiation for plan refinement in the domain of telecommunications management. Adler et al ( 1 989) characterized six conflict resolution mechanisms that may be used in different negotiating scenarios. Computational, theoretical treatments of deal-making have been presented by Rosenschein & Genesereth ( 1 985),

COORDINATED PROBLEM SOLVERS

213

and other experimental, domain-independent negotiation schemes have been proposed in the Contract-Net framework of Davis & Smith ( 1983) and Smith ( 1 980) and using the partial global planning (PGP) techniques of Durfee ( 1989a).

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

2.6

Air Traffic Control

Air traffic control (ATC) is a problem requiring coordination along several different dimensions. Since control and communication are inherently decentralized and possibly error-prone, distributed automated ATC has appeared a promising domain for DAI/CPS systems. The most obvious challenge is to plan for the optimal use of resources such as the runway, terminal space, and the air space so as to avoid collisions among aircraft. Several phases of an aircraft's flight plan must be coordinated to include terminal departure, taxi to the runway, takeoff, ascent, flight path between control points, descent, landing, taxi, and terminal arrival. The agents of the coordination include the aircraft, the control tower, and the ground crew. The engineering problem in this domain is to design a coordination protocol to account for the planning and action involved with each phase of the aircraft's trip. Researchers at Rand in the early 1 980s investigated the performance of alternative architectures and communication policies for both air traffic control and remotely piloted vehicles (Cammarata et al 1 983; McArthur et al 1 982; Steeb et al 1 98 1 , 1 984, 1 986; Thorndyke et al 1 981). Findler & La ( 1986) extended this work with a blackboard-like control structure for distributed planning.

2.7

Design

Many design problems involve either resolution of constraints among multiple design perspectives, or collaborative design processes. For instance, very large scale integration (VLSI) design requires knowledge about circuits, gates, registers, instruction sets, architecture, and fab­ rication technology. Costs for VLSI design could be lowered through the use of parallel processing whereby the different tasks can be decomposed and distributed to a set of problem solvers. Owing to the partial view each problem solver has of the overall problem, coordination is required to insure that a coherent solution is found. Several architectures have been suggested for VLSI design by collaborating expert systems, including those of Ackland et al ( 1985), Ensor & Gabbe ( 1 986), and Yang et al ( 1 985). In other design domains, Lenat (1975) investigated distributed, auto­ mated program design in the implementation of his innovative Beings or PUP6 system. Beings were autonomous agents with common representa­ tional structures. The commonality allowed beings with different abstrac-

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

214

GASSER & HILL

tion levels or areas of expertise to collaborate by asking and answering questions about their common attributes. Bond (1989) studied the col­ laboration of experts in aircraft sheet metal design. He posed an approach based on "dialogue games" in which agents with individual private lan­ guages [related to Hewitt's "microtheories"(Hewitt 1 986)] and minimal shared knowledge can communicate to reach consensus on design solu­ tions. Kamel & Syed ( 1989) have investigated multi-agent planning for CAD. In the domain of architectural design, Klein et al ( 1 989) have done empirical investigations of conflict resolution in architectural design, and developed a preliminary computational model. 2.8

Distributed Sensing and Interpretation

Application domains such as distributed seismic-activity monitoring, battlefield sensor analysis, and meteorologic analysis are all examples of distributed sensing and interpretation. Data from disparate sources must be collected, analyzed, and fused into an accurate interpretation of a set of concurrent actions or events occurring at some place of interest. In order to accomplish this task the activities of the system must be coordinated in order to provide focus, reliable interpretations, coherence, and efficiency among the problem solvers. Extensive work has been done in this area using a variety of different techniques. The HEARSAY-II speech-understanding system was one of the earliest knowledge-based interpretation systems. It has served as a foundation for a great deal of distributed interpretation research. Fennell & Lesser ( 1 977) investigated parallelizing HEARSAY, and Lesser & Erman ( 1 980) studied several decomposition dimensions and communication policies for mul­ tiple cooperating blackboard-based interpretation systems. One outcome of these experiments was the functionally accurate, cooperative distributed problem solving model of Lesser & Corkill ( 1 98 1 ), in which several prob­ lem solvers with noisy or incomplete knowledge triangulate their results and converge on ever-more-accurate solutions over time. The Distributed Vehicle Monitoring Testbed (DVMT) is a high-level simulation testbed developed at the University of Massachusetts as a means of experimenting with different forms of distributed problem solving (Corkill 1 982; Durfee et al 1 987a; Lesser & Corkill 1 983; Lesser et al 1 988). In particular, the intent of the testbed is to provide a flexible environment for designing a network of functionally accurate, cooperative (FA/C) problem solvers (Lesser & Corkill 1 981). The DVMT solves problems of monitoring and interpreting the data streams from a spatially distributed set of acoustical sensors. The objective of the interpretation is to identify a set of vehicle tracks across the field of

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS

215

sensors and to recognize the vehicle type. The data (which may be noisy, errorful, or redundant) from a subset of the sensors is routed to each processing node. The processing nodes cooperate to construct a global picture of the vehicle traffic across the sensor net. Each processing node is a full blackboard-based system. The DVMT research has led to numerous architectural innovations and CPS/DAI techniques, including the inte­ gration of data and goal-directed control, distributed metalevel control, the PGP technique for incremental distributed planning, and a theory and representation for organization. The blackboard-based distributed sensing approach of the DVMT has been expanded to a sonar imaging domain by Lane et al (1 989). They distribute the processing of different parts of the "vision pyramid" (par­ tially interpreted images at different levels of abstraction) among "rational cell" agents, each of which is operated in a F AIC manner. Nii and colleagues have investigated multiple levels and types of parallel­ ism in blackboard-like problem solvers by studying an electronic intelli­ gence and situation understanding domain problem called "Elint." They developed two frameworks, CAGE and POLIGON. PO LIGON allows for very fine-grain parallelism, while CAGE provides several concurrent control models for blackboard scheduling (Nii 1986a,b; Nii et al 1 989). Other architectures besides blackboard systems have been used for dis­ tributed sensing and interpretation. The Contract Net (Davis & Smith 1 983; Smith 1 980, 1 98 1 ; Smith & Davis 1 981) is a distributed problem solving framework that specifies a communication protocol and a decen­ tralized task allocation mechanism. It attempts to solve the problem of adaptive task allocation by assigning tasks using a market-like mode of interaction in which communication and control are asserted through the use of negotiation, task bidding, and contract awards. The contract net framework has been demonstrated in a distributed sensor net application with flexible allocation of interpretation tasks to problem solvers. Finally, Mason & Johnson ( 1 989) have developed a distributed As­ sumption-based Truth Maintenance System (DATMS) in the domain of seismic interpretation for nuclear test-ban treaty verification. The primary research problem is how to reach reasonable and consistent conclusions in the face of data that is inconsistent in both temporal and amplitude dimensions. (Such disparities are due to seismic waves traveling through different strata to reach sensors, and the possibility of seismic jamming or interference.) Nodes in the DATMS exchange interpretive conclusions, but they use remotely generated conclusions only to guide focus of atten­ tion, and never to integrate with locally derived conclusions. This avoids propagating errors generated remotely.

216

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

2.9

GASSER & HILL

Monitoring and Control

Several classes of process control, operations, and monitoring tasks have been addressed by CPSjDAI systems: patient monitoring in an intensive care unit, diagnosis, telecommunications management, and robotics. Three distinguishing characteristics of monitoring and control systems are their need to react to their environments opportunistically, their need to respond under time and resource constraints, and their need for continuous opera­ tion. Hayes-Roth and her colleagues designed a system called GUARD­ IAN comprising multiple experts that collaborate to monitor a patient's condition (B. Hayes-Roth et al 1 989). Among others, the agents include a classifier for categorizing input data, an associative diagnoser for common symptoms, a causal diagnostic module for more complex diagnoses, and a reactive module to generate standard remedies for common conditions. The system is implemented using the B B I control architecture (B. Hayes­ Roth 1 985). Hudlicka & Lesser ( 1 987) developed a diagnosis module (DM) for the DVMT, which models causal properties of the DVMT solution space and allows for diagnosis of faults in the distributed problem-solver itself. The DM compares actual behavior against prototypical causal models to detect and explain problems. They also designed a distributed diagnosis system for the DVMT (Hudlicka et al 1 986). Sugawara ( 1990) has constructed a distributed, multi-agent diagnostic system for moni­ toring and explaining faults in a local area network. Geffner & Pearl (1 987) have designed a domain-independent distributed diagnostic approach for handling multiple faults. Adler et al ( 1 989), Brandau & Weihmayer ( 1 989), Conry et al ( 1986), Ishida ( 1989), and Kuwabara & Lesser ( 1 989) have developed techniques for monitoring and operation of telecommunications networks. Ishida's CoCo system integrates long-term plan-directed control with short-term, reactive execution of a production system, to coordinate multiple agents working on collaborative but decentralized telephone net­ work diagnosis and repair. 3.

BASIC PROBLEMS FOR ENGINEERING

COORDINATED PROBLEM SOLVERS

Each of the problem-solving approaches or systems described above has had to address six basic problems. These problems are inherent to the design and implementation of any system of coordinated problem solvers (Bond & Gasser 1988a). They include 1 . description, decomposition, dis­ tribution and allocation of tasks; 2. communication: interaction languages and protocols; 3. achieving coherent collective behavior; 4. modeling other agents and organized activity; 5. recognizing and resolving interagent

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS

217

disparities; and 6 . implementation languages, frameworks, and environ­ ments. For purposes of this paper, we also pose a seventh problem category: problems particular to practically engineering a CPS system for a par­ ticular domain. The CPS engineering task is to make appropriate choices on solutions to each of these problems, for a given domain. Unfortunately, at this stage, we have no complete theory of the relationships between domain and knowledge characteristics on the one hand and the appropriate architecture of a CPS system on the other. At any rate, each of the engineering problems is intimately related to each of the others; hence, decisions made in one area nearly always have an impact on others. In the remainder of this section we describe each of these engineering problems and discuss contemporary approaches to them.

3.1 Description, Decomposition, Distribution, and Allocation of Tasks A problem description is an elaboration of the characteristics and the attributes of a problem and how it is solved. The description includes information about the environment and domain of the problem, identi­ fying potential paradigms or metaphors as models of interaction for the problem solvers in the system. The way a problem is described affects the way it is decomposed, which of its constituent elements are distributed, and how a coherent solution can be derived. l Moreover, a description provides a sense of the dimensionality of a problem, including various forms of conceptual distance: computation costs, space, time, logical, and semantic (Bond & Gasser 1988a). These dimensions form the basis for composition, distribution, task allocation, and interaction in later steps of the system design. A problem description can be used at two different levels. First, it acts as a guide to the system designer. The system designer may have to develop the problem description iteratively in order to understand the dynamics of coordinating problem solving among agents. This can be useful in defining the requirements for the system and in identifying potential probI The impact of description on problem solving is closely related to Smith's notion of theory­ relativity. Any description is built using a set of concepts, relationships, and notations-a particular theory of description. Any description of a problem, therefore, is relative to the

descriptive theory employed, and there may be numerous descriptive theories among agents (cf our discussion of interagent disparities and incompatible representations, below). What is more, in a distributed and open system, circumstantial relativity affects problem description . A given agent's representational structure-and thus its representations o f problems-may be relative to its circumstance (temporal, spatial, etc), which of course includes those other agents with which it interacts. See, e.g., Smith (1986) and Maes ( 1 988).

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

218

GASSER & HILL

lems to be "designed out." The second use for the problem description is as input to the system itself. One of the goals of coordinated problem solving is to build dynamically self-configurable systems that can adapt to new environments or circumstances without input or redesign from a human user. Such systems must be able to reason about the problem itself, but much work remains to determine how to translate an evolving problem description into an interaction language or representation mechanism for a collection of coordinated problem solvers. Durfee & Lesser's (1987) PGPs, which contain negotiable representations of the goal structure and task distribution of distributed problems, are one step in this direction, though as they note, PGPs are not yet usable at meta or reflective levels. Some questions for analyzing the implementation of a system of coor­ dinated problem solvers are: •





Is the problem description represented explicitly or implicitly for the problem solvers? In other words, can the problem solvers reason about the problem and possibly reconfigure or elaborate it based on an explicit representation of the problem? Can the problem solvers make dynamic decisions about problem decompo­ sition, the distribution of data, the allocation of tasks, and the mode of interaction and coordination? A re they limited to a predefined method ofproblem solving?

Problem description is more than merely stating a problem-it must also bc related to notions about how the problem can be solved. Decomposition is the process of breaking down a problem or a task into a set of constituent parts. The problem description may provide several dimensions or perspectives for decomposition. For instance, Fikes et al (1972) suggest representing operator collections as triangle tables, because they allow for alternate decompositions and granularity. Lesser & Erman (1980) discuss three axes of task decomposition for interpretation problems-abstraction, (temporal) location, and interest area (a hybrid). These axes are contingent on representing problems as temporally localized abstraction hierarchies. The decision to decompose a problem along a particular dimension affects the nature of the resulting subproblems. Hence the consequences of choosing a particular dimension must be weighed against alternatives. Tn many instances, a problem is broken into subproblems requiring fewer resources or less knowledge. The process of decomposition inherently involves matching the characteristics of the subproblem with the capa­ bilities and resources of an agent or the qualities of an operator (cf Davis & Smith 1983; Smith & Davis 1981). Other goals are to minimize the

COORDINATED PROBLEM SOLVERS

219

dependencies between subproblems and to identify logical groupings of knowledge and tasks, to reduce communication and reasoning costs. Bond & Gasser ( l 988a) identified several dimensions commonly used for problem decomposition:

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.







A bstraction level Knowledge in a problem-solving system can often be divided into levels of abstraction, each level representing a refinement or an aggregation of the knowledge from the previous level. Problem solvers can be associated with each level of abstraction; their task is to create new hypotheses based on hypotheses generated at lower levels. Hence, it is often natural to form a hierarchy of problem solvers based on the activities that occur at each abstraction level. In order to decom­ pose a system by abstraction it is necessary for the system designer to first identify the logical steps of knowledge aggregation in the overall problem solving process. Each step may result in a distinctly different class or type of hypothesis, and the problem-solving knowledge required to derive such an hypothesis may be unique. The consequence of decomposition by abstraction is that there is a natural dependency from one level of the abstraction to the next. Such a dependency affects several aspects of the problem-solving system: The order of activation of the problem solvers will be affected; the type of interactions and form of the communication among problem solvers may end up being up and down the abstraction hierarchy rather than lateral; the distribution of input data will likely be to the problem solvers at the lowest abstraction level; and the propagation of uncertainty and error will go from bottom to top. In many cases, choosing to decompose by abstraction level will influence the design of the coherency and control mechanisms in the system. Abstraction has been suggested as a method of decomposition in several systems (Lesser & Erman 1 980; Lesser & Corkill 1 983; Wesson et al19 81) . Availability of coordination When a problem is decomposed along a particular dimension it is necessary to ask whether there are adequate control and coordination mechanisms to handle the problem in this form. Of course, sometimes this cannot be determined until a problem­ solving attempt has been made; the main point here is to recognize that the decomposition of a problem should take into account the way that coordination is handled in the system and vice versa. Control dependencies One may choose to decompose a task or a prob­ lem on the basis of trying to reduce control dependencies among problem solvers. Control is discussed in more detail in the section on coherent collective behavior below, but suffice it to say that control is often used as a means of guaranteeing the behavior of a collection of problem

220

GASSER & HILL

solvers by ordering, planning, or restricting their actions. There are

circumstances where it may not be possible or desirable to exercise tight control over a problem solver owing to considerations such as restricted communication, the impossibility of a global picture, or the need for autonomous action at a local level. Choosing to decompose a problem on the basis of reducing control dependencies will affect other design

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

decisions: The granularity of the problem solver may have to be increased to accommodate greater reasoning requirements, which implies there may also be a need for more resources; the interaction protocols among problem solvers may need to be complex and flexible; the problem solvers may need the ability to reason about other problem



solvers as a means of coordinating action; and problem solvers may have to reason about disparities occurring within a group of problem solvers. Data dependencies It may prove useful to decompose the problem along temporal, spatial, -logical, or semantic dimensions owing to the

data dependencies that may naturally occur in some problem domains (Lesser & Erman 1980). For instance, in interpretation problems where the input data is received along a temporal axis there are regions of the input stream with a high degree of semantic or logical interdependence.

Data adjacent on a time line may be more semantically or logically related (e.g. Lesser & Corkill 1983). A task may also be decomposed on the basis of a spatial region; this is usually true in domains such as distributed sensor nets where sensor data is usually gathered from locational clusters of emanations, which are interpreted and later merged



with those from other areas in the sensor space, such as found in Mason & Johnson (1989) and Lane et al (1989). Needfor redundancy If reliability or the need for multiple perspectives is an issue in the system, it may be necessary to decompose the system in such a way as to create redundancy among problem solvers. Further­

by increasing the number of problem solvers working on different aspects of the problem (Kornfeld & Hewitt 1981; Lesser & Corkill 1981; Mason & Johnson 1989; Wesson et aI1981). Resource minimization Resources may be limited, thereby creating a requirement to decompose the problem on the basis of the location and availability of resources. In other words, try to decompose the problem so that its subparts are solved using local resources, thereby minimizing the overhead of communication and coordination (Sathi & Fox 1989; Steeb et al 1 984, 1 986). Functional/product division Organizational considerations may motiv­ ate the use of decomposition along functional lines or else along product more, redundancy may help in reducing uncertainty levels





COORDINATED PROBLEM SOLVERS

22 1

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

lines (Malone 1 987, 1 988). This means that functionally related sub­ problems are grouped together and assigned to a single problem solver or group of related problem solvers. Likewise, a product division will decompose and distribute problems on the basis of product relations. This highlights one way in which the basic problems are interrelated. In this case the mode of interaction may strongly influence the way the problem is decomposed. Task allocation is the issue of assigning responsibility for a subproblem to a problem solver. On the one extreme the designer may make all the task assignments in advance, thus creating a nonadaptive problem-solving organization. This approach has the weakness of being inflexible, par­ ticularly in environments with a high level of uncertainty (Fox 1 979; Malone 1 987). In an adaptive task-allocation system where tasks are assigned dynamically, it is possible to do load balancing and bottleneck avoidance (Davis & Smith 1 983; Wesson et aI 1 98 1). In any case, the task­ assignment decision should take into consideration the capabilities of the problem solver (Davis & Smith 1 983; Smith 1 98 1 ), its knowledge or perspective on the problem domain (Cammarata et al 1 983, Wesson et al 1 98 1), and interdependency of the task with other tasks assigned to that region (Durfee & Lesser 1 987; Steeb et al 1 98 1 , 1 984, 1 986). In addition, it may be necessary to assign responsibility for a task redundantly in situations where there is a high degree of uncertainty in the environment or unreliability in the problem solvers (Lesser & Corkill 1 983). Resource allocation is similar to the problem of task allocation except that resources are consumed as a necessary part of problem solving. Resources can be used as a means of assigning priority to tasks, since without resources work cannot be done (Kornfeld & Hewitt 1 9 8 1 ). This becomes an important issue in environments where resources are limited and timeliness is critical, and will therefore become a matter of planning or replanning (Lesser et a1 1 988; Sathi & Fox 1 989).

3.2

Communication: Interaction Languages and Protocols

Once a problem has been decomposed and distributed and the tasks and resources have been allocated, there must be some form of interaction among problem solvers in order to reach a coherent solution. Interaction is inherent to systems involving coordinated problem solvers: Inevitably there are interdependencies among the units of the decomposition, whether units of data, control, abstraction, or the subproblems themselves. An interaction involves two or more problem solvers. Typically it involves an act of communication, though this is not always the case since there are instances where a problem solver may choose to act without communi-

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

222

GASSER & HILL

cation, by modeling or simulating other agents (Genesereth et al 1 986; Gasser et a1 1 989; Rosenschein & Breese 1 989; Wesson et aI 1 98 1 ). We are particularly interested in interaction as the net effect of communication between problem solvers. The issues of interaction and communication are strongly related to the other basic problems in coordinated problem solving. The manner in which a problem is decomposed and distributed will determine the interdependencies among problem solvers; these depen­ dencies require the problem solvers to coordinate by sharing information, plans, goals, tasks, or resources. Coordination requires some form of interaction, whether it is communicative or not. Interaction may involve reasoning about a communication act, with whom to interact, and the models of other problem solvers. In the process of engineering a set of coordinated problem solvers, designers must address: •





Unit of interaction At what level do interactions take place, and what is the net effect of an interaction? The answers to this question are likely to be related to what constitutes a problem solver (i.e. how the problem is decomposed, the problem granularity, how tasks are allocated, etc). By answering this question, one will have an idea about the granularity of the problem solvers in the system. There may be several levels of granularity and therefore several units of interaction. Structures and processes of interaction In any multi-agent system, interactions are patterned; patterns of interaction are one way of defin­ ing organizational structure. A number of familiar human interaction metaphors are useful for characterizing and formulating a "mode" or type of interaction pattern, including: negotiation, forum-based discussion, scientific community theory-building, marketplace trans­ actions, contractual interactions, master-slave relationships, function­ and product-oriented organizational hierarchies, and so on. All of these metaphors are useful as coordination frameworks. There is a strong relationship between the mode of interaction and the control relation­ ships in a system, and thus there can be an impact on the coherence of a solution. The mode of interaction can strongly influence the complexity and style of the communication in the system. Some modes may call for the problem solvers to spend time reasoning about what others know using models of the other problem solvers and then planning what to communicate. On the other extreme, interactions may be so highly routinized and structured that there is no need to have any sort of explicit model of the other agents; the agent models are implicit in the protocol design. Protocols and languages Within the basic modes of interaction de­ scribed above there may be protocols to guide the execution of a

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS



223

communicative act. A protocol is useful as a basis for building expec­ tation among problem solvers through the conventionalization and codi­ fication of the steps and procedures to use in predefined situations. The language used by the problem solvers must be designed to support the mode of interaction and its associated protocols. For example, depending on the nature of the interactions, a language can have a highly structured syntax and small vocabulary with a fixed number of message types or it can be made more flexible so as to facilitate dialog with rich semantics. If protocols are made reflective, agents have the pos­ sibility of describing their own communications to others, expanding the adaptiveness of the system. For instance, agents in the CooperA testbed describe their communication semantics to the testbed interaction layer, which integrates the agents opportunistically (Avouris et aI 1 989). While little research has been done on explicit communication pro­ tocols, the Contract Net Protocol provides a language and exchange sequence for adaptive task allocation (Smith 1 980). Conry et al ( 1 986) and Kuwabara & Lesser ( 1989) provide a negotiation protocol that allows for incremental plan elaboration, while the PGPs of Durfee & Lesser ( 1 987) are a protocol for plan and goal exchange and conflict resolution . Routine interaction Not all interactions are routine. How is the system designed to handle situations that are out of the ordinary? An adaptive system can recognize when the conventions of interaction are violated and then modify its own actions to cope with the unexpected situation. Languages and protocols based on reflective architectures (Maes 1988; Watanabe & Yonezawa 1 988) and speech acts (Cohen & Perrault 1 979; Rosenschein 1 982) provide the opportunity for protocol adaptation.

3.3

Coherent Collective Behavior

A major challenge for coordinated problem solvers is to exhibit coherent collective behavior in the solution of a problem where there is not a global perspective. Coherence is a global or regional property of the system, measured by the efficiency, quality, and clarity of a global solution, as well as by the ability of the problem solvers to degrade gracefully in the presence of local failures (Bond & Gasser 1 988a). Achieving collective coherence is the problem of coordinating the interactions and activities of a set of problem solvers in such a way that an optimal global solution is achieved without the benefit of a global perspective. Some existing techniques for improving coherence include: •

Organization An organization provides a framework for activity and interaction through the definition of roles, behavioral expectations, and

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

224

GASSER & HILL

authority relationships (e.g. control). The organizational view of coor­ dination is related to what we previously described as a mode of interaction. A taxonomy of organizational types useful to CPS researchers includes: -Centralized or hierarchical organization The authority for decision making and control is concentrated in a single problem solver at each level in the hierarchy. This approach to control presumes that the decision makers have an increasingly greater perspective or global view the higher they are in the organization. The advantage of a hierarchical organization is that the activity of the subordinate problem solvers is synchronized and made nonredundant through centralized control. The risk of this style of control is that the decision maker becomes a bottleneck for information flow and task allo­ cation, thereby potentially degrading the overall efficiency of the organization. Another problem associated with centralized or hier­ archical control is inflexibility and the inability to adapt in uncertain and rapidly changing environments. -Market-like organization Control is distributed in the marketplace. The basic mode of interaction is competition for tasks and resources through bidding and contractual mechanisms for control, or eco­ nomic valuation of services and demand. -Pluralistic community The scientific community provides a model of how a pluralistic community could operate (Kornfeld & Hewitt 1981 ) . In Kornfeld & Hewitt's model of scientific knowledge pro­ cessing, control is distributed and there are diverse, potentially con­ flicting perspectives on the problem. The problem solvers themselves may each be capable of solving (part of) the problem from a par­ ticular perspective, which accounts for the disparate viewpoints. Solutions to problems are locally constructed; they are then com­ municated to other problem solvers who may test, challenge, and refine the solution. In this way, collective coherence is achieved by converging on a solution through successive iterations. This con­ vergence behavior has also been modeled as FAIC problem solving (Lesser & Corkill 1 98 1). -A community with rules of behavior Similar to the pluralistic model, this is a flat organization where control is distributed. The community consists of problem solvers who are specialists in some particular area, and their mode of interaction is directed by rules of behavior, which amounts to a protocol of interaction. The areas of specialization should align with the task decomposition scheme in the problem domain in order for there to be collective coherence in this type of organization. An example of a system with this style of organization is found in PUP6 (Lenat 1 975).

COORDINATED PROBLEM SOLVERS

Minimization ofproblem solver interdependency Since so much of the difficulty of achieving coherence is due to the problems inherent to coordinating interactions, one way to improve efficiency is to decrease the communication overhead by reducing or eliminating the inter­ dependencies among problem solvers; this relates back to the initial problem of describing and decomposing the problem in such a way that it can be effectively partitioned into independent subparts. Given that the subproblems require minimal interaction, the designer can effectively localize the problem-solving activity. The problem solvers can either be built to specialize in particular independent tasks, or else they can have identical local capabilities applied to independent subsets of data (Durfee et al 1 987b). Of course, in most systems it is impossible to decompose either the data or the problem itself into independent subparts, so interdependency can probably not be fully eliminated . • Planning Another way in which to affect the collective coherency of a set of problem solvers is to synchronize their actions through the use of a global plan. A plan is a sequence of actions for accomplishing a goaL The problem, of course, is in deriving a global plan. Centralized multiagent planning attempts to do this by having one problem solver generate a plan for all of the others (Georgeff 1 983; Katz & Rosenschein 1 989; Steeb et aI 1 9 8 1 ) . This approach is appealing because of the natural coherence and synchronization inherent to centralized global planning. The disadvantage is that it may not be possible to obtain a global perspective, and even if it is possible, the centralized computation may be prohibitively costly. Another alternative is to use distributed planning techniques whereby the problem solvers incrementally build a plan by constructing their local subparts, cooperatively resolving the conflicts, and then aggregating them into one plan (Corkill 1 979; Durfee & Lesser 1 987; Hayes-Roth & Hayes-Roth 1 979a). This approach involves a great deal of interaction among the problem solvers to share their plan fragments and work out the conflicts . • Increasing contextual awareness Agents can approximate the accuracy of centralized reasoning if they are provided with more knowledge about other problem solvers in order to reason about potential conflicts in knowledge, goals, plans, and activities (Durfee & Lesser 1 987; Cohen & Perrault 1 979; Bruce & Newman 1978). Good models of the patterns of interaction and of the problem domain itself can increase the ability of individual problem solvers to act without communication and coor­ dinate without explicit synchronization. The cost of these sorts of improvements is usually reckoned in terms of the computation required to reason about other problem solvers and to recognize or predict .. situations and behavior, as well as in terms of the complexity in designing



Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

225

226

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.







GASSER & HILL

problem solvers with this sort of ability. We would like to have better heuristic approaches for reasoning about what knowledge is globally relevant in making local decisions. This problem is closely related to the frame problem. Promising techniques include incrementally expanding local views based on causal plan relations, as in multistage negotiations (Conry et al 1 986, 1 989). Georgeff ( 1 986) also suggests using knowledge of locality properties and causal relationships to address frame prob­ lems, and his techniques may be applicable here. Managing communication Communication has two impacts on coher­ ence: It exacts the inherent transmission cost of sending a message, and it entails overhead because it must be interpreted. Coordination and coherency can be improved by carefully planning the amount and type of communications among problem solvers. The information com­ municated should be relevant, timely, and complete (Durfee et aI 1 987b). It is helpful to use abstraction and metaleve! information in com­ munication owing to their summary nature and semantic power. Meta­ level information can be used to aid in high-level reasoning and in making control decisions, while abstraction adds parsimony to com­ munication and is useful for identifying dimensions along which to reason about communication. Managing resource use Another way of exercising control and focusing attention in an organization is through the allocation of resources (Kornfeld & Hewitt 1 98 1 ). High-priority problems may get the bulk of the resources while lower-priority tasks are allocated whatever is left over. In addition to using task criticality as the method for determining priority, a manager agent may also choose to restrict the activity of error­ prone or faulty problem solvers by limiting their access to resources and giving the resources to the problem solvers with the most accurate or global view of the situation (Steeb et al 1 98 1 , 1 984). A daptation The organization that can adapt to changing circumstances by altering the patterns of interaction among its constituent problem solvers could achieve coherence in environments with a great deal of uncertainty or change. The adaptive organization should be able to recognize the need for reconfiguration. There are a number of ways that organizational alterations can be made-from changing the way problems are decomposed and allocated on the one hand, to changing the way control is exercised on the other (Lesser & Corkill 198 1 ; Corkill 1 982). Adaptation in an organization implies the ability to recognize changes in the problem domain, analyze the proficiency level of one organizational style versus another, and learn from its attempts at different patterns of interaction. Taken together, these require the ability

COORDINATED PROBLEM SOLVERS

227

to represent and use organizational knowledge (Gasser et al 1 989; Pattison et al 1 987).

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

3 .4

Modeling Other Agents and Organized Activity

The ability to exercise local control has many advantages, induding giving the problem solver greater flexibility and decreasing the overhead associ­ ated with centralized control. The disadvantage, however, is that with greater flexibility in local decision making also comes the risk of losing coordination among the problem solvers, and ultimately, losing collective coherence. The tension between maintaining problem-solving distributivity and flexibility and achieving collective coherence requires a method for coordinating interagent activities without sacrificing either efficiency or flexibility. One way to coordinate the activities of a group of agents without imposing centralized control is through the use of agent models. In systems of coordinated problem solvers, an agent model is a way of characterizing and representing another agent so as to be able to interpret, explain, and predict its actions under varying circumstances. A model may be simple, being used to reason about only one aspect of another agent's behavior, or it may be complex, allowing the agent to reason about how to influence another agent by some communication act or other means. An agent model has two implicit goals: 1 . maintain agent flexibility by enabling it to make decisions locally; and 2. provide coordination mech­ anisms that can aid in achieving collective coherence among problem solvers. Modeling other agents and organized activity has several potential benefits: •





• •

• •

It allows an agent to predict the behavior of other agents on the basis of a model. This is helpful for the purpose of its own internal planning and coordination. For instance, an agent can know what activities will be handled by other agents (Durfee & Lesser 1 987). Agent models can be used to reason about another agent's knowledge, beliefs, and goals in order to plan what to communicate . An agent model may make a system more flexible. Instead of operating purely on the basis of an embedded protocol with little flexibility, it may be advantageous to be able to change a pattern of interaction. With models, agents can predict events that are not directly sensible. Agents can use models to coordinate without communication (Gene­ sereth et al 1 986). An agent can use models to evaluate data from other agents (Wesson et a1 198 1 ; Sycara 1 989). Models can improve focus in search processes (Mason & Johnson 1 989).

228

GASSER & HILL

Above, we discussed a number of approaches to improving coherence among problem solvers, but most of the discussion centered around the designer's role in making choices about the implementation. An ideal extension to these approaches is to provide the problem solvers with the same information that was used to design the system:ln other words, an agent model could include everything that is known about the system from the designer's point of view. Several components of agent models are:

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.













Commitment Modeling commitment in an agent involves several factors. First, commitment can be modeled in terms of the task responsi­ bilities assigned to the other agent. This is a simple view from which an agent may be able to reason about the expected behavior of, another agent with respect to its responsibilities or task allocations. A ' more complex and intriguing aspect of modeling commitment is with respect to a future action that an agent has pledged or can be expected to perform. Hence, commitment can be modeled in a more abstract sense as a measure of the reliability of another agent to perform a future action in the manner expected. The expectation is based on a pledge or contract to do a task within some constraints such as time, cost, or accuracy. Capabilities The capabilities of an agent include a description of its problem-solving expertise as well as its common skills and its ability to reason by default, by analogy, or deductively. Resources The resources allocated to an agent may include descrip­ tions of dynamically allocated items such as CPU time, power, and data as well as the resources statically assigned. Knowledge and beliefs Knowledge and beliefs can be modeled in terms of a priori values or they can be inferred from the actions, plans, and goals of the other agent. Actions are observable, and plans and goals can also either be inferred or they can be communicated (Cohen & Perrault 1 979; Durfee & Lesser 1 987; Sycara 1 989; Wesson et aI 1 9 8 1 ) . Plans and goals The plans and goals o f another agent may b e modeled by simulating the planning process of the other agent using the models of its commitments, capabilities, resources, knowledge, etc. In addition, plans and goals can be communicated or generated abductively (e.g. using case-based reasoning) from the actions of the other agent in a situational context (Durfee & Lesser 1 987; Schank & Abelson 1 977; Sycara 1 989). Organizational knowledge This may include knowledge about inter­ agent control, communication topology, modes of interaction, protocols used, levels of hierarchy, and the mapping of the problem decomposition to the members of the organization-who is doing what. A number of

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS

229

different representations have been proposed for encoding organ­ izational knowledge in a system of coordinated problem solvers: process assembly networks (Wesson et al 1 98 1 ), production lattices (Gasser 1 986, 1 988a,b), partial global plans (Durfee & Lesser 1987), and problem­ solution graphs (Pavlin 1 983; Hudlicka & Lesser 1 987), to name a few. One of the common threads through each of these examples is that they represent organizational knowledge through a graph-like structure of assembled plans or tasks. Gasser et al ( 1 989) presented an alternative to graph-based organiza­ tional models. Representation of the expectations and commitments of agents is a way of representing organization, and fundamentally these rest on contrasts between the fixed and variant aspects of knowledge and problem description. • History A record of the actions and behavior of an agent may aid in analyzing and predicting current or future activity, as well as agent reliability. • Task requirements A description of the skills and resources required to solve a particular type of task is useful for modeling the potential of another agent to perform it. This is the sort of model that was embedded in the Contract Net Protocol (Smith 1 980), and which was an explicit part of MACE agent models (Gasser et al 1 987a). ' • Problem solution state A model of the phases of a problem solution can be useful in diagnosing the behavioral disparities of another agent (Hudlicka & Lesser 1 987) and in reasoning about adapting an organ­ ization to different problem phases (Gasser et al 1 989). • Temporal-spatial models of interaction When planning a coordinated action with another agent it becomes necessary to reason about space and time and its effect on the problem solution. This type of knowledge is also useful for modeling actions in time-constrained solution environ­ ments. Note that the list of agent aspects that may be modeled overlaps with the six basic research issues for coordinated problem solvers. Hence, to the extent we can answer questions about description, decomposition, dis­ tribution, task allocation, communication, modes of interaction, and coherent collective behavior in a declarative language that can be provided to the problem solver itself, metalevel aspects of coordination can be addressed dynamically as system problems. One advantage of agent models and reasoning about organized activity is that coherence can be enhanced when agents are able to make local coordination decisions based on an increased knowledge or awareness of their own roles in the greater whole and the roles of others. Another is

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

230

GASSER & HILL

that communication can be reduced (Genesereth et al 1 986; Rosenschein & Breese 1 989; Wesson et al 198 1 ). The flexibility that results from the ability to reason about other agents using models of them (e.g. to simulate their behavior or decision-making) might be bought only at the price of higher computation costs. If the environment is highly uncertain and real­ time performance is required, it is not clear that agent models requiring a great deal of computational reasoning are appropriate. The cost may be alleviated if agents use default knowledge of others compiled into routine behaviors. Such routine behaviors provide a network of interlocking expec­ tations and commitments among agents. If an assumption that underlies some routine behavioral expectation or commitment is violated, then an agent may reason about joint behavior through explicit causal links built from knowledge in agent models. This suggests that a fruitful avenue of investigation is "qualitative theories of interaction" modeled along the lines of PGPs or system behavior representations (Durfee & Lesser 1 987; Gasser & Huhns 1 989b; Hudlicka & Lesser 1 987). In general, a great deal more research is needed to determine the trade-offs between static organizational roles and flexible local decision-making through the use of agent models. Selecting a set of agent features to be modeled depends a great deal on the description of the problem as well as on the definition of coherence in the domain. The agent models used in one mode of interaction or organizational style may not be appropriate for another. For instance, under the pluralistic community paradigm with resource-based coherence methods, models of others may include the level of resources they use, the types of problems they solve, and the theories or perspectives they employ. In a hierarchical organization with strict lines of responsibility that faces routine problems, models of agent capabilities and organizational roles may be sufficient (Gasser et aI 1 987b). System behavior as a whole must be explicitly modeled, at a global or regional level, for purposes of development, diagnosis, fault tolerance, and organization self-design (Corkill 1 982). For example, a collection of problem solvers needs to know when the entire group has reached termination, and a designer must be able to interpret the behavior of a system to know when it is working. Also, agents need to model their own collective behavior so as to improve it. Once a system model has proved useful for understanding or predicting behavior, it can be used by the agents themselves to reason about self-organization and improving coor­ dination (Corkill 1 982; Pattison et aI 1 987). But what is coordination? How can it be modeled, observed, and mea­ sured? What are the variances in coordination that would allow us to judge that one set of actions is more coordinated than another? How can we tell

COORDINATED PROBLEM SOLVERS

23 1

whether a system is making progress toward a solution at the problem level? These questions and others have driven researchers to seek a means of understanding the behavior of coordinated problem-solving systems. At the moment there are few good ideas about how to use models of system behavior to construct tools and techniques for use in answering some of these questions. Ideally, behavior models would be reflexive enough that they could be used by agents for adapting their organization,

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

and by designers as diagnostic and performance-tuning tools. Little work has been done in modeling coordination and system behavior; Hudlicka

& Lesser (1 987) and Pavlin (1983) provide a good start at modeling the behavior of the DVMT.

3.5

Recognizing and Resolving Interagent Disparities

Knowledge-intensive problem solvers require large collections of knowl­

edge, and this knowledge may itself be distributed over space and time. An important design and implementation issue is how to integrate knowl­ edge from several sources for problem solving. This may be difficult for

reasons of temporal synchronization (asynchrony due to distribution, com­ munication delay, and multiple simultaneous perceptions) and for reasons of multiple perspectives. There are three primary mechanisms for inte­

gration of distributed knowledge: maintaining consistency through locks and transaction managers; optimistic methods that rely upon rollback; and consistency-free representations. Most applications with distributed data have attempted to maintain a globally consistent world-view; this is one function of a blackboard approach to organizing the interaction among problem solvers. In the last section we argued for the use of agent models to improve coordination and coherence in systems of distributed, loosely coupled problem solvers. Since there may be no global view of the problem domain,

it can be difficult to keep the local views synchronized and consistent. If we seek functional accuracy rather than complete accuracy and consist­ ency' there has to be a means for insuring that the problem solvers can resolve disparities that arise as the problem solution progresses. We can define three types of disparity.

Incompleteness occurs when one Inconsistency

agent has some knowledge that another does not have.

occurs when two agents have different truth values for the same logical proposition-i.e. when two knowledge bases are contradictory [cf "micro­ theories" in Hewitt

( 1 986)]. Incompatibility

occurs when knowledge is

represented in incommensurate, incomparable forms-e.g. in frames with

different slots and semantics. There are several possible perspectives on a disparity. First, one may

232

GASSER & HILL

of all of the agents and can determine which of these states align with each other and with the correct solution at that point. In many ways this is how traditional systems with centralized control attempt to solve problems of a distributed nature. A global perspective is obtained by passing all possibly conflicting data from the local nodes to the central node for processing, thereby concentrating all control at one node in a network of problem solvers in order to insure consistency. As discussed earlier, this is not a Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

tractable or feasible way of approaching these problems owing to current limits on communication bandwidth and computational power within the individual node. Another perspective from which to detect disparity is the local view (i.e. model) of the individual problem solver. Without the benefit of global knowledge it must rely on models of the world and of the other problem

solvers. These models serve as a set of expectations about the knowledge, capabilities, plans, and activities of other problem solvers with respect to the state of the world. The local perspective has several inherent problems in determining disparities with respect to another problem solver: •

Adequacy ofworldmodel Some disparities may be erroneously detected or not detected owing to the inadequacy of the agent and world models



Limits of evidential data The specialized problem solver has only limited data from the problem domain, which may not match the set of



Limits of organizational knowledge

to represent some features of the domain accurately.

data received by the agent being modeled and analyzed. In addition to having limited data

from the problem domain itself, there may be limits on the problem solver's ability to know what is happening in other parts of the organ­ ization invisible to it. Another agent's activities may be influenced by its interactions with other agents beyond the knowledge of the local agent. The primary reason for resolving interagent disparities is to coordinate the activities of agents sufficiently to insure collective coherent behavior. The decision an agent makes about resolving a perceived disparity depends a great deal on the role that agent plays in the mode of interaction in the system. In fact, disparities should be recognized oli the basis of the ,role an agent has with respect to the other agents in the organization.' For example, each of the four basic organizational types described in the section on collective coherent behavior above may involve a completely different approach to recognizing and resolving disparity. •

Centralized or hierarchical organization ' In this type of organization .

.

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS







233

problem solvers. In this case a problem solver with authority may focus on the interagent disparities occurring between problem solvers under its control. Although the authority agent may have only a limited view of the problem solvers in its charge (thereby introducing the limitations described above), it must decide whether the disparities will lead to unacceptable coordination and coherency problems. Recognizing that "micro-managing" by constantly resolving disparities may itself lead to problems with coherency and efficiency, the manager must be judicious in use of its power to resolve potential problems. Market-like organization A typical control mechanism in a market­ like mode of interaction is the contract. One way of implementing this type of organization is for a contract manager to make a task announcement and a request for bids from eligible contractors. The contractors submit their bids, which are evaluated by the contract man­ ager and awarded to the best bidder(s). At this point a contract is let and the manager and the contractor agree to terms of the work and control. As such, the contract can then serve as a model of expectation between the contractor and manager, and disparities can be noted through the use of interim progress reports. A contractor may recognize disparities on the basis of the contract terms versus interim reports, but it may also evaluate coordination and coherency by comparing results from multiple contractors on the same overall task. Again, un­ necessary interference may actually be detrimental, but the manager also has the option of terminating a contract as a means of resolving disparity. Pluralistic community Control in a pluralistic community is distributed among all the members. Naturally, there is likely to be a bit more thrashing on the path toward attaining a coherent solution owing to the diverse perspectives and lack of control. Disparity recognition is a regu­ lar feature of such systems since they operate according to the scientific community metaphor of hypothesis, test, refine, theory. Each agent must play a role in this iterative cycle toward recognizing disparities; at the same time, a consensus must be built among the problem solvers toward a theory (problem solution), and this may require synthesizing conflicting similar views. A community with rules of behavior The community with rules of behavior differs from the pluralistic community, mostly in that the problem solvers are not allocated equal problem-solving knowledge. Instead, they function as a community of specialists whose function is to fill in their part of the picture or solve their part of the problem. Disparities in a community such as this occur in cases where more than one specialist attempts to take control over the same portion of the

234

GASSER & HILL

problem at the same time. In this case an arbiter can recognize and resolve the conflict. Disparities are recognized through processes of objectifying knowledge ("fixing" it by representing it) and comparing the representations. A pre­ requisite for reasoning about interagent disparities, then, is the ability to represent other agents' beliefs. A similar prerequisite for reasoning about disparities in an agent's model of the world is the ability to create alter­ native models of the world those produced, for example, by some sensing or execution-monitoring component. Recognizing disparities requires representational compatibility. Two beliefs (or states) that are repre­ sentationally indistinguishable are not disparate (S. Rosenschein 1 987). To resolve disparities, agents must agree about something (e.g. the existence of a disparity and the need to resolve it). Therefore, in open systems, not all disparities can be resolved. One way of establishing a basis is with a central or global controller with decision-making authority. In the Rand ATC work, conflict resolution was assumed to be so difficult that negotiating a solution would be infeasible in real time. This led Steeb et al ( 1 98 1 ) to cooperation regimes relying on centralized authority. Given some bases (which in multiagent systems may have to be settled over long reaches of time with negotiations at other levels, such as design), useful conflict-resolution methods include those based upon power, where one agent can influence or dominate another, and those based upon agreed conflict-resolution strategies, such as priorities set by convention, or mediation procedures. Conflicts and disparities are resolved with both algorithmic and nonalgorithmic (or due process) methods. Bruce & Newman ( 1 978) developed a mutual belief space mechanism for reasoning about disparate beliefs among agents. Each actor has a belief space, which includes (possibly nested) propositional beliefs of the forms: ( bel P ( bel Q R» (meaning P believes that Q believes R). Nested beliefs may lead to arbitrary recursive levels, so Bruce & Newman suggest dividing beliefs into two classes: those held commonly, and those that are disparate or incomplete. The mutual belief space is convenient, to avoid explicit representation of infinitely nested beliefs. The mutual belief space is used to represent the beliefs active in a cooperative interactive episode (i.e. social episode). More recently, a number of researchers have used the paradigm of "reasoning about knowledge" to address problems of synchronization and control among concurrent processes. The notion of "common knowledge" describes propositions that each agent knows, and that each agent knows everyone else knows. Halpern & Moses ( 1984) have shown the impossi­ bility of achieving common knowledge when communication is not

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

_.-

COORDINATED PROBLEM SOLVERS

235

guaranteed, or when communication delay is not finite. Their framework presumes common interpretive bases for representational structures-i.e. that a proposition refers to the same thing no matter which agent holds it. Additional literature on multiple belief spaces and the problems of common knowledge is available (Ballim 1 986; Halpern & Moses 1 984; Halpern 1 986; Konolige 1 982, 1 986; Wilks & Bien 1 983). Other methods for conflict resolution include the following: Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.





A ssumption surfacing Inconsistent propositions can sometimes be reconciled by backing up to the assumptions on which they rest to discover if the roots of disparity lie in assumptions. Disparities may be resolved at any point along this chain of support. This of course requires that an agent has (or can construct) knowledge of the supporting assumptions and their relationships. This is easiest in a system where shared and comparable knowledge representations are assumed, which is normally the case in DAI research. This assumption of sharing, however, has been challenged as impossible and unrealistic (see e.g. Gerson & Star 1 986; Hcwitt 1 986; Suchman 1 987; Winograd & Flores 1 986). Assumption surfacing is an underlying technique found in many forms of argumentation and negotiation (Sycara 1 985a,b) and has been suggested as an organizational conflict resolution scheme by Mason & Mitroff ( 1 98 1). It is the basis for "Truth Maintenance Systems" of Doyle ( 1 979) and de Kleer ( 1 986) and is sometimes used as a basis of other mechanisms for "belief revision." Distributed belief revision has been studied by Pearl (1 987). Temporal and recency-based approaches to resolving assumption conflicts are discussed by Borchardt (1 987) . A uthority and mediation Higher-level knowledge coupled with auth­ ority can be used to resolve conflicts. This can be seen in Hearsay-II (Erman et al 1 980), where two KSs might set conflicting goals to solve the same problem. This conflict is then resolved by heuristic knowledge in the blackboard scheduler. Higher-level knowledge can be centralized as in Hearsay-II, or distributed as in the Rand ATe case. In the latter, all planes could simultaneously and independently compute ratings of which goal to solve using conventionalized priorities. Similar shared conventions were used by planes in electing a new central planner. We view both centralized and decentralized conflict resolution strategies of this sort as mediation by higher authority, because decision-making rules are unchangeable by the agents whose conflicts are being resolved. It is important to note that, in general, rules and conventions are notori­ ously subject to local reinterpretation (Manning 1 977); in closed DAI systems this may not be the case, because reinterpretive capacity has been limited by design.

236 •



Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.







GASSER & HILL

Precedent Conflicts can be resolved by appeal to prior solutions and precedent; see, for example, the case-based negotiation approaches of Sycara ( 1 987). Factoring Common attributes can be extracted from a set of objects and a new object created from them. Then the source objects' definitions and locations in a classification taxonomy can be revised accordingly. Decontextualization Locally relevant information can be stripped to form more general "facts," "heuristics," etc. This can be seen as a process of abstracting to common frameworks. Any object or entity can be described to arbitrary levels of detail. Adding detail by elaboration or removing it by abstraction and generalization are two ways of realign­ ing the representations of objects to make them compatible. General­ ization is commonly used in machine learning systems for just this purpose. Also, translating disparate representations into a common and comparable representation provides a basis for recognizing and removing conflicts. Approaches to natural language understanding, gen­ eration, and translation have relied on internal representations so that several disparate output sentences could be generated from the same internal representation, and so that several input sentences could be represented using the same framework. In DAI, for example, common internode languages and interaction protocols such as the Contract Net Protocol (Smith 1 980) or partial global plans (Durfee 1 987; Durfee & Lesser 1 987) are common frameworks abstracted by designers into which possibly disparate views of situations, skills, goals, or .plans can be fit for reconciliation. Seeking alternative representations Seeing a problem in a new way, by adding previously unknown knowledge, or changing the representa­ tional schema, may reconcile disparities. Also, exploring another (OR) branch of a goal graph may provide an alternative subproblem or operator description. Evidential reasoning and argumentation It may be possible to make arguments in support of a particular perspective, sharing evidence. Evi­ dence, methods, etc may have to be justified, recursively. Kornfeld & Hewitt ( 1 98 1 ) discuss argumentation as a basic method for organizing problem solving. Several modes of argumentation have been discussed (Gerson & Star 1 986; Hewitt 1 986; Sycara 1 985a; Willer & Anderson 1981). Evidential reasoning is quite familiar in AI, particularly in the contexts of justifying conclusions made by knowledge based systems to human users. Lesser & Corkill's ( 1 98 1 ) Functionally A ccurate, Coopera­ tive (FA/c) processing, applied in the DVMT, supports convergence despite conflicting hypotheses by building evidence to strengthen the most favorable hypotheses. Related work on distributed evidential -

COORDINATED PROBLEM SOLVERS

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.









237

reasoning is also available (Geffner & Pearl 1 987; Pearl 1982, 1 987). Constraint resolution Conflicts and disparities that arise because of conflicting constraints can be resolved by relaxing those constraints, or by reformulating a problem to eliminate the constraints. Constraint relaxation requires prioritizing constraints. This process was elucidated by Goldstein ( 1 975) in a scheduling domain by the use of preferences. Weaker preferences were relaxed first. More recently, Sathi and others have studied constraints in scheduling for manufacturing (Sathi & Fox 1 989). A chieving common knowledge For disparities that result from incom­ plete knowledge, the problem becomes identifying and communicating the appropriate knowledge to resolve the incompleteness. This may require reasoning about the knowledge state of separate agents, as well as guaranteed communication in finite time (Halpern & Moses 1 984; Halpern 1 986). Integration without conjiict For resolving conflicts of incompleteness, a simple approach is the integration of new knowledge by simple incor­ poration. This presumes common, compatible representations and mechanisms for adding new knowledge. Many DAr information-ex­ change schemes use this method, including most of those discussed in work on common knowledge (Halpern 1 986). Standardization The negotiation of alternatives over time, and the recognition of common requirements and routine behaviors, can lead to standardization as a basic mechanism for conflict avoidance. Over time, conflicts are resolved by common mechanisms and these are incor­ porated into standards and disseminated (or designed in). Conflicts are avoided by adherence to standards; but standards may impede adaptation (Durfee et al 1 987a,b; Lesser & Corkill 1 983), and they are subject to local interpretation (cf Manning 1 977).

3.6

Implementation Issues

One of the practical matters confronting the prospective implementor of a distributed problem-solving system is the issue of choosing the right tools. The five basic problems of coordinated problem solving we have discussed thus far have far-reaching implications when it comes to choos­ ing an implementation platform or framework. Many of the existing tools are already biased toward certain techniques of problem solving and agent interaction, so it pays to know what the underlying assumptions and approaches are in some current systems. Ideas drawn from a number of different approaches can be applied to the development of a custom-built environment. There are a number of choices for underlying platforms for imple-

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

238

GASSER & HILL

menting coordinated problem solvers. Choice of an implementation plat­ form requires careful thought about all five basic DAI problems. Various implementation-platform options discussed below make different assump­ tions about how it is possible to answer these questions, and provide different support for particular answers. Design requirements of imple­ mentation platforms for coordinated problem solvers are driven by the needs for 1 . distribution and interaction among problem solvers, 2. an incremental development cycle, 3. advanced programming paradigms that help manage program and application complexity (which is very high in CPS applications), and 4. tools for analysis and visualization of concurrent program behavior. These requirements mean that implementation plat­ forms typically require one or more of the following capabilities, along with standard features for advanced AI development environments: •





Encapsulation of modules Both to manage complexity in applications and to provide a natural fit to the problems and domain requirements of CPS systems, object-based paradigms are common. Encapsulation of data and procedures provides a natural basis for distribution and flexible task decomposition, but it also creates particular problems of descrip­ tion and execution in distributed environments (Gasser et al 1 987a,b; Agha et al 1 989). For example, inheritance of description attributes among objects is more complex in a distributed-memory environment because object descriptions may reside on different processor-memory pairs. There are two approaches. First, simple pointer-following to access higher-level object attributes can be supplanted by message passing, which makes access more expensive and creates potential consistency problems. Second, object descriptions based on networks of object-attribute relations can be compiled into executable objects that are self-contained but do not rely upon runtime inheritance, somewhat limiting descriptive flexibility. Object composition To maximally exploit concurrency, as well as to provide for flexible reconfiguration of the interactions among objects in a CPS system, higher-level modules may be composed of lower-level objects that are themselves concurrent. The approach to design may be either reductionist-explaining and implementing high-level behaviors in terms of lower-level concurrency by constraining the behaviors of lower-level components-or compositional-aggregating lower-level concurrent modules into emergent higher-level structures with emergent behaviors that may not be directly derivable from the descriptions of the lower-level modules. Message-based communication Truly distributed CPS systems require message-based communications for interaction, and this raises several

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS

239

problems for implementation platforms. Implementations that require consistency and completeness of data and knowledge across problem solvers-the so-called "Completely Accurate, Nearly Autonomous" (CAjNA) approach (Lesser & Corkill l 98 1 )-must cope with message delays and asynchrony, and therefore must incorporate mechanisms such as synchronization locks, transaction managers, etc. Even shared­ memory platforms such as blackboard systems with concurrent pro­ cessing of knowledge sources require database consistency mechanisms under the CAjNA problem-solving assumption (Fennell & Lesser 1 977; Ensor & Gabbe 1 986). Message communication schemes require under­ lying mail-delivery systems, which provide addressing tables, message forwarding, and runtime address resolution. In addition, they might support high-level standardized agent interaction protocols that implement particular communications or synchronization architectures in the form of fixed sets of messages (Gasser 1989). • Ability to model other agents Adaptive coordination, especially coor­ dination with limited communication, requires the ability to model the behaviors of other agents. Implementation platforms designed for CPS applications should support the ability to build models of both the beliefs, plans, goals, etc of other agents and the state of the problem­ solving process itself. • Testbed capability Development of CPS systems is a time and labor­ intensive process, made more difficult by indeterminacy and concurrency in the actions of agents. While some theoretical models are being advanced that minimize the effects of indeterminacy or allow pro­ grammers to reason explicitly about the degrees of uncertainty or knowl­ edge limitations that can be tolerated (Agha 1 986a; Halpern 1 987), these are presently in early stages of development and have not been embedded in useful and widely available programming languages or frameworks. The need for controlled experimentation both for precision during development and for performance tuning argues for testbed-like implementation platforms, from which performance measurements and analyses can be drawn (Cohen et al 1 989; Durfee & Montgomery 1 989; Gasser et a1 1 987b; Lesser & Corkill 1 983; Nii et aI 1 989). • Multi-grain objects Objects may exist at different levels and types of granularity in a CPS system, so an implementation platform must address the issues of mapping objects to processor-memory pairs for appropriate resource utilization and load balancing. Most existing development platforms either make no assumptions about objects of varying grain size, or assume that most objects will have fairly uniform and stable grain size, so that resource allocation is straightforward. For reasons of flexible system design and reconjiguration, runtime

240

GASSER & HILL

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

expansion/contraction of objects, and flexible object cOmpOSitIOn, implementation platforms should be designed to consider the grain size of objects explicitly. For purposes ofload balancing, adaptive reorganization to fit new problem circumstances (including adaptive clustering of processes, changes in data sources, etc), and flexible control, it may be desirable to change the grain size of agents and the control and knowledge relationships among agents during the course of problem solving. This is only possible if the agents themselves are decomposable or composable. Thus, description languages must be available that allow for composition of agent-groups from indi­ vidual agents and for treating agent groups as single agents at higher levels. Agha & Hewitt ( 1 985) call their higher-level compositions of actors "actor configurations." Moreover, it is important to be able to view the activities of individual problem solvers in a group at several levels of analysis. Just as social theorists conceptualize social action in numerous levels, such as individual, small group, organization, society, and so on, it may be useful to be able to analyze an intelligent distributed problem-solving process at varying levels in vitro (cf Parsons & Shils 1 9 5 1 ; Gasser & Huhns 1 989b). This can only be done using tools and analytic techniques that treat and conceive the problem-solving agents at differing levels of granularity, using observational mechanisms of decomposition and aggregation. Much more research needs to be done to address these compositional, decompositional, and representational mechanisms, but several existing approaches can provide suggestive frameworks for implementation. The most highly developed theoretical compositional schemes for dis­ tributed agents are the Actor configurations of Agha & Hewitt (1 985). Individual actors participate i n a configuration as either internal actors, external actors, or receptionists. Internal actors are known only to other actors within the same configuration. External actors are not in the con­ figuration but are known to internal actors. Receptionists are actors in the configuration that are known to external actors. Messages can be sent to a receptionist and be handled by the whole configuration, not just by the single receptionist actor. The advantages of the actor-configuration approach spring from the fact that configurations are described in a wholly decentralized fashion, using the knowledge actors have of other actors. This allows for flexible reconfiguration and aggregation. MACE (Gasser et al 1 987b) also provides composition based upon message passing. Organizations in MACE are viewed as structures of expectation and commitment encoded in the world models of agents. A MACE organization comprises a collection of MACE agents with a unique manager agent. The manager disseminates messages arriving from outside

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS

24 1

the organization to the proper handler within the organization; the job of the manager is thus primarily task allocation. Agents that participate in the organization are bound by their commitments, which exist in the models of them held in other agents. Both MACE and Actors employ flexible organization control models based upon message passing. While in concept this is true of other distri­ buted, object-oriented languages as well, explicit composition of objects or agents is not represented in most. The ABE system (Erman et a1 1 988) provides compositional mechanisms based on a static hierarchical structure with auxiliary threads for non­ hierarchical control and knowledge interactions. Flexible implementation support for CPS systems must provide ways of integrating heterogeneous problem solvers of different granularity. Along with providing a collection of knowledge representation and reasoning tools, a CPS system should provide-a mechanism for integrating results from different problem-solving processes, and of configuring the inter­ action among problem-solving nodes. This is accomplished most easily with standard interface protocols, but the protocols must be designed to reflect the importance of the five basic OAT problems introduced above. For example, Davis & Smith's ( 1983) model of distributed problem solving, which incorporates the four stages of problem decomposition, task allo­ cation, subproblem solution, and result synthesis, is well integrated with their interaction protocol, the contract net protocol. This protocol allows for multiple problem-solution methods while enforcing a common, abstract problem-description framework. The common descriptions allow for task allocation while ignoring granularity and heterogeneity as long as the interactions conform to the protocol. The MACE system also provides a flexible message-based interaction regime, but specifies no interaction protocol. A number of implementation platforms designed for CPS systems have been built. Most are designed to support a single problem-solving frame­ work or to work in a particular domain. A number of languages have been proposed and some implemented to deal with the problems of CPS systems, but most implementations of CPS systems still rely upon problem- or architecture-specific frameworks and languages. The level of support for CPS systems is rising, especially in domain-independent platforms such as ABE, AGORA, BB l , ERASMUS, GBB, and MACE (Bisiani et a1 1 987a; B. Hayes-Roth 1 985; Corkill et a1 1 986; Engelmore & Morgan 1 988, Erman et al 1 988; Gasser et al 1 987b; Jagannathan et aI 1 987a). 3.6. 1 DISTRIBUTED, OBJECT-ORIENTED SYSTEMS Object-Oriented Lan­ guages are a natural fit for developing CPS systems, as they provide

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

242

GASSER lk. HILL

mechanisms for encapsulation, multiple granularity, object composition, and message-based communication. Truly distributed CPS systems, how­ ever, raise special problems for Object-Oriented Languages (Gasser et al 1 987b; Gasser 1 988b, 1 989), including dealing with inheritance in a distributed environment, description versus execution consistency, dynamic distribution and load balancing, and composition of multiple concurrent objects. Nonetheless, a number of distributed object-based languages have been developed with explicit orientation toward CPS systems. These include the Actor systems of Hewitt and his students (Agha 1 986a,b) and Yonezawa et aI's ( 1986) actor-based concurrent language ABCL/I . Hewitt & Agha's Actor provides a specific computational model for distributed systems, supported by actor languages. Yonezawa and his coworkers have implemented a language with somewhat more restricted concurrency, based on actors. But they have also extended it with reflection (Maes 1 988; Watanabe & Yonezawa 1 988), providing additional descrip­ tive power. Tokoro & Ishikawa's ( 1 984) ORIENT-84/K is an attempt to unite logic-based and procedural languages in concurrent, distributed frameworks for building knowledge-based systems. The object-based lan­ guage and system KNOS (Casais 1 988) implements relocatable distributed objects, but does so by using multiple copies of important code. Finally, the MACE system (Gasser et a1 1 987b) provides description, distribution, composition, and testbed facilities for CPS systems, but cannot handle dynamic object distribution. Numerous other distributed object-oriented languages and systems have recently appeared; this area promises to be an important and fruitful one in coming years (Agha et al 1 989). 3.6.2 BLACKBOARD FRAMEWORKS Many CPS systems have been im­ plemented under the shared-memory blackboard framework, in which numerous semantically disparate knowledge sources communicate and synchronize via a common shared data area called a "blackboard" (Engel­ more & Morgan 1 988; Erman et al 1 980; Nii 1 986a,b). Most blackboard systems incorporate synchronous schedulers that use high-level scheduling knowledge to select single knowledge sources to execute on each scheduling cycle, making a blackboard problem solver essentially an agenda-based control mechanism. Flexible control in blackboard problem solvers has recently been explored by Hayes-Roth ( 1 985) and by Lesser et al ( 1982). Several generic shells for blackboard systems have been constructed, including the BB I (B. Hayes-Roth 1 985), GBB (Corkill et al 1 986), and ERASMUS (Jagannathan et al 1 987a) shells, and the Edinburgh prolog blackboard shell (Jones & Millington 1 986). The blackboard architecture is fundamentally a shared-memory concept, but several researchers have begun to lay the groundwork for

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS

243

concurrent execution of blackboard knowledge sources, distribution of knowledge levels, and multiple communicating blackboards in systems for CPS. Early experiments with concurrent execution of knowledge sources were carried out by Fennell & Lesser ( 1977), while Lesser & Erman ( 1980) formulated distribution choices for blackboard systems based on par­ titioning knowledge along blackboard design axes such as abstraction level or knowledge location. Lesser and coworkers used multiple blackboards as the basis for their well-known distributed problem-solving system, the DVMT (Lesser & Corkill 1 983), and they have explored many aspects of concurrent and distributed control in blackboard-based systems, including enhanced planning and meta-level control mechanisms for interacting blackboards and the functionally accurate, cooperative (FA/c) model of problem solving (Durfee et al 1 987a; Bond & Gasser 1 988b). CAGE and PO LIGON (Aiello 1 986; Nii et al 1 989) are two frameworks for black­ board systems that exploit user-directed control of parallelism (CAGE) and demon-like invocation of knowledge sources based on blackboard­ triggering conditions and no explicit blackboard controller (PO LIGON). Ensor & Gabbe ( 1986) have implemented a blackboard consistency man­ ager for concurrent execution of knowledge sources in their transactional blackboard concept, and Leao & Talukdar ( 1 986) have suggested the use of special rule sets called ambassadors, which reside in remote blackboard systems, as a triggering and communication mechanism for remote control in a distributed environment. Ambassadors provide deeply embedded mechanisms similar to the remote demons of the MACE system (Gasser et al 1 987b). Finally, Corkill ( 1 988) has discussed systematically several design alternatives for parallelizing blackboard systems. 3.6.3 INTEGRATIVE SYSTEMS Most CPS systems built to date have incor­ porated single architectural and problem-solving paradigms. But larger systems in open environments will need to incorporate multiple problem­ solving styles, on-the-fly composition and integration of problem-solvers and problem-solving knowledge, and multiple perspectives. This has led several researchers to propose and begin to implement integrative systems that serve as control, communication, and interaction frameworks for disparate problem solvers with flexible interaction patterns and recon­ figurable architectures. Perhaps the first of these was the Contract Net system of Smith and Davis (Smith 1 98 1 ; Davis & Smith 1 983), which presented a simple interaction protocol for problem-solving agents, leaving the actual architecture of individual participating agents open. The con­ tract net protocol also allowed for flexible connection and reconfiguration of problem-solving relationships depending upon load, capability, oppor­ tunities, etc. Unfortunately, the full implications of flexible organization

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

244

GASSER

&

HILL

and stable interaction in contract net-like systems have never been fully developed, and this remains an exciting open research area. Sevetal other more recent systems have been advanced as frameworks for integrating multiple problem-solving approaches. These include the ABE system of Erman et al ( 1988), the AGORA distributed system of Bisiani and coworkers ( 1 987b), and Gasser et aI's ( 1 989) MACE. ABE provides a virtual machine based on "module-oriented programming" and a cooperative operating system. ABE's underlying operating system is a distributed system allowing inter-module access and structuring. Users compose systems from preexisting parts at several abstraction levels. For example, the current ABE system provides four problem-solving frame­ works, including a dataflow framework, a blackboard framework, a pro­ cedural framework, and a transaction framework. Problem solvers built using these frameworks may be integrated through the ABE system. ABE allows for the integration of existing knowledge-engineering tools and shells as well. AGORA (Bisiani et al 1 987a,b) is a distributed system framework for integrating multiple heterogeneous problem solvers. AGORA provides a layered environment and a degree of abstraction whereby users may not be aware of the particular physical distribution of resources or programs in the environment. As in ABE, a key aspect of the AGORA approach is the ability to construct and reuse problem-solving frameworks. AGORA provides tools to construct general stream-based and dataflow-based frameworks, and also more specific problem solvers such as a word­ hypothesizer framework for a speech recognition system. Finally, the MACE system (Gasser et al 1 987a,b) provides a low-level concurrent framework for integrating multiple, disparate problem-solving nodes with flexible, user-defined message-based communications. MACE systems are open and reconfigurable, with addressing schemes and agent­ modeling features allowing for configuration and problem-solving organ­ ization based on local knowledge, rather than globally defined structures. As in ABE and AGORA, preexisting problem-solving frameworks have been built, including multiple communicating rule-based system frame­ works, and a semi-generic contract-net framework. 3.6.4 EXPERIMENTAL TESTBEDS Several flexible testbeds have been built for CPS experimentation, and ever greater emphasis is being placed on controlled experimentation as a foundation for developing CPS systems. To allow for repeatable experiments, most CPS testbeds incorporate simu­ lation facilities and allow measurements of such low-level attributes as elapsed processing time (real time and/or simulation time); number of knowledge sources executed (e.g. in blackboard-based systems such as the

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS

245

DVMT); number, types and sources/destinations of messages sent, and of higher-level attributes such as types of goals generated; task and goal allocations; and developing problem-solution graphs. The insights gained from such measurements lead to improved performance, better analysis of system behaviors, and improved debugging and development tools that allow for analysis and visualization of problem-solving (vs low-level process interaction) behavior. The DVMT (Lesser & CorkiIl 1 983; Durfee et al 1 987a) is a testbed designed for experiments with control, organ­ ization, and coordination enhancements in a distributed problem solver for distributed sensing. The DVMT is a distributed simulation; its simu­ lation runs on mUltiple concurrent machines for efficiency (Durfee et al 1 984). An organization description language [EFlGE (Pattison et al 1 987)] was designed allowing a user to specify the testbed operating configuration and parameters for a particular DVMT experiment. MACE (Gasser et al 1 987b) provides b oth a truly concurrent testbed and a simulation facility for development and controlled experimentation with CPS systems. On various MACE versions, the simulation facility is built by using a simulator scheduling loop beneath several MACE kernels on a single processor, or by using message-based synchronization among MACE kernel agents running on multiple processors in a distributed simulation. Several MACE systems have been built by developing agents under the controlled conditions provided by the simulators, and finally executing them in a true concurrent environment. This staged development cycle has proved a useful method for managing the interaction complexity of medium-sized ( � 30 agents) problem solvers. MACE kernels provide facilities for measuring and tracing the execution attributes of agents such as messages sent, alarms and pattern triggers invoked, processing time and agent invocations, etc.

3.7

Practical Engineering Problems

One core issue in building CPS systems is how to observe, understand, and control coordination in an organization of problem solvers. This issue is common to all of the systems described above, and it is what makes building such systems especially difficult. Hence, there are several questions we must ask ourselves with respect to this issue: What is coordination and how can it be measured? How do we observe coordination? What are the variances in coordination that allow us to judge that one act is more coordinated than another? And, how do we assess a system's progress toward solving a problem? These are questions by which we measure progress toward resolving some of the fundamental problems in coor­ dinated p roblem solving. We want tools that will enable us to answer thcse questions with respect to any organizational system we build. We will

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

246

GASSER & HILL

attempt to overcome the obstacles to observing coordinated behavior by visualizing aspects of the organization frequently obscured in the systems currently being built. What makes it difficult to build coordinated problem-solving systems? Coordinated problem-solving systems have several characteristics that make them more difficult to monitor and control than a conventional single-agent system. The first problem is the element of distribution. The agents themselves are typically implemented as individual processes on a disparate set of processors. Consequently, there is no notion of globality in the organization. Each agent has a local clock and local set of variables, and synchronization is limited to what can be done strictly through mess­ age passing. From the point of view of the human interface, these factors make it more difficult to obtain or observe the state of the world at any given instant since the world does not exist except as a distributed set of local states. The second problem is related to the first. Concurrent activities are difficult to observe when the focus is on a single agent or stream of data. When there is only one message stream open to the user interface at a time, then only one activity can be observed. This problem can presumably be solved by simply opening more streams to the interface, but it can never be completely resolved since there are always variable message-passing latencies from the concurrently acting agents, thereby creating illusions as to the actual time of execution of the various activities. Moreover, the user's own focus of attention may not allow the observation of more than one activity simultaneously; hence, it becomes necessary to develop a means of observing that goes beyond merely trying to watch simultaneous events. The third problem is that there are no tools available for compiling the many separate, concurrent actions occurring in the organization into a composite picture or perspective that would reflect the degree of coor­ dination among the problem solvers, nor have we fully developed the models necessary for their implementation. This is a classic problem faced by managers in human organizations who typically develop their own techniques for judging the health of the organization. Milestones, sched­ ules, requirements and design documents, and resource management all represent some of the somewhat objective ways of judging progress, while less tangible things such as employee morale and the levels of contention or criticism also serve as indicators. In each case, the manager uses a technique based on some sort of model that represents one particular perspective or slice of the organization or the problem. The model serves as a means of comparing the current situation to some sort of standard, which in turn allows the manager to generate performance indicators.

COORDINATED PROBLEM SOLVERS

247

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

Coordinated problem-solving systems have many things in common with the human organization metaphor; consequently, there is a need for similar types of tools in order to measure progress and health within the auton­ omous system. Unfortunately, there are few current approaches to these problems. We believe that fundamental investigation into multi-agent processes will require this kind of support but also will inform it. Multi-agent monitoring and diagnosis schemes, for example, can be turned back on the collection of problem solvers itself, to help systems that do organization self-design.

4.

CONCLUSIONS

In this article we have reviewed a number of CPS/DAI application systems and domains, and we have discussed approaches to some fundamental DAI problems. But construction of the road to effective DAI/CPS systems has just begun. To make that road safer and easier to travel, we need further integration of various techniques. For example, how can we unify ideas of theoretically sound interaction protocols with communication requirements for distributed planning? How can we integrate belief models with communication, as in the work of Cohen & Perrault ( 1 979)? By far the most pressing research need is for theories that link features of the knowledge and domain structure to choices on the seven basic engineering questions. Without these, we have little guidance to building effective problem solvers. From a practical standpoint, and indeed to help develop the first two points, another pressing need is the ability to model and analyze program behavior, especially at the problem level rather than at the hardware or implementation-language level. Designers should have automated support for visualizing the behavior of concurrent systems, especially for tracking the generation and solution of problems (goals), task allocation, and resource use.

ACKNOWLEDGMENTS

We thank Dr. Hojjat Adeli of Ohio State University for giving us the initial motivation to write an earlier version of this article. The work has also benefited from the discussion and comments of Nikos Avouris, Alan Bond, Elihu Gerson, Tom Hinke, Toru Ishida, Nicolas Rouquette, Susan Williams, Makoto Yokoo, and anonymous referees. This work has been supported in part by the AT&T affiliates program.

248

GASSER & HILL

Literature Cited Ackland, B . , Dickinson, A., Ensor, R., Gabbe, J., Kollaritch, P., et al. 1 985. CADRE-a system of cooperating VLSI design experts. In Proceedings of ICCD-

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

85

Adler, M. R., Davis, A. B . , Weihmeyer, R., Worrest, R. W. 1 989. Conflict resolution strategies for non-hierarchical distributed agents. See Gasser & Huhns 1989a, pp. 139-62 Agha, G., Hewitt, C. E. 1 985. Concurrent programming using Actors: exploiting large-scale parallelism. AI Memo 865, Mass. Inst. Techno!. Agha, G. 1986a. Actors: A Model of Con­

current Computation in Distributed Sys­ tems. Cambridge, MA: MIT Press

Agha, G. 1 986b. An overview of Actor lan­ guages. SIGPLA N Notices 2 1 ( 1 0) : 58--67 Agha, G., Wegner, P., Yonezawa, A. 1989. Proc. ACM SIGPLAN Workshop on Object-Based Concurrent Programming. SIGPLAN Notices 24(4) Aiello, N. 1986. User-directed control of parallelism: the CAGE system. Tech. Rep. KSL 86-3 1 , Knowledge Syst. Lab., Stan­ ford Univ., Stanford, Calif. Avouris, N., Van Liederkerke, M. H . , Som­ maruga, L. 1 989. Evaluating the CooperA experiment: the transition from an expert system module to a distributed AI testbed for cooperating experts. In Proc. 9th

Workshop on Distributed Artificial Intelli­ gence, ed. M. Benda, pp. 3 5 1 -66, Belle­

vue, Washington Axelrod, R. 1984. The Evolution of Co­ operation, New York: Basic Books Ballim, A . 1986. Generating points of view. Tech. Rep. MCCS-86-68, Comput. Res. Lab., New Mexico State Univ., Las Cruces, New Mexico Barber, G. R. 1983. Supporting organ­ izational problem solving with a work station. A CM Trans. Office Info. Syst. 1 : 45-67 Becker, H. S. 1960. Notes of the concept of commitment. Am. J. Social. 66: 32-40 Benda, M . , Jagannathan, V., Dodhiawalla, R. 1 985. On optimal cooperation of knowledge sources. Tech. Rep. BCS­ G201 O-28, Boeing AI Cent., Boeing Com­ put. Serv., Bellevue, Washington Bisiani, R., Alleva, F., Correrini, F . , Forin, A., Lecouat, F., Lerner, R. 1 987a. Hetero­ geneous parallel processing: the AGORA programming environment. Tech. Rep. CMU-CS-87-11 3 , Comput. Sci. Dept., Carnegie Mellon Univ., Pittsburgh, Penn­ sylvania Bisiani, R., Alleva, F., Forin, A., Lerner, R., Bauer, M . 1987b. The architecture of the

AGORA environment. See Huhns 1 987, pp. 99-1 1 8 Bond, A . H . , Gasser, L . 1988a. A n analysis of problems and research in distributed artificial intelligence. See Bond & Gasser 1988b, pp. 3-35 Bond, A. H . , Gasser, L., eds. 1 988b. Read­

ings in Distributed Artificial Intelligence.

San Mateo, CA: Morgan Kaufmann Bond, A. H. 1989. The cooperation of experts in engineering design. See Gasser & Huhns 1 989a, pp. 462-86 Borchardt, G. C. 1 987. Incremental infer­ ence: getting multiple agents to agree on what to do next. In Proc. 1987 Conf. Am. Assoc. Artif. Intell., pp. 334-39 Brandau, R., Weihmayer, R. 1989. Hetero­ geneous multiagent problem solving in a telecommunications network domain. See Avouris et a1 1989, pp. 41-58 Bruce, B., Newman, D. 1978. Interacting plans. Cognit. Sci. 2(3): 195-233 Cammarata, S., McArthur, D., Steeb, R. 1983. Strategies of cooperation in dis­ tributed problem solving. In Proc. 1983 Int. Joint Conf. Artif. Intell., pp. 767-70 Casais, E. 1988. An object-oriented system implementing KNOs. In Proceedings of

the Conference on Office Information Sys­ tems, pp. 284-90. New York: ACM Press

Cohen, P. R., Perrault, C. R. 1 979. Elements of a plan-based theory of speech acts. Cognit. Sci. 3(3): 1 77-212 Cohen, P. R., Levesque, H. J. 1 987. Persistence, intention, and commitment. Tech. Rep. CSLI-87-88, Cent. Study of Lang. Info., Stanford Univ., Stanford, California Cohen, P. R., Greenberg, M. R., Hart, D. M . , Howe, A. E. 1 989. Trial by fire: under­ standing the design requirements for agents in complex environments. A I Mag.

10(3): 34--48

Conry, S. E., Meyer, R. A . , Lesser, V. R. 1 986. Multistage negotiation in dis­ tributed planning. Tech. Rep. 86-67, Dept. Comput. Info. Sci., Univ. Massachusetts, Amherst Conry, S. E., Meyer, R. A., Pope, R. P. 1989. Mechanisms for assessing the non-local impacts of local decisions in distributed planning. See Gasser & Huhns 1989a, pp. 245-58 Corkill, D. D. 1979. Hierarchical planning in a distributed environment. In Proc. 1979 Int. Joint Can! Artif. Intell. , pp. 1687S Corkill, D. D. 1982. A framework for organ­

izational self-design in distributed problem solving networks. PhD thesis, Univ. Massachusetts, Amherst

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

COORDINATED PROBLEM SOLVERS

Corkill, D. D . , Gallagher, K. Q., Murray, K. E. 1986. GBB: a generic blackboard development system. In Proc. 1986 Con! Am. Assoc. Artif. Intell., pp. 1008-14 Corkill, D. D. 1 988. Design alternatives for parallel and distributed blackboard sys­ tems. Tech. Rep. COINS-TR-88-38, Dept. Comput. Info. Sci., Univ. M assachusetts, Amherst Croft, W. B., Lefkowitz, L. S. 1 987. Know­ ledge-based support of cooperative activi­ ties. Tech. Rep., Dept. Comput. Info. Sci. , Univ. Massachusetts, Amherst Croft, W. B., Lefkowitz, L. S. 1 988. Using a planner to support office work. In Pro­

ceedings of the Conference on Office Infor­ mation Systems, pp. 55-62. New York:

ACM Press Cullingford, R. E. 1 98 1 . Integrating knowl­ edge sources for computer understanding tasks. IEEE Trans. Syst., Man Cybern. SMC- l l ( I ) : 52-60 Cullingford, E., Pazzani, M. 1. 1 984. Word-meaning selection in multiprocess language understanding programs. IEEE Trans. Patt. Anal. Mach. Intel/, PAMI6(4): 493-509 Davis, R. 1 980. Report on the workshop on distributed AI. SIGAR T Newsl. 73: 42-52 Davis, R., Smith , R. G. 1983. Negotiation as a metaphor for distributed problem solving. Artif. Intel!. 20( 1 ) : 63-109 Decker, K. S. 1 987. Distributed problem­ solving techniques: a survey. IEEE Trans. Syst., Man Cybern. SMC- 1 7 : 729-40 Decker, K. S., Durfee, E. H . , Lesser, V . R. 1 9 89. Evaluating research in cooperative distributed problem solving. See Gasser & Huh ns 1989a, pp. 487-5 1 9 d e Kleer, 1. 1 986. A n assumption based truth maintenance system. Artif. Intel!. 28(2): 1 27-62 Doyle, J. 1 979. A truth maintenance system. Artif. Intel!. 1 2(3): 231-72 Durfee, E . H. , Corkill, D . D., Lesser, V. R. 1 984. Distributing a distributed problem solving network simulator. In Proc. 5th Real Time Syst. Symp., pp. 237-46 Durfee, E. H. 1 987. A unified approach to

dynamic coordination: planning actions and interactions in a distributedproblem solving network. PhD thesis, Univ. Massachus­

etts, Amherst Durfee, E. H . , Lesser, V . R. 1 987. Using partial global plans to coordinate dis­ tributed problem solvers. In Pro c . 1987 Int. Joint Con! Artif. Intell., pp. 875-83 Durfee, E. H., Lesser, V . R., Corkill, D. D. 1 987a. Coherent cooperation among com­ municating problem solvers. IEEE Trans. Comput. C-36: 1 275-9 1 Durfee, E. H . , Lesser, V . R., Corkill, D. D . 1 987b. Cooperation through communica-

249

tion in a distributed problem solving net­ work. See Bisiani et al 1987b, pp. 29-58 Durfee, E. H . , Lesser, V. R. 1 989. Nego­ tiating task decomposition and allocation using partial global planning. See Gasser & Huhns 1 989a, pp. 229-44 Durfee, E. H . , Montgomery, T. 1 989. MICE: a flexible testbed for intelligent coor­ dination experiments. See Avouris et al 1 989, pp. 25--40 Elfes, A. 1 986. A distributed control archi­ tecture for an autonomous mobile robot. Int. J. AI Eng. 1 (2) : 99-109 Engelmore, R., Morgan, T. 1988. Black­

board Systems: Theory and Practice.

Reading, MA: Addison Wesley Ensor, 1. R., Gabbe, 1. D. 1 986. Trans­ actional blackboards. Int. J. A rtif. Intel!. Eng. 1 (2): 80--84 Erman, L. D., Hayes-Roth, F. A., Lesser, V . R., Reddy, D. R. 1 980. The Hearsay-II speech-understanding system: i ntegrating knowledge to resolve uncertainty. Com­ put. Surv. 1 2 (2): 2 1 3-53 Erman, L. D., Lark, 1 . S., Hayes-Roth, F. 1 988. ABE: an environment for engin­ eering intelligent systems. IEEE Trans. Software Eng. SE- 1 4(2): 1 758-70 Fennell, R. D., Lesser, V. R. 1977. Par­ allelism in artificial intelligence problem solving: a case study of Hearsay-II. IEEE Trans. Comput. C-26(2) : 98-1 1 1 Fikes, R. E., Hart, P. E., Nilsson, N. 1. 1 972. Some new directions in robot problem solving. In Machine Intelligence, ed. B. Meltzer, D. Michie, 7: 405-30. New York: Wiley Fikes, R. E. 1 982. A commitment-based framework for describing informal co­ operative work. Cognit. Sci. 6(4) : 3 3 1 --47 Findler, N. V ., Lo, R. 1986. An examination of distributed planning in the world of air traffic control. J. Paral!el Distrib. Comput. 3: 4 1 1 -3 1 Fox, M . S . 1979. Organization structuring: designing large complex software. Tech. Rep. CMU-CS-79- 1 55, Dept. Comput. Sci., Carnegie Mellon Univ., Pittsburgh Fox, M. S. 1 98 1 . An organizational view of distributed systems. IEEE Trans. Syst., Man Cybern. SMC- 1 J : 70--80 Gasser, L. 1 986. The integration of com­ puting and routine work. A CM Trans. Office Info. Syst. 4(3): 205-25 Gasser, L. 1 987. PRESSURE: an adaptive, distributed, multi-robot task allocation system. In Proc. SME Con! AI in

Manufact., Long Beach, California

Gasser, L., Braganza, c., Herman, N. 1 987a. Implem enting distributed artificial intel­ ligence systems using MACE. In Proc. 3rd IEEE Con! Art!f Intell. Appl., pp. 3 1 520

250

GASSER & HILL

Gasser, L., Braganza, C., Herman, N. 1 987b. MACE: a flexible testbed for distributed AI research. See Huhns 1 987, pp. 1 1 952 Gasser, L. 1 988a. Distribution and coor­ dination of tasks among intelligent agents. In Proceedings of the First Scandinavian Conference on Artificial Intelligence, pp. 1 89-204. Amsterdam: Int. Org. Servo B.V. Gasser, L. 1 988b. Large scale concurrent computing in artificial intelligence re­ search. In Proceedings of the Third Con­

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

ference on Hypercube Concurrent Com­ puters and Applications. New York: ACM

Press Gasser, L. 1 989. High-level objects in a flex­ ible testbed for distributed AI research. SIGPLAN Notices 24(4) Gasser, L., Huhns, M. N., eds. 1 989a. Dis­ tributed Artificial Intelligence, Vol. 2. Lon­ don: Pitman/San Mateo: Morgan Kauf­ mann Gasser, L., Huhns, M. N. 1 989b. Themes in distributed artificial intelligence research. See Gasser & Huhns 1 989a, pp. vii-xv Gasser, L., Rouquette, N. F., Hill, R. W., Lieb, J. 1 989. Representing and using organizational knowledge in DAI sys­ tems. See Gasser & Huhns 1 989a, pp. 55-78 Geffner, H . , Pearl, 1. 1 987. Distributed diag­ nosis of systems with multiple faults. In

Proc. 3rd IEEE Con! Artif. Intell. Appl.,

pp. 1 56-62 Genesereth, M. R., Ginsburg, M. L., Rosen­ schein, 1. S. 1 986. Cooperation without communication. In Proc. 1986 Con! Am. Assoc. Artif. Intell., pp. 5 1-57 Georgeff, M. P. 1 983. Communication and interaction in multi-agent planning. In

Proc. 1983 Con! Am. Assoc. Artif. Intell.,

pp. 1 25-29 Georgeff, M. P. 1 984. A theory of action for multi-agent planning. In Proc. 1984 Con! Am. Assoc. Artif. Intell., pp. 1 2 1-25 Georgeff, M. P. 1 986. The representation of events in multi-agent domains. In Proc. 1986 Con! Am. Assoc. Artif. Intell., pp. 70-75 Gerson, E. M. 1 976. On quality of life. Am. J. Sociol. 4 1 : 793-806 Gerson, E. M., Star, S. L. 1 986. Analyzing due process in the workplace. A CM Trans. Office Info. Syst. 4(3): 257-70 Goldstein, I. 1 975. Bargaining between goals. In Proc. 1975 Int. Joint Con! Artif. Intell., pp. 1 75-80, Tbilisi, USSR Halpern, J. Y., Moses, Y. 1 984. Knowledge and common knowledge in a distributed environment. In Proc. 3rd A CM Con! Principles of Distrib. Comput., pp. 50-61 Halpern, 1. Y. 1 986. Theoretical Aspects of

Reasoning About Knowledge: Proceedings

of the 1986 Conference. San Mateo, CA:

Morgan Kaufmann Halpern, l. Y. 1 987. Using reasoning about knowledge to analyze distributed systems. Annu. Rev. Comput. Sci. 2: 3 7-68 Harmon, S. Y . , Gage, D. W., Aviles, W. A., Bianchini, G. L. 1 984. Coordination of intelligent subsystems in complex robots. In Proc. 1st Conf. AI Appl., pp. 64-69 Hayes-Roth, B . , Hayes-Roth, F. A. 1 979. A cognitive model of planning. Cogn. Sci. 3(4): 275-3 1 0 Hayes-Roth, B. 1985. A blackboard archi­ tecture for control. Artif. Intell. J. 26: 2 5 1 32 1 Hayes-Roth, B., Hewett, M . , Washington, R., Hewett, R., Seiver, A. 1 989. Distrib­ uting intelligence within and individual. See Gasser & Huhns 1 989a, pp. 385-4 1 2 Hem, L. E. C. 1 988. O n distributed artificial intelligence. Knowl. Eng. Rev. 3 (Part I): 2 1-57 Hewitt, C. E. 1 977. Viewing control struc­ tures as patterns of passing messages. Artif. Intell. 8(3): 323-64 Hewitt, C. E., long, P. de 1 984. Open systems. In On Conceptual Modeling, pp. 147-64. New York: Springer Hewitt, C. E. 1 985. The challenge of open systems. Byte 1 0 (4): 223-42 Hewitt, C. E. 1 986. Offices are open systems. ACM Trans. Office Info. Syst. 4(3): 27 1 87 Huberman, B . , ed. 1 988. The Ecology of Com­ putation. Amsterdam: Elsevier Science/ North Holland Hudlicka, E., Lesser, V. R., Pavlin, 1., Rewari, A. 1 986. Design of a distributed diagnosis system. Tech. Rep. COINS-TR86-63, Dept. Comput. Info. Sci., Univ. Massachusetts, Amherst Hudlicka, E., Lesser, V. R. 1987. Modeling and diagnosing problem solving system behavior. IEEE Trans. Syst., Man Cybern. SMC- 1 7 (3): 407- 1 9 Huhns, M . N . , ed. 1 987a. Distributed Arti­ ficial Intelligence. London: Pitman/San Mateo, CA: Morgan Kaufmann Huhns, M. N., Mukhopadhyay, U., Stephens, L. M . , Bonnell, R. D. 1 987b. DAI for document retrieval: the MINDS project. See Huhns 1 987a, pp. 249-84 Ishida, T. 1 989. CoCo: a multi-agent system for concurrent and cooperative operation tasks. See Avouris et a1 1 989, pp. 1 97-2 1 4 lagannathan, V . , Baum, L. S . , Dodhiawala, R. 1 987. ERASMUS: a reconfigurable object-oriented blackboard system. In

Proc. 2nd Int. Symp. Methodol. Intell. Syst., ed. Z. W. Ras, M. Zemankova, pp.

87-95 Jones, 1., Millington, M. 1 986. An Edin­ burgh prolog blackboard shell. In Black-

COORDINATED PROBLEM SOLVERS

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

board Systems, Theory and Practice, ed.

R. Englemore, T. Morgan, Reading, MA: Addison Wesley Kamel, M . , Syed, A. 1 989. An object­ oriented multiple-agent planning system. See Gasser & Huhns 1 989a, pp. 259-90 Katz, M . J . , Rosenschein, J. S. 1989. Plans for multiple agents. See Gasser & Huhns 1989a, pp. 1 97-228 Kephart, J., Hogg, T., Huberman, B. A. 1989. Dynamics of computational eco­ systems: implications for DAI. See Gasser & Huhns 1 989a, pp. 79-96 Klein, M . , Lu, S., Baskin, A., Stepp, R. 1 989. Towards a theory of conflict resolution in cooperative design. See Avouris et al 1989, pp. 329-50 Konolige, K. 1982. A first-order for­ malization of knowledge and action for a multi-agent planning system. In Machine Intelligence 10. Ellis Horwood, 82 Konolige, K. 1986. A Deduction Model of Belief London: Pitman/San Mateo: Mor­ gan Kaufmann Kornfeld, W. A., Hewitt, C. E. 1 98 1 . The scientific community metaphor. IEEE Trans. Syst., Man Cybern. SMC- l l ( 1 ) : 24-33 Kuwabara, K., Lesser, V. R. 1989. Extended protocol for multistage negotiations. See Avouris 1989, pp. 1 29-62 Lane, D. M . , Chandler, M. 1., Robertson, E. W., McFazdean, A. G. 1989. A distributed problem-solving architecture for knowl­ edge-based vision. See Gasser & Ruhns 1 989a, pp. 433-62 Lawrence, P. R., Lorsch, J. W. 1969. Organ­ ization and Environment. Homewood, IL: Richard D. Irwin Leao, L. V., Talukdar, S. N. 1 986. An environment for rule-based blackboards and distributed problem solving. Int. J. Artif. Intell. Eng. 1 (2): 70-79 Lenat, D. B . 1975. Beings: knowledge as interacting experts. Proc. 1975 Int. Joint Con! Artif. Intell., pp. 1 26-33 Lesser, V . R., Erman, L. D. 1 980. Dis­ tributed interpretation: a model and experiment. IEEE Trans. Comput. C29(12): 1 1 44-63 Lesser, V. R., Corkill, D. D. 1 98 1 . Func­ tionally accurate, cooperative distributed systems. IEEE Trans. Syst., Man Cybern. SMC- 1 1 ( 1 ) : 8 1 -96 Lesser, V. R., Corkill, D. D., Hudlicka, E. 1982. Unifying data-directed and goa1directed control: an example and experi­ ments. In Proc. 1982 Can! Am. Assoc. Artif. Intell., pp. 143--47 Lesser, V. R., Corkill, D. D. 1 983. The dis­ tributed vehicle monitoring testbed: a tool for investigating distributed problem solv­ ing networks. AI Mag., pp. 1 5-33

25 1

Lesser, V. R., Corkill, D. D. 1987. Dis­ tributed problem solving. In Encyclopedia ofArtificial Intelligence, ed. S. C. Shapiro, pp. 245-5 1 . New York: Wiley Lesser, V. R., Pavlin, J., Durfee, E. H. 1 988. Approximate processing in real time prob­ lem solving. AI Mag. 9 ( 1 ) : 49-61 Maes, P. 1 988. Computational reflection. Knowl. Eng. Rev. 3 ( 1 ) : 1 - 1 9 Malone, T. W. 1 9 8 7 . Modeling coordination in organizations and markets. Manage. Sci. 3 3 ( 1 0) : 1 3 1 7-32 Malone, T. W. 1 988. Organizing infor­ mation processing systems: parallels between human organizations and com­ puter systems. In Cognition, Cooperation and Computation, ed. W. Zachary, S. Robertson, J. Black. Norwood, NJ: Ablex Manning, P. K. 1977. Rules in an organ­ izational context. In Organizational Analysis: Critique and Innovation, ed. J. K. Benson, pp. 46-63. Beverly Hills, CA: Sage Publications Mason, R. 0., Mitroff, I. I. 1 98 1 . Challenging Strategic Planning Assumptions. New York: Wiley Mason, C. L., Johnson, R. R. 1 989. DATMS: a framework for distributed assumption-based reasoning. See Gasser & Huhns 1989a, pp. 293-3 1 8 Mazer, M . S. 1 988. Connection and nego­

tiated commitment in organizational com­ puter systems (a knowledge theoretic approach). PhD thesis, Univ. Toronto

McArthur, D., Steeb, R., Cammarata, S. 1 982. A framework for distributed prob­ lem solving. In Proc. 1982 Con! Am. Assoc. Artif. Intell., pp. 1 8 1-84 Mukhopadhyay, U., Stephens, L., Ruhns, M., Bonnell, R. 1 986. An intelligent sys­ tem for document retrieval in distributed office environments. J. Am. Soc. Info. Sci. 37: 1 23-35 Newell, A. 1982. The knowledge level. Artif. Intell. 1 8 ( 1 ) : 87-127 Nii, H. P. 1986a. Blackboard systems: black­ board application systems, blackboard systems from a knowledge engineering perspective. AI Mag. 7(3): 82-106 Nii, H. P. 1 986b. Blackboard systems: the blackboard model of problem solving and the evolution of blackboard architectures. AI Mag. 7(2): 38-53 Nii, H. P., Aiello, N., Rice, J. 1 989. Experi­ ments on CAGE and POLIGON: measur­ ing the performance of parallel black­ board systems. See Gasser & Huhns 1989a, pp. 3 1 9-84 Nirenberg, S., Lesser, V. R. 1986. Providing intelligent assistance in distributed office environments. In Proc. A CM Conf Office Info. Syst., pp. 104-12 Parsons, T., Shils, E. A. 1 95 1 . Toward a

252

GASSER & HILL

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

General Theory of Action. Cambridge,

MA: Harvard Univ. Press Parunak, H. Van Dyke 1 987. Manufacturing experience with the contract net. See Huhns 1 987a, pp. 285-3 1 0 Pattison, H . E . , Corki11, D . D . , Lesser, V . R. 1987. Instantiating descriptions of organ­ ization structures. See Huhns 1 987a, pp. 59-96 Pavlin, l. 1 983. Predicting the performance of distributed knowledge-based systems: a modeling approach. In Proc. 1983 Con! Am. Assoc. Artif. Intell., pp. 3 1 4- 1 9 Pearl, J . 1 982. Reverend Bayes on inference engines: a distributed hierarchical ap­ proach. In Proc. 1982 Can! Am. Assoc. Artif. Intell., pp. 1 33-36 Pearl, J. 1 987. Distributed revision of com­ posite beliefs. Artif. Intell. 33(2): 1 73215 Reiter, R . 1 978. O n closed world databases. In Logic and Databases, ed. H. Gallaire, 1. Minker, pp. 55-76. New York: Plenum Rieger, C, Smal1, S. 1 98 1 . Toward a theory of distributed word expert natural lan­ guage parsing. IEEE Trans. Syst., Man Cybern. SMC- l l ( 1 ) : 43-5 1 Rosenschein, 1. S. 1 982. Synchronization of multi-agent plans. In Proc. 1982 Con! Am. Assoc. Artif. Intell., pp. 1 1 5- 1 9 Rosenschein, 1. S . 1 985. Rational interaction: cooperation among intelligent agents. PhD thesis, Stanford Univ. Rosenschein, 1 . S., Genesereth, M. R. 1 985. Deals among rational agents. In Proc. 1985 Int. Joint Con! Artif. Intell., pp. 9 199 Rosenschein, S. 1 . 1 987. Formal theories of knowledge in AI and robotics. Tech. Rep. CSLI-87-84, Cent. Study Lang. Info., Stanford, Calif. Rosenschein, 1., Breese, 1. 1 989. Communi­ cation-free interactions among rational agents: a probabilistic approach. See Gasser & Huhns 1 989a, pp. 99-1 1 8 Sacerdoti, E . D . 1 978. What language under­ standing research suggests about dis­ tributed artificial intelligence. In Proc.

1978 DARPA Distributed Sensor Nets Workshop, Defense Advanced Research

Projects Agency, pp. 8-1 1 . Pittsburgh, PA: Dept. Comput. Sci ., Carnegie Mellon Univ. Sathi, A., Fox, M. S. 1 989. Constraint­ directed negotiation of resource real­ locations. See Gasser & Huhns 1 989a, pp. 1 63-94 Schank, R. C, Abelson, R. P. 1 977. Scripts,

Plans, Goals and Understanding: An Inquiry into Human Knowledge Structures.

Hillsdale, NJ: Lawrence Earlbaum Assoc. Shaw, M. J., Whinston, A. B. 1 989. Learning and adaptation in distributed artificial

intelligence systems. See Gasser & Huhns 1 989a, pp. 4 1 3-30 Simon, H. A. 1 957. Models of Man. New York: Wiley Smith, R. G. 1 980. The contract net pro­ tocol: high-level communication and con­ trol in a distributed problem solver. IEEE Trans. Comput. C-29 ( 1 2): 1 1 04- 1 3 Smith, R . G . 1 98 1 . A Framework for Dis­ tributed Problem Solving. UMI Res. Press Smith, R. G., Davis, R. 1 9 8 1 . Frameworks for cooperation in distributed problem solving. IEEE Trans. Syst., Man Cybern. SMC- l 1 ( 1 ) : 6 1-70 Smith, B. C. 1 986. Varieties of self-reference. In Proc. 1986 Con! Theoretical Aspects of Reasoning About Knowledge, ed. 1. Y . Halpern, p p . 1 9-43. San Mateo: Morgan Kaufmann Star, S. L. 1 989. The structure of il1-struc­ tured solutions: boundary objects and heterogeneous distributed problem solv­ ing. See Gasser & Huhns 1 989a, pp. 37-54 Steeb, R., Cammarata, S., Hayes-Roth, F . A., Thorndyke, P . W . , Wesson, R. B. 1 98 1 . Distributed intelligence for air fleet control. Tech. Rep. R-2728-ARPA, Rand Corporation, Santa Monica, CA Steeb, R., McArthur, D., Cammarata, S., Narain, S., Giarla, W. 1 984. Distributed problem solving for air fleet control: framework and implementations. Tech. Rep. N-2 1 3 9-ARPA, Rand Corporation, Santa Monica, CA Steeb, R., Cammarata, S., Narain, S . , Rothenberg, 1 . , Giarla, W. 1 986. Coop­ erative intelligence for remotely piloted vehicle fleet control. Tech. Rep. R-3408ARPA, Rand Corporation, Santa Mon­ ica, CA Stephens, L., M�rx, M . 1 989. Agent organ­ ization as an effector of DAI system per­ formance. See Avouris 1 989 Strauss, A . , Schatzman, L . , Ehrlich, D . , Bucher, R., Sabshin, M . 1 9 6 3 . The hos­ pital and its negotiated order. In The Hos­ pital in Modern Society, ed. E. Friedson. New York: Free Press Strauss, A. L. 1 978. Negotiations: Varieties, Contexts, Processes and Social Order. San Francisco: Jossey-Bass Suchman, L. 1 987. Plans and Situated

Actions: The Problem of Human-Machine Communication. New York: Cambridge

Univ. Press Sugawara, T. 1 990. A cooperative LAN diagnostic and observation expert system. In IEEE Phoenix Int. Con! Comput. Com­

mun.

Sycara, K. P. 1 985a. Arguments of per­ suasion in labor mediation. In Proc. 1985

Int. Joint Con! Artif. Intell.

COORDINATED PROBLEM SOLVERS Sycara, K. P. 1 985. Persuasive argu­ mentation in resolution of collective bar­ gaining impasses. In Proc. Cogn. Sci. Con! , pp. 356-60 Sycara, E. P. 1 987. Resolving adversarial con­

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

flicts: an approach integrating case-based and analytical methods. PhD thesis, Geor­

gia Inst. Techno!. Sycara, K. P. 1 988. Resolving goal conflicts via negotiation. In Proc. 1988 Con! Am. Assoc. Artif. Intell. San Mateo, CA: Mor­ gan Kaufmann Sycara, K. P. 1 989. Multiagent compromise via negotiation. Gasser & Huhns 1 989a, pp. 1 1 9-38 Thorndyke, P. W., McArthur, D., Cam­ marata, S. 198 1 . Autopilot: a distributed planner for air fleet contro!' In Proc. 1983 Int. Joint Con! Artif. Intell., pp. 1 7 1-77 Tokoro, M . , Ishikawa, Y. 1 984. An object­ oriented approach to knowledge systems.

Proc. Int. Con! Fifth Generation Comput. Syst., pp. 623-3 1

Watanabe, T., Yonezawa, A. 1 988. Reflec­ tion in an object-oriented concurrent lan­ guage. In Proc. A CM Con! Object-Ori-

253

ented Syst. Lang., pp. 306- 1 5 . New York:

. ACM Press ; '" . Wesson, R. B . , Hayes-Roth, F. A., Burge, J. W., Stasz, c., Sunshine, C. A. 1 98 1 . Network structures for distributed situ­ ation assessment. IEEE Trans. Syst., Man Cybern. SMC- l 1 ( 1 ) : 5-23 Wilks, Y., Bien, J., 1 983. Beliefs, points of view, and multiple environments. Cogn. Sci. 7: 95-1 1 9 Willer, D., Anderson, B . 1 98 1 . Networks, Exchange, and Coercion. New York: Else­ vier/North Holland Winograd, T., Flores, F. 1986. Under­ standing Computers and Cognition. Nor­ wood, NJ: Ablex Yang, J.-Y. D . , Huhns, M . N., Stephens, L . M . 1 985. An architecture for control and communications in distributed artificial intelligence systems. IEEE Trans. Syst., Man Cybern. SMC- 1 5: 3 16-26 Yonezawa, A. , Briot, J.-P., Shibayama, E. 1 986. Object-oriented concurrent pro­ gramming in ABCL/ ! . In Proc. 1986 Con! Object-Oriented Program. Syst. Lang., pp. 258-68

Annual Review of Computer Science Volume 4, 1989-1990

ANNUAL REVIEWS

Further

Quick links to online content

CONTENTS

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

REFLECTIONS ON COMPUTER SCIENCE, John E. Hopcroft

1

SUPERCOMPUTERS, Paul B. Schneck

13

REASONING UNDER UNCERTAINTY, Judea Pearl

37

A SURVEY OF DISTRIBUTED FILE SYSTEMS, M. Satyanarayanan

73

COMPLEXITY CLASSES, Neil Immerman

105

NUMBER THEORETIC ALGORITHMS, Eric Bach

119

INSTRUCTION SCHEDULING FOR SUPERSCALAR ARCHITECTURES,

Monica S. Lam

173

ENGINEERING COORDINATED PROBLEM SOLVERS, Les Gasser and

Randall W. Hill MACHINE LEARNING, Thomas G. Dietterich

203 255

CHANNEL ROUTING FOR INTEGRATED CiRCUITS, Andrea La Paugh

and R. Pinter

307

SPECIAL TOPICS SECTION

Connectionist Systems, Jerome Feldman, Leon Cooper, Christof Koch, Richard Lippman, David Rumelhart, Daniel Sabbah, and David Waltz

369

Intelligent Training Systems, Alan Lesgold, Susan Chipman, John Seely Brown, and Eliot Soloway

383

Knowledge-Based Systems, Bruce Buchanan, Daniel Bobrow, Randall Davis, John McDermott, and Edward Shortliffe

395

Machine Learning, Tom Mitchell, Bruce Buchanan, Gerald Dejong, Thomas Dietterich, Paul Rosenbloom, and Alex Waibel

417

Natural Language Processing, Ralph Weischedel, Jaime Carbonell, Barbara Grosz, Wendy Lehnert, Mitchell Marcus, Raymond Perrault, and Robert Wilensky

435

Prototyping, Robert Balzer, Frank Belz, Robert Dewar, David Fisher, Richard Gabriel, John Guttag, Paul Hudak, and Mitchell Wand VI

453

vii Robotics, A Long-Range Plan to Maximize National Capabilities, John E. Hopcroft, Mark Cutkosky, and Tomas Lozano-Perez

467

Spoken Language Systems, J. Makhoul, Fred Jelinek, Larry

481

Rabiner, Clifford Weinstein, and Victor Zue Ultra-Dependable Architectures, Daniel P. Siewiorek, M. Y. Hsiao,

503

David Rennels, James Gray, and Thomas Williams Vision, Takeo Kanade, Tom Binford, Tomaso Poggio, and

517

Annu. Rev. Comput. Sci. 1990.4:203-253. Downloaded from www.annualreviews.org by University of Southern California (USC) on 02/12/13. For personal use only.

Azriel Rosenfeld INDEXES Subject Index Cumulative Index of Contributing Authors, Volumes Cumulative Index of Chapter Titles, Volumes

1-4

1-4

531 537 539