Decision Support Systems 12 (1994) 79-91 North-Holland,
79
A n active intelligent decision support system - Architecture and simulation H. Raghav Rao, Ramalingam Sridhar and Sudeep Narain State University of New York at Buffalo, Buffalo, N Y 14260, USA Development and implementation of decision support systems to support intelligent decision making is an area of research that has gained in importance in recent years. Due to the increased complexity of decision making, active involvement of the user and the computer in an intelligent way is necessary in the decision process. This paper presents issues in the design of an active intelligent decision support system (IDSS), develops an architectural model based on cooperative distributed problem solving, and performs a simulation of the system using object oriented programming for an example application in airfleet control.
Keywords: Intelligent decision support; Architecture; Simulation; Cooperative distributed problem solving.
I. Introduction
Historically, researchers have developed systems that support decision making in managerial and organizational situations [1]. Such systems, called decision-support systems (DSS), typically consist of software for database, model base, and user interface management. The design of a DSS has predominantly consisted of software development on a general purpose computer system [1,2]. However, as Elam and Mead [3] have pointed out, very few researchers have considered detailed architectural implementation and design issues. Many of the decision-support systems offer passive forms of decision support, as mere corn-
Corresponding to: Dr. H. Raghav Rao 325G Jacobs Management Center State University of New York at Buffalo Buffalo, NY 14260, USA. phone: (716) 645-3425. email: mgmtrao@ acsu.buffalo.edu.
puterized assistants, where the decision making process depends on the user's initiative. An alternate viewpoint, advocated by Manheim and Mili [4,5,6,7,8], suggests active involvement of a DSS in the decision making process. Such active involvement is especially needed in complex decision making environments. The advent of improved techniques in computer system development and artificial intelligence (AI) makes it feasible to implement active intelligent decision support systems (IDSS). Distributed artificial intelligence techniques, principles of cooperative distributed problem solving (CDPS) [12,13,14,15,16,17,18,19], and cognitive modeling [20] can play a major role in the implementation of intelligent systems. Distributed problem solving networks are distributed networks of semiautonomous problem solvers that cooperatively interact with each other on a very limited basis in reaching a solution to the problem [12]. CDPS is the process by which loosely coupled problem solvers cooperate to solve subproblems from a given domain of problem solving, and integrate the subsolutions into an effective overall solution [21]. Cognitive modeling has inspired viable approaches for facilitating human-machine interaction, such as the menudriven user interface [20]. This research presents an intelligent decision support system that incorporates the concepts of an active DSS. An architectural framework is modeled on the CDPS architecture. The IDSS has a set of knowledge-based processors, with a centralized controller that coordinates the activities of the individual processors in arriving at a consolidated solution. The architecture uses a message board, which is implemented as a shared memory system. The IDSS system is simulated on a Sun platform using X-window interface and object oriented programming(C+*). Menu-driven interfaces are used for facilitating interaction be-
0167-9236/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0 1 6 7 - 9 2 3 6 ( 9 2 ) 0 0 0 8 6 - S
80
H. Raghav Rao et al. / An active intelligent decision support system
tween the user and the IDSS. The 1DSS simulation is performed for an example application of command decision making in air-fleet control. The role of the IDSS developed here is not to replace the human decision maker but to function as a tool for decision making by complementing the user's abilities of problem solving in the application domain. In the process of problem solving, at various intermediate stages, the IDSS presents a user ~ with different alternatives to choose from, thus determining the problem solving path. By providing a user with the ability to determine the problem solving path, the IDSS has the flexibility of adapting to a user's style of problem solving, an important and essential aspect in the design of decision-support systems [22].
2. Background Early decision support systems were computer systems that utilized decision rules and models coupled with databases to help decision makers solve semistructured and unstructured problems [1,23,24]. Keen defines DSS to be an interactive computer-based aid designed to assist managers in complex tasks requiring human judgment [25]. Moore and Chang [26] suggest that DSS is an extensible system that is oriented toward future planning and has an intrinsic capability to support ad hoc data analysis and reduction, as well as decision modeling activities. These early systems can be classified as passive forms of decision support, where the systems do what the users explicitly direct them to do. For example, they answer what-if kinds of questions, and support a narrow range of decision-making tasks. A new definition for decision-support systems that provides active support to the decision maker has been proposed by Manheim [4]. An active system operates almost independent of explicit direction from the users to provide support that the user finds helpful. A computer maintains an updated model of the user problem-working process and complements the user's work in a number of forms, such as suggesting alternate actions 1 Throughout this paper, the words user and decision maker are used interchangeably and they are assumed to be human.
and indicating issues that the user might 'have overlooked. The system has two independent processes, one user directed and the other computer directed. The user initiates the problem solving process and subsequently the computer may activate some processes, which would operate without explicit direction from the user. The result of the computer directed process can be used by the user in arriving at a solution. In the recent past, researchers [27,28,10,29] have focused on tandem architectures that synthesize expert systems and decision support systems. An expert system is a decision-making/ problem-solving integrated package that contains a knowledge base for a particular problem domain, and a reasoning mechanism for inference [30,31]. A DSS on the other hand helps decisionmakers utilize data and models from its database and model-base to solve unstructured or semistructured problems by allowing the user to approach a problem analysis in a flexible, personal way [22]. While a typical DSS supports quantitative, mathematical, and analytical reasoning, a typical expert system can support qualitative analysis based on methodologies such as symbolic reasoning and pattern recognition. Integrating the two into an intelligent decision support system [27,28,10,29] can thus support various types of problem solving processes and provide active modes of support to the decision maker.
3. Architectural model
3.1. The underlying process In this subsection, we describe the basis for modeling problem solving situations within the IDSS. An independent agent can look at a problem from different, often incommensurate frames of reference [33]. This can be equivalently described by a model where different agents solve a problem from their own perspective, and then collaborate together to try and reach a common goal. Thus the decision process is analogous to that of a group of decision makers, who cooperate with each other in generating a composite solution. The IDSS developed in this research reflects such an organization in which decision making is distributed among a set of agents. Each agent has a knowledge base pertaining to a spe-
H. Raghav Rao et al. / An active intelligent decision support system
Model
~Fa~i]it atin1
Subsystem Controller Data
81
Element V Decision
l_
~ubsystemI Knowledge Subsystem
Fig. 1. Block level representation of an IDSS cific area within the problem solving domain and the expertise to solve problems from that area. Coordination and cooperation among the agents is effected by a controller that exercises control over these agents. Further, the IDSS is designed to support decision making actively, an approach that essentially stems from the fundamental suggestions of Mili and Manheim [4,5,6,7]. Symbiosis between the user and the computer in decision making is emphasized by the active IDSS. In this paper, the
IDSS Facilita~ CONTROLLER
~-
Element
symbiosis is achieved by the IDSS with the help of an intelligent menu-driven interface between the user and the computer that helps in the initiation of the various processes. The purpose of the menu interface for user interaction is to create a "constrained cognitive architecture" [34,20]. The conceptual model of a system's functionality is represented in menu selections by the order of menus presented to the user in a top down fashion [20]. This menu selection model of user interaction represents the engagement of a
+ Decision
MESSAGEBOARD
Fig. 2. The architecture for the IDSS
82
H. Raghav Rao et al. / An active intelligent decision support system
set of cognitive processes. The menus define and limit the flow of control and information through the interface. The approach taken in this paper closely follows the tree model specified by Norman [20]. In the tree model, menu traversal occurs from a central node to leaves according to increasing levels of specificity. Once one such a path is completed for a particular subproblem domain, another similar tree model is used to specify the details of another subproblem domain. The computer-directed processes in the IDSS can either independently operate in helping the user in the solution process, or interact with the user. The system embodies limited forms of knowledge as a set of production rules and draws on the user's knowledge of the problem solving domain. The user can influence the solution path by selecting different alternatives at the user interface and by selecting a desired solution from the alternatives provided by the IDSS. In this process the IDSS helps the user in analyzing the different alternatives (using the past history and the problem solving steps). The knowledge and problem solving abilities of the IDSS are complemented by the user's expertise in generating an effective solution, and thus the user helps in guiding the problem solving process. Thus, the system is modeled using a distributed problem solving approach.
3.1.1. Architectural specifications Problem solving between the IDSS and the user is an interactive process in which the user applies his judgment and experience to the knowledge and abilities of the IDSS. The organization of a typical DSS [22,1] is used as the basis for the development of the IDSS architecture and is shown in Figure 1. A detailed architecture illustrating the various components of the IDSS is presented in Figure 2. Controller
The controller is the heart of the IDSS and has indirect or direct control over all the constituents of the system. In developing a solution to a given problem, the controller uses (a) The Facilitating Element (FE) to communicate with the user (b) The model subsystem to select a suitable model for solving the problem
Menu1
IDSS Menu System Click in window to make selection
Indicate re,q,ion of operation: Region1 Region2 Region3 Menu2
IDSS Menu System Click in window to make selection Friendly lorces i~olvemenl
PO
Menu7
IDSS Menu System Clic~ in window to make selection
Indicate available aircraft F16
F15
B2
F1
F9
$9
Cancel
Enter
Fig. 3. Sample menus
(c) The data subsystem to perform all data related tasks and (d) A knowledge subsystem to generate a single or a set of alternate solutions. Communication between the user and the IDSS is accomplished through a facilitating element, implemented as a menu-driven interface. The model subsystem contains a library of models needed for the problem solving and the routines that manage these models. The controller applies the data stored in the data subsystem for a given problem to the models stored in the model subsystem. In the implementation, the controller has two subcomponents, a task allocator and a conflict resolver (CR). The task allocator is used to allocate subproblems to the processors in the knowledge subsystem. The conflict resolver is used in the resolution of conflicts of variables within the knowledge subsystem.
H. Raghav Rao et al. / A n active intelligent decision support system
83
The data subsystem stores factual information about the problem solving domain in general and the current problem in particular. It provides data to the computing elements and the user during the problem solving process. This is implemented as part of the controller subsystem.
main. This knowledge is distributed among a loosely coupled network of domain intensive processors that can individually solve an aspect of the problem and collectively cooperate to solve a given problem within the domain of the IDSS. Each of these processors, called a knowledge processor (KP), contains knowledge in a specific domain and functions under the direction of a centralized controller. These knowledge processors implement the knowledge source of the system. The controller is a special kind of knowledge processor containing global knowledge, and is used to formulate subproblems, identify the KPs that can be used to solve these subproblems, distribute the tasks accordingly, coordinate the efforts of the KPs, and construct a composite solution. Following the literature in distributed artificial intelligence, this research focuses on the class of problems, where the main problem can be divided into relatively independent, marginally overlapping subproblems. The marginal dependency of the subproblems is such that it can be handled by a simple conflict resolution scheme. This system has a distributed set of processors with a limited centralized control. A problem is first divided into subproblems and distributed to appropriate KPs. This is better handled by one central controller, since only one processor needs to keep track of the information about the subdivision. The subproblems are relatively independent, and hence, individual KPs do not often have to interact with each other. However, they may share common resources. Each of the KPs has its own memory space. Part of the memory space of the processor acting as the controller is designated as a message board and all the processors are given access to read this memory.
Model subsystem
Message board
The model subsystem stores typical problem solving techniques for the problem solving domain. It provides analytical and mathematical models to the computing elements. It also stores the necessary information that is used to decompose a given problem into its subproblems, in the form of a set of rules. This is implemented as part of the controller subsystem.
The message board (MB) is used as the means for communication among the KPs. The use of such an approach has been influenced by the blackboard architectures often used in distributed AI systems [13,35]. Both the message board and the blackboard architectures are memory subsystems that can store data structures to be used by various parts of the knowledge subsystem. The blackboard paradigm provides design guidelines for intelligent systems in a serial computing framework [35]. The blackboard data structure stores global data and the control data are stored
Facilitating element The facilitating element (FE) incorporates the communication interface between the user and the IDSS. This interface is implemented as a menu-driven interface in which the IDSS presents its queries to the user in the form of a menu with alternate selections. The F E processes the user's response and may either generate another menu to present further queries to the user or display a result. If a response points out that none of the listed options is acceptable, the user is presented with an edit window. The user can give a new value by simply typing in the response. The FE has the ability to interpret such a response by parsing through the text. This form of a menu-driven user interface [20] has been chosen over a natural-language interface because of its practicality. A history recorder records the various steps taken in the decision process. The facilitating element, with the help of the controller, uses the history recorder in answering various queries of the user. The menus are not fully preset and the user has freedom in directing the sequence of menu options presented by the system. In time critical situations, a user may prefer to use simple preset menus that have the best performance. However, the user still has the option of creating menus based on h i s / h e r experience.
Data subsystem
Knowledge subsystem The knowledge subsystem of the IDSS contains the knowledge of the problem solving do-
84
H. Raghat, Rao et al. / An actiue intelligent decision support system
in a c o n t r o l d a t a structure. K n o w l e d g e sources that a r e l i n k e d to t h e b l a c k b o a r d have a set of rules u s e d in t h e p r o b l e m solving p r o c e s s a n d are a l l o w e d to c h a n g e the b l a c k b o a r d o r c o n t r o l d a t a d u r i n g this process. T h e k n o w l e d g e sources act s e q u e n t i a l l y on t h e s e data. T h e m e s s a g e b o a r d a r c h i t e c t u r e p r e s e n t e d is a s p e c i a l i z a t i o n of t h e b l a c k b o a r d a r c h i t e c t u r e . T h e m e s s a g e b o a r d is a s h a r e d m e m o r y r e s o u r c e a m o n g t h e d i f f e r e n t k n o w l e d g e p r o c e s s o r s (including t h e c o n t r o l l e r ) a n d it stores various d a t a that a r e c o m m o n to d i f f e r e n t k n o w l e d g e p r o c e s sors. H o w e v e r , t h e d i f f e r e n t k n o w l e d g e p r o c e s s e s can b e i n v o k e d in p a r a l l e l a n d can access t h e d a t a at t h e s a m e time. E a c h p r o c e s s o r has a c e r t a i n m e m o r y b l o c k private to itself, t h a t can b e m o d i fied only by t h a t p r o c e s s o r [36]. A l l o t h e r KPs a r e only allowed to r e a d f r o m this m e m o r y region. By k e e p i n g s e p a r a t e write r e g i o n s on the MB, it is e n s u r e d t h a t the d a t a w r i t t e n by o n e K P is not c o r r u p t e d by a n o t h e r KP. Such a m e c h a n i s m is e n f o r c e d by the c o n t r o l l e r . By p r o p e r l y m a p p i n g p o r t i o n s of the m e s s a g e b o a r d ' s m e m o r y to t h e individual KPs, t h e KPs a r e given r e a d a n d write p e r m i s s i o n to this select a r e a in MB. D u r i n g t h e p r o b l e m solving process, individual K P s can write to this a r e a ( a l l o c a t e d to them), t h o u g h all the KPs can r e a d the d a t a in t h e M B (since it is a s h a r e d memory). KPs also use t h e i r local m e m o r y for storing any local data. W h e n a solution has b e e n r e a c h e d , t h e KPs outp u t t h e i r results a n d the justification o f the decision to t h e MB. I n d i v i d u a l solutions can be transm i t t e d to the c o n t r o l l e r e i t h e r t h r o u g h t h e message b o a r d o r t h r o u g h s e m a p h o r e s . Also, using a t a g g e d d a t a structure, the KPs can be b l o c k e d from r e a d i n g d a t a w h e n it is b e i n g c h a n g e d , thus p r e v e n t i n g the use o f old data. A l s o for i n t e g r a t i n g the individual solutions, the c o n t r o l l e r has t h e c a p a b i l i t i e s to form an overall solution. T h e c o n t r o l l e r can h e l p negotiate a m u t u a l l y a c c e p t a b l e value for d i f f e r e n t KPs, since t h e c o n t r o l l e r has a m o r e global p i c t u r e o f the individual KPs c a p a b i l i t i e s a n d an overall p i c t u r e of the p r o b l e m . In a d i s t r i b u t e d c o n t r o l it is difficult to e n f o r c e t h e s e various aspects. T h e m e t h o d o f i n f o r m a t i o n s h a r i n g using the c e n t r a l i z e d m e s s a g e b o a r d has b e e n chosen, since the i n f o r m a t i o n t h a t n e e d s to be s h a r e d a m o n g t h e KPs is m i n i m a l . By allowing this i n f o r m a t i o n e x c h a n g e t h r o u g h t h e m e s s a g e b o a r d , the c e n t r a l
c o n t r o l l e r can selectively restrict t h e i n f o r m a t i o n flow if desired. T h o u g h t h e individual KPs solve the s u b p r o b l e m s i n d e p e n d e n t l y (as in a dist r i b u t e d system), a c e n t r a l i z e d c o n t r o l is n e e d e d for an effective i m p l e m e n t a t i o n o f s o m e o f the tasks, such as conflict r e s o l u t i o n a n d task allocation. A n a l t e r n a t e a p p r o a c h to i n f o r m a t i o n sharing is p o i n t - t o - p o i n t c o m m u n i c a t i o n , w h e r e KPs i n t e r a c t with e a c h o t h e r directly. This m a y b e n e c e s s a r y if K P s n e e d i n t e n s e i n t e r a c t i o n a n d if s u b p r o b l e m s a r e heavily i n t e r d e p e n d e n t . H o w ever, this m e t h o d is also m o r e expensive in t e r m s of r e s o u r c e s r e q u i r e d , such as t h e a d d i t i o n a l comm u n i c a t i o n linkages n e e d e d 2, which a r e in the o r d e r o f n * ( n + 1 ) / 2 vs n. In a d d i t i o n , o v e r h e a d on t h e KPs i n c r e a s e s since e a c h K P n e e d s to k e e p the k n o w l e d g e a b o u t t h e o t h e r KPs, w i t h o u t which the i n f o r m a t i o n e x c h a n g e a m o n g KPs w o u l d not c o n v e r g e into a c o h e r e n t solution [15]. 3.2. Problem solving phases P r o b l e m solving in t h e I D S S can be d i v i d e d into four phases. P h a s e I is p r e p r o c e s s i n g , w h e r e the I D S S g a t h e r s i n f o r m a t i o n a b o u t t h e p r o b l e m description. In this p h a s e , t h e facilitating e l e m e n t c o m m u n i c a t e s with t h e u s e r t h r o u g h a set o f menus. M e n u s to o b t a i n t h e k n o w l e d g e p r o c e s sors in the system by using t h e m o d e l s s t o r e d in the m o d e l - b a s e . M o d e l s in t h e context o f an I D S S can b e of two kinds. T h e first k i n d a r e t h o s e t h a t t h e c o n t r o l l e r can use to verify if a K P 2 The two methods (centralized control and point-to-point communication) can be further illustrated in terms of a classroom. The centralized control method is analogous to a class where the students are not encouraged to exchange information among themselves, (a free exchange of information could result in chaos) but they are allowed to negotiate or discuss any problem with the teacher. When the information exchange allowed is minimal and when some control has to be placed in the selection of the decision variables, this method works out effectively. Point-to-point communication is analogous to a few students working in a lab project who need to exchange a large amount of information. Here it is infeasible to go through a central control and use a message board. In such situations, the shorter communication path among a few students is a better alternate than a central control. However very large systems, such as the telephone or electronic mail systems may not be able to function effectively with a central control. Such systems may use a combination of centralized and point-topoint communication with smaller manageable divisions of the large system.
H. Raghav Rao et al. / An active intelligent decision support system
can be used to solve a subproblem. The other kind are those that can be used by the controller to split up a problem into subproblems. These models are installed during the system design stage. In their simplest form, models are sets of if-then rules. Models in the model-base describe the functions that are based on the features of the objects. These models are organized according to the knowledge areas of the KPs. This facilitates an easier mapping of the subproblems from the given problem to the existing knowledge base. The user is informed of the subproblem distribution and allocation to the KPs that have been selected to solve the problem. Users can choose to determine the subproblem distribution without the controller's help, since they have access to the models and can use their problemsolving expertise to identify and distribute the problem into subproblems. Phase III is the stage in which the KPs work on the subproblems allocated earlier. The controller coordinates the actions of the KPs in constructing the overall solution. The problem-solving is a distributed process and hence the individual solutions of the KPs have to be integrated into a composite solution. Coherence among the individual subsolutions of the KPs is achieved through conflict resolution [37,38]. A list of decision variables (called primary variables) that are common to more than one KP are identified by the task allocator. Each KP involved proposes a value for such variables based on its subgoals. In addition, the KPs estimate the range of possible values for these variables (maximum and minimum values). A common value for a primary variable acceptable to the KPs involved is generated through conflict resolution between the KPs and the controller. Conflict resolution is an iterative process, accomplished by the conflict resolver (CR), and it involves communication between the KPs and the controller. The CR has to make sure that this process converges in a finite amount of time. For this, it uses the range of values reported by the individual KPs and the data on the availability of resources. If no common solution exists after some finite number of iterations, it forces a least conflict value based on an acceptable value for a majority of the KPs involved, and other parameters are adjusted accordingly. Such a resolution mechanism is known as least commitment conflict
85
resolution [39]. It supports applications where the problem is decomposable, sequence is important, each additional step in the problem solving generates more paths, conflicting perspectives must be considered, and any path that leads to a solution is theoretically acceptable 3. Phase IV of the problem-solving process deals with the controller integrating the individual solutions into a composite solution. The controller has the information about the division of the problem before the subproblems were distributed to the individual KPs, and it uses this information along with the subsolutions presented by the KPs in reaching a solution. KPs can generate multiple solutions to their individual problems which allows the controller to present more than one alternate solution to the user and the user, has the prerogative in selecting one solution over another. The controller uses the history recorder to record the progress of the various solutions in the IDSS and uses this information in composing the final solution and in providing justifications on the usefulness of one approach over another. Users can query the controller about the steps used in reaching each of the decisions. Answers to the user's queries are essentially derived from the collection of results in the history recorder. The interface with the user is handled by the facilitating element. Though there is no restriction conceptually on the size of this recorder, physical memory limitations may require transferring the information least used, periodically to slower disk memory and retrieving when needed.
4. An IDSS for air fleet control
In this section, the model discussed earlier is applied to the design of an IDSS for command and control decision making in air fleet control. The model for the IDSS can be applied to diverse fields ranging from inventory control [33] to VLSI design [40]. The use of automated decision making aids in military environments has been widely researched
3 Other kinds of mechanisms that can be implemented are priority/preference method and first-fit conflict resolution 139].
86
H. Raghav Rao et al. / An active intelligent decision support system
[41,42,43,44]. The following considerations have often favored the use of such automation: (a) Under stressful conditions (which are common during warfare), human decision making can be expected to falter resulting in grave losses of life and property. An automated decision aid can prevent such losses [42]. (b) With extensive use of electronic sensory equipment, decision making has become exceedingly complex involving a large amount of analysis and data processing. There is a limit on human information handling capacity, referred to as Simon's bounded rationality principle [45,46]. A computer system is therefore more suitable in these situations as compared to a team of personnel performing the task [42,41,43]. In the Air Force, an air fleet commander (AFC) is primarily responsible for planning and carrying out an air attack on enemy targets. In drawing up a plan of attack, an AFC needs to (a) Identify the target(s) to be attacked, (b) Evaluate available resources (such as aircraft and personnel), (c) Design the model for attack, and (d) Allocate resources. Decisions in the AFC's domain of operation can be classified into command and control decisions [42,44]. Command decisions are the preoperation decisions and control decisions refer to those made during the operation. The IDSS discussed here is intended for command decision making. It can be extended to include control decisions. A task is performed by processing data and knowledge based on different criteria. Problem domain and information about specific problems determine these criteria. In identifying the targets for attack, criteria such as physical location of the target, risk involvement and importance of the attack on a particular target with respect to the goal of the mission can be considered. Table 1 is a scenario for a set of KPs required for the IDSS to operate in the problem solving domain of the air fleet controller. The knowledge of the KPs will determine the limitations of the IDSS. This set of KPs has been chosen to assist the AFC in the task of planning an air attack by conducting an analysis and evaluation of the options involved. Additional KPs could be used to
Table 1 An example Knowledge Processor scenario KP
Area of proficiency
KP1 KP2 KP3 KP4 KP5 KP6 KP7 KP8 KP9 KP10
Models of attack for the air fleet Army support Navy support Allied forces support Weaponry and aircraft data Overall plan analysis Geographical data analysis Weather data analysis Personnel data Reconnaissance data analysis
augment the capabilities of the IDSS. For instance, a knowledge processor could be added to help the AFC make decisions regarding the diagnosis and maintenance of the aircraft. 4.1. IDSS simulation program
This section presents the simulation details for the AFC problem. The simulation employs object oriented programming, production rules and dynamic programming techniques for the selection of the appropriate weapon system. The user formulates the problem description for the IDSS through a menu-driven interface. A database of information on a set of targets is made available and the IDSS has to select the effective weapon system to destroy a particular target. Goal: To simulate the air fleet control example. The objective is to demonstrate the application of cooperative distributed problem solving principles to IDSS design. To illustrate this, independent processes are created by forking. Solutions to sub-problems are created concurrently. Scenario: To destroy a set of military targets, such as an enemy airfield. Items of military importance on the airfield such as aircraft, army post, tank and ammunition store house are its elements. These targets are characterized by their location region. A target may be destroyed by selecting an air-based weapon system (air target) or a ground-based weapon system (ground target). This involves selection of an aircraft for an air target and ground force for a ground target. Also, missile selection is performed for all types of targets. The user inputs the constraints and the
H. Raghav Rao et al. / An active intelligent decision support system
resources (types and number of aircraft/ground forces) under which this military operation is to be carried out. The IDSS uses its knowledge base to select the weapon system to destroy each target. The information about the military targets is available in the IDSS database.
87
destroyed by air and the other for ground targets. This is possible since the knowledge needed to analyze a target to be destroyed by air is often different from that for destroying a target by employing ground-based weapons.
Database: Targets in the database are organized according to their location (such as region 1 and Interface: The IDSS uses a menu based interface 2). Each target contains a set of target elements to communicate with the user. The user is given a (e.g., airfield is a target and its elements are an set of options in a pop-up menu system in Xaircraft, tank, building, etc.). Each target element windows. The input from the user is used by the has a set of attributes such as its location, its IDSS to define the problem. The user identifies region of operation, available aircraft, weapon category (which indicates the order of its military importance), and its attacking capabilities. Such systems etc. As soon as the information about the region is presented, data about the targets from information is provided in a file that contains the the database is read while concurrently continuinformation about the number of targets, the ing to interact with the user to obtain more description of the targets, and the information information about the available resources. For about their target-elements. the given region in which the operation is to be Each target in the database is characterized by the following: carried out, all the targets in the database listed under that region are selected. The user's re(a) region in which the target following exists sponse to a query will trigger the subsequent (example 1); menus generated. The problem is decomposed (b) description of the target (example: Airfield); into two subproblems, one dealing with the (c) number of target-elements in the target (exweapon system selection for all targets to be ample: 9); The data structures describing a target-element are given below: struct int int char int int int
TargetLocation { in r e g i o n ; region_pos; l o c a t i o n des; size[3]; next_target_dist; s h a d o w ht;
int p r o x i m i t y _ c o u n t ; int h i d d e n ; int v i s i b i l i t y ; char s u r r o u n d i n g _ d e s [ 2 0 ] ;
// // // // // // // // // // // //
R e g i o n 1 or 2 Absolute region location underground(u) or level(1) or r a i s e d ( r ) l e n g t h , b r e a d t h and h e i g h t d i s t a n c e to the next c l o s e s t t a r g e t if the n e a r e s t t a r g e t s h a d o w s it, the h e i g h t of that t a r g e t n u m b e r of t a r g e t s s u r r o u n d i n g (MAX=4) target hidden ~ the f a r t h e s t v i s i b l e from (air) d e s c r i b e the s u r r o u n d i n g area rocky I ground ) water I forest
// // // // // //
a-aircraft,g-ground,b-both,n-none 0 - n o n e , 1 - can d e s t r o y air t a r g e t s 0 - i m m e d i a t e , 1 - < min avg e s c a p e time 2 > min avg e s c a p e time, 3 - none multiple attacks ~ what is the range for safe a p p r o a c h
}; struct Targetsupport char p r i m _ s u p _ t y p e ; int a t t a c k _ c a p ; int r e s p _ t i m e ; int int };
multi a t t a c k s ; safe r a n g e ;
{
H. Raghav Rao et aL / An active intelligent decision support system
88
struct TargetDescription { char target class[20]; int status; int nature; int class cat;
// // // // // //
Runway, tanks, aircraft, storage, camp, building operational or non-operational destructive or n o n - d e s t r u c t i v e target classification category indicates importance -
};
Knowledge base: The IDSS uses its knowledge base to select the weapon system for each target element. This knowledge base is distributed and organized as knowledge concerning targets that can be attacked by aircraft and knowledge about targets that can be attacked by ground forces. The IDSS uses its knowledge (a) to prioritize the target elements based on their importance; (b) to determine the effectiveness of a weapon system with respect to a target element and compare one with the other. Model: The IDSS uses a dynamic programming model [47] in selecting one weapon system over another. Given the available choices, the IDSS makes the final selection between the two best rated weapon systems by evaluating their effectiveness for a target element. This is achieved by
Table 2 Mapping IDSS functions to simulation IDSS function Facilitating Element
Simulation program
X Window based menu driven user interface Data Base Text file that contains target/ region information Model Base Process computing the Bayesian probabilities and expected values based on decision theory (using Mathematica) Main process which creates Controller the different child processes by forking Knowledge Processors Forked child processes Processor communications Shared memory regions and pipes Parallel Processing Forking of processes Knowledge Base If-then rules Knowledge Processing Rule based inference
applying a Bayesian adaptive learning model for decision making, which bases its decision on a dynamic minimum expected cost function.
Output: The aircraft and the missile for an air target; ground force and missile for a ground target; priority of the target elements; and the target description are output to the user. Table 2 presents a description of the mapping of the different functional blocks of the IDSS architecture to the elements in the simulation program. The main steps are • Obtain the problem description (constraints and resources) from the user • Select the targets from the database (according to the region of operation) • Separate the target elements into two lists of air and ground targets, which can then be processed by two concurrent processes • Group elements in the list, for use in the application of a dynamic programming model for selecting weapon systems from available alternatives • Prioritize the target elements in each list depending on the characteristics of the target, such as location, description, accessibility, and position with respect to other targets for each target element of every target • Create two processes to do the following for each list: -rat e each weapon system (aircraft/groundforces) with respect to each target element; - i f more than one weapon system is found suitable, run a dynamic programming model and make the final selection • Output the target description, the priority allocated, and the weapon system selected for each target-element.
89
H. Raghav Rao et a L / An active intelligent decision support system
B. Air Weapon S e l e c t i o n s S e l e c t i o n data follows Group
:Members
: 4
Target Priority Selected Aircraft Selected
:tank :2 A i r c r a f t : F16 Rating :2 Weapon :S (short missile)
Target Priority Selected Aircraft Selected
:camp :4 Aircraft: F16 Rating :2 Weapon :L (long range missile)
Target Priority Selected Aircraft Selected
:ammunition :3 Aircraft: F15 Rating :4 Weapon :S (short range missile)
Target Priority Selected Aircraft Selected
:unit :0 Aircraft: F15 Rating :4 Weapon :L (long range missile)
range
4.2. Results
The simulation program had two main objectives. The first objective was to depict the working of the functional blocks in the IDSS and the second to prove that significant time savings can result by executing the functional blocks in parallel. The simulation program was executed for different sets of targets in the database and an execution profile of the program was obtained for these various sets of data. The program was executed by using the forking mechanism to simulate the working of the two knowledge processors concurrently and without forking which depicts a monolithic sequential impementation of the knowledge base. The execution time for the different data sets under the two different operating conditions is summarized in Table 3.
Table 3 Execution profile of the simulation program Groups (no. of elements) 3 6 9 12 15 18 21
Concurrent (seconds)
Monolithic Time savings (seconds) (seconds)
5.38 5.71 9.07 10.91 13.17 14.63 16.18
6.35 9.28 11.73 20.96 22.40 23.34 27.90
0.97 3.57 2.66 10.05 9.23 8.71 11.72
The program execution time shown in this table is an average run time. From the above data, it can be observed that significant time is saved by executing the concurrent execution of the processes as compared to the sequential implementation. Also it is evident from these results that the time saved is not linearly proportional to the number of elements in the group. The simulation implements the distributed processing environment and exhibits the main principles in the design of the architectural framework to implement an IDSS. It can serve as the basis for testing the effectiveness of this design and further explore the IDSS design issues.
5. Conclusion In contrast to the passive form of decision support of traditional DSS, an alternate approach has emerged that stresses active involvement of computer systems in decision making. Such active support can be generated by imparting intelligence to the system by designing it as a knowledge-based system. This p a p e r has developed a detailed architectural framework for implementing an active IDSS. This was in part based on the previous research by the authors and others [4,7,28,33,48,18,19,21,40]. The system incorporates distributed artificial intelligence and principles of cooperative distributed problem solving in the decision making process. As the next step, to demonstrate the viability of the system, a detailed simulation of the system was performed using an object-oriented programming language (C + + ) and X-window system on a Sun workstation. The communication between the user and the IDSS
90
H. Raghav Rao et al. / An active intelligent decision support system
w a s e f f e c t e d by m e a n s o f a m e n u - d r i v e n i n t e r f a c e based on cognitive modeling principles. T h e s c e n a r i o w a s t e s t e d f o r two p r o c e s s o r s ( s i m u l a t e d by f o r k i n g ) in t h e c u r r e n t s i m u l a t i o n . F u t u r e r e s e a r c h will s i m u l a t e t h e m u l t i p l e p r o c e s s o r s c e n a r i o . A l s o , v a r i o u s b o t t l e n e c k s in i m p l e menting individual functional blocks on dedicated p r o c e s s o r s will b e i n v e s t i g a t e d . A fully f u n c t i o n a l s y s t e m will b e d e v e l o p e d t h a t c o n s i d e r s p a r a l l e l p r o c e s s i n g a n d p i p e l i n i n g t e c h n i q u e s . I n this p r o cess, issues in t h e s e l e c t i o n o f p r o c e s s o r s f o r t h e KPs, c o n t r o l l e r a n d t h e c o n f l i c t r e s o l v e r a n d s p e cial p u r p o s e h a r d w a r e , s u c h as a r e g i s t e r file for i m p l e m e n t i n g m e s s a g e b o a r d s , will b e e x p l o r e d .
Acknowledgements T h e a u t h o r s w o u l d like to t h a n k t h e a n o n y m o u s r e f e r e e s for t h e i r d e t a i l e d c o m m e n t s t h a t h a v e c o n s i d e r a b l y i m p r o v e d t h e p a p e r . T h e aut h o r s also t h a n k P r o f e s s o r A . B . W h i n s t o n f o r his encouragement.
References [1] R.H. Bonczek, C.W. Holsapple and A.B. Whinston, Foundations of Decision Support Systems. Academic Press, 1981. [2] E, Turban, Decision Support and Expert Systems. Macmillan Publishers, 2 ed., 1990. [3] J. Elam and M. Mead, Can Software Influence Creativity, Information Systems Research, vol. 1, no. 1, March 1990. [4] M.L. Manheim, An Architecture for Active DSS, 21st Hawaii International Conference on System Sciences, pp. 356-365, 1988. [5] M.L. Manheim, Issues in Design of A Symbiotic DSS, 22nd Hawaii International Conference on System Sciences, pp. 14-24, 1989. [6] F. Mili, Dynamic View of Decision Domains for the Design of Active DSS, 22nd Hawaii International Conference on System Sciences, pp. 24-32, 1989. [7] F. Mili and M.L. Manheim, Introduction to the DSS Minitrack on Active DSS and Symbiotic Systems, 22nd Hawaii International Conference on System Sciences, pp. 24-32, 1989. [8] M.L. Manheim, M.L. Srivastava, S. Vlahos, N. Hsu and J. Jones, A Symbiotic DSS for Production Planning and Scheduling: Issues and Approaches, 23nd Hawaii International Conference on System Sciences, pp. 383-390, 1990. [9] T. Kosaka and T. Hirouchi, An Effective Architecture for Decision Support Systems, Information and Management, vol. 5, pp. 7-17, 1982.
[10] J.T.C. Teng, R. Mirani and A. Sinha, A Unified Architecture for Intelligent DSS, 21st Hawaii International Conference on System Sciences, pp. 286-294, 1988. [11] L. Uhr, Multi-computer Architectures for Artificial Intelligence. John Wiley and Sons Publishers, 1987. [12] V.R. Lesser and D.D. Corkill, The Distributed Vehicle Monitoring Testbed: A Tool for Investigating Distributed Problem Solving Networks, in Blackboard Systems (R. Engelmore and T. Morgan, eds.), pp. 353-386, New York: Addison-Wesley Publishing Company, 1988. [13] H.A. Bond and L. Gasser, An Analysis of Problems and Research in DAI, in Readings in Distributed Artificial Intelligence, Morgan Kaufmann Publishers, 1988. [14] D. McArthur, R. Steeb and S. Cammarata, A Framework for Distributed Problem Solving, Proceedings of the 1982 Conference of the AAAI, pp. 181-184, 1982. [15] H.E. Durfee, Coordination of Distributed Problem Solvers. Boston: Kluwer Academic Publishers, 1988. [16] K.S. Decker, E.H. Durfee and V.R. Lesser, Evaluating Research in Cooperative Distributed Problem Solving, in Distributed Artificial Intelligence (L. Gasser and M.N. Huhns, eds.), vol. 2, pp. 487-519, Morgan Kaufmann Publishers, 1989. [17] V.R. Lesser and D.D, Corkill, The distributed vehicle monitoring testbed, AI Magazine, Fall 1983. [18] V.R. Lesser and D.D. Corkill, Functionally Accurate, Cooperative Distributed Systems, IEEE Transactions on Systems, Man and Cybernetics, vol. 11, pp. 81-86, January 1981. [19] V.R. Lesser and L.D. Erman, Distributed Interpretation: A Model and Experiment, IEEE Transactions on Computers, vol. 29, pp. 1144-1163, December 1980. [20] L.K. Norman, Models of the Mind and Machine: Information Flow and Control between Humans and Computers, in Advances in Computers-Vol 32 (C.M. Yovitis, ed.), Academic Press, 1991. [21] E.H. Durfee, V.R. Lesser and D.D. Corkill, Trends in Cooperative Problem Solving, IEEE Transactions on Knowledge and Data Engineering, vol. 1, March 1989. [22] F.N. Ford, Decision Support Systems and Expert Systems: A Comparison, Information and Management, pp. 21-26, 1985. [23] R.H. Sprague Jr., A Framework for Development of Decision Support Systems, MIS Quarterly, pp. 1-26, December 1980. [24] R.H. Sprague Jr., Guest Editor's Introduction, DataBase, vol. 12, no. 1 and 2, pp. 1-7, 1980. [25] P.G.W. Keen, Adaptive Design for DSS, DataBase, vol. 12, no. 1 and 2, pp. 15-25, 1980. [26] J.H. Moore and C.H. Chang, Design of Decision Support Systems, DataBase, vol. 12, no. 1 and 2, pp. 8-14, 1980. [27] W.E. Remus and J.E. Kottemann, Toward Intelligent Decision Support Systems: An Artificially Intelligent Statistician, MIS Quarterly, pp. 403-418, 1986. [28] H.R. Rao, Intelligent management systems: cooperative problem solvers, Proceedings of DSS-86, 1986. [29] D.D. Woods, Paradigms for Intelligent Decision Support, in Intelligent Decision Support in Process Environments (E. Hollnagel, G. Mancini, and D.D. Woods, eds.), Springer Verlag Publishers, 1986. [30] H.R. Rao and B.P. Lingaraj, Expert Systems in Produc-
H. Raghav Rao et al. / An active intelligent decision support system
tion/Operations Management: Classifications and Prospects, Interfaces, December 1988. [31] E. Turban and D. King, Building Expert Systems for Decision Support, Proceedings of DSS-86, pp. 96-115, 1986. [32] E. Turban and P.R. Watkins, Integrating Expert Systems and Decision Support Systems, MIS Quarterly, pp. 121136, June 1986. [33] H.R. Rao, R.P. Cerveny, G.L. Sanders, R. Sridhar and E.J. Garrity, Intelligent Control and Resolution of a Network of Learning and Problem Solving Processors, 23rd Hawaii International Conference on System Sciences, 1990. [34] R.M. Young, T.R.G. Green and T. Simon, Programmable user models for predictive evaluation of interface designs, in Human Factors in Computing Systems CHI '89 Conference Proceedings, (New York), pp. 15-19, Association of Computing Machinery, 1989. [35] R. Engelmore, A.J. Morgan and H.P. Nii, Introduction in Blackboard Systems (R. Engelmore and T. Morgan, eds.), New York: Addison-Wesley Publishing Company, 1988. [36] S. Narain, Design and Simulation of an Architectural Framework for an Intelligent Decision Support System, Master's thesis, Department of Electrical and Computer Engineering, The State University of New York at Buffalo, 1991. [37] M.H. Bazerman and M.A. Neale, Heuristics in Negotiation, in Negotiating in Organizations, Sage Publishers, 1983. [38] R. Davis and R.G. Smith, Negotiation as a Metaphor for Distributed Problem Solving, Artificial Intelligence, vol. 20, no. 1, pp. 63-109, 1983. [39] P.A. Evans, Using Characterization of Manufacturing Applications to suggest AI Techniques, in Integrated and
91
Intelligent Manufacturing (C.R. Liu and J.C. Chang, eds.), pp. 27-44, ASME, 1986. [40] R. Sridhar, An Intelligent Decision Support System for VLSI Design, Proceedings of the Northcon 90, Feature Session on Combined Analog and Digital Integrated Circuits, 1990. [41] K. Funk, A Knowledge-Based System for Tactical Situation Assessment, Tech. Rep. 41, Navy Personnel Research and Development Center, SanDiego, CA 92152, 1986. [42] J.G. Wohl, Force Management Decision Requirements for Air Force Tactical Command and Control, IEEE Transactions on Systems, Man and Cybernetics, vol. 11, pp. 618-639, September 1981. [43] M. Ben-Bassat and A. Freedy, Knowledge Requirements and Management in Expert Decision Support Systems for (Military) Situation Assessment, IEEE Transactions on Systems, Man and Cybernetics, vol. 12, pp. 479-490, July/August 1982. [44] M.D. Callero, D.A. Waterman and J.R. Kipps, TATR: A Prototype Expert System for Tactical Air Targeting, in Expert Systems - Techniques, Tools and Applications (P. Klahr and D.A. Waterman, eds.), ch. 6, pp. 186-223, Addison-Wesley Publishers, 1986. [45] H.A. Simon, Sciences of the Artificial. MIT Press, 1981. [46] M.S. Fox, An Organizational View of Distributed Systems, IEEE Transactions on Systems, Man and Cybernetics, vol. 11, pp. 70-80, 1981. [47] S.E. Dreyfus and A.M. Law, The Art and Theory of Dynamic Programming. Academic Press, 1977. [48] R. Sridhar, H.R. Rao and S. Narain, An Architectural Framework for an Intelligent Decision Support System, International Journal of Mini and Microcomputers, vol. 12, no. 2, 1990.