E-Book, Englisch, 264 Seiten
Gachet Building Model-Driven Decision Support Systems With Dicodess
1. Auflage 2004
ISBN: 978-3-7281-2952-9
Verlag: vdf Hochschulverlag AG
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
E-Book, Englisch, 264 Seiten
ISBN: 978-3-7281-2952-9
Verlag: vdf Hochschulverlag AG
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
Many decisions in domains such as production, finance, logistics, planning, and economics, can be supported by optimization models. However, decision makers are often intimidated by the mathematical formalism of the corresponding model management tools and tend to keep their distance from them. Moreover, when these optimization models are encapsulated into user-friendly systems, this often leads to ad hoc software difficult to extend and to maintain. Finally, most of the existing applications poorly support the cooperative nature of decisions involving several actors.
This book describes the theoretical foundations and the architectural details of the open source system named Dicodess, which precisely tries to solve these problems by implementing a new vision for distributed decision support systems. First, systems based on Dicodess hide the optimization models and their dry formalism behind a generic, reusable user friendly user interface. Decision makers can then perform complex what-if analysis without writing a single line of model code. Then, systems based on Dicodess rely on an innovative distributed architecture allowing several actors to dynamically get together in autonomous network groupings called federations, on a LAN or WLAN, to solve problems without being hampered by technical issues.
This book is for anyone interested in learning and effectively and successfully applying model-driven decision support systems, including professors and students in DSS, Operations Research, Management Information Systems, and Operations Management, researchers active in the DSS community, and practitioners involved in the development of DSS.
Autoren/Hrsg.
Weitere Infos & Material
1;Table of Contents;4
2;Preface;8
2.1;Audience;9
2.2;Organization and Content;9
2.3;Conventions Used in This Book;11
2.4;Comments and Questions;11
2.5;Acknowledgments;11
3;Fundamentals;14
3.1;Installation;16
3.1.1;1.1 Downloading and Installing Dicodess;16
3.1.2;1.2 Dicodess Components;18
3.1.2.1;1.2.1 Dicodess Classes;18
3.1.2.2;1.2.2 LPL;19
3.1.2.3;1.2.3 Mathematical Solver;19
3.1.2.4;1.2.4 Jini Network Technology;20
3.1.2.5;1.2.5 Java Runtime Environment;20
3.1.3;1.3 Configuring and Testing Dicodess;20
3.1.3.1;1.3.1 Configuring Dicodess;20
3.1.3.2;1.3.2 Testing Dicodess;21
3.2;Quick Start Tutorial;26
3.2.1;2.1 DDSS-Robots;27
3.2.2;2.2 Dicodess Principles;28
3.2.2.1;2.2.1 New Decision Situations;29
3.2.2.2;2.2.2 New Tasks;34
3.2.2.3;2.2.3 New Evaluations;36
3.2.2.4;2.2.4 New Exogenous Decisions;38
3.2.2.5;2.2.5 New Reports;41
3.2.3;2.3 Exercises;41
3.3;Using Dicodess in a Multi- User Environment;44
3.3.1;3.1 Inviting Users in Your DDSS;44
3.3.2;3.2 A Self-Forming Community;46
3.3.2.1;3.2.1 Viewing Other Members’ DDSO;47
3.3.2.2;3.2.2 Exchanging DDSO;49
3.3.3;3.3 Communication Aids;50
3.3.3.1;3.3.1 Structured Communication Service;50
3.3.3.2;3.3.2 Other Communication Tools;51
3.3.3.3;3.3.3 Multilingual Interface;52
3.3.4;3.4 DDSS Workshop;53
3.3.4.1;3.4.1 Preliminaries;53
3.3.4.2;3.4.2 Creating the Normal Evaluation;54
3.3.4.3;3.4.3 Cooperative Behavior;55
3.3.4.4;3.4.4 Collaborative Behavior;58
3.3.5;3.5 Exercises;59
3.4;Turning an Optimization Model into a DDSS;60
3.4.1;4.1 A Simple LPL Model;60
3.4.2;4.2 Preparing the Model;65
3.4.2.1;4.2.1 The Decision Situation;65
3.4.2.2;4.2.2 The Decision Task;67
3.4.2.3;4.2.3 The Exogenous Decisions;68
3.4.3;4.3 Creating the DDSS;69
3.4.4;4.4 Fast Lane Conversion Guide;70
3.4.5;4.5 Exercises;70
4;Motivation and Context;72
4.1;Motivation;74
4.1.1;5.1 Purpose;74
4.1.2;5.2 Research Context;76
4.1.2.1;5.2.1 Structuring Semi-Structured Decision Problems;76
4.1.2.2;5.2.2 Going Beyond Web-Based Architectures;77
4.1.2.3;5.2.3 Collaborating Anywhere, At Any Time;79
4.1.2.4;5.2.4 Same Structure, Different DSS;80
4.1.3;5.3 Contribution;80
4.2;Decision Support Systems;82
4.2.1;6.1 Definitions;82
4.2.1.1;6.1.1 A Brief History;82
4.2.2;6.2 Taxonomies;83
4.2.3;6.3 Architectures;84
4.3;Software Frameworks for Developing DSS;86
4.3.1;7.1 The Technical Factors of Decision Support Systems;86
4.3.2;7.2 Sprague’s Classification of DSS Development Tools;87
4.3.3;7.3 Same Names, Different Meanings?;88
4.3.4;7.4 Software Frameworks for Developing DSS;90
4.3.4.1;7.4.1 Frameworks vs. Software Frameworks;90
4.3.4.2;7.4.2 Why Do DSS Designers Need Software Frameworks?;91
4.3.5;7.5 Development Time, Precustomization, and Customizability;92
4.3.6;7.6 Revisited Classification of DSS Development Tools;93
4.4;A New Vision for Distributed DSS;96
4.4.1;8.1 The Subjective Factors of Decision Support Systems;96
4.4.2;8.2 A Natural Extension of Decision Making Capabilities;97
4.4.2.1;8.2.1 Mimicking Decision Making Behaviors;97
4.4.2.2;8.2.2 Being As Close As Possible to the Decision Maker;98
4.4.3;8.3 A Decentralized Architecture;99
4.4.4;8.4 A Federalist Model of Cooperation;101
4.4.4.1;8.4.1 Basic Features;101
4.4.4.2;8.4.2 An Intermediate View of the Working Environment;104
4.5;Cooperative DSS;108
4.5.1;9.1 CSCW and Collective Decision Making;108
4.5.1.1;9.1.1 Terminology;109
4.5.1.2;9.1.2 Computer Supported Cooperative Work;109
4.5.1.3;9.1.3 Collective Decision Making;110
4.5.2;9.2 The Fallacy of Collaborative Support Systems;111
4.5.3;9.3 Cooperative Decision Support Systems;112
5;Implementation and Case Study;114
5.1;A Software Layer for Building Distributed DSS;116
5.1.1;10.1 General Design Philosophy;116
5.1.1.1;10.1.1 The Container;117
5.1.1.2;10.1.2 The Contents;118
5.1.1.3;10.1.3 The Interface Layer Between Contents and Container;119
5.1.2;10.2 The Basic Architecture;120
5.1.2.1;10.2.1 Notation;121
5.1.3;10.3 Technology Requirements;122
5.1.3.1;10.3.1 Data-Related Requirements;123
5.1.3.2;10.3.2 Benefits of the Jini Technology;124
5.1.4;10.4 Design Choices;128
5.1.4.1;10.4.1 Adaptation by Extension or by Implementation;128
5.1.4.2;10.4.2 Presentation / Logic Separation;129
5.1.4.3;10.4.3 Modular Approach;130
5.1.4.4;10.4.4 Managing the Jini Technology;134
5.1.5;10.5 A JavaSpace-Oriented Object Model;136
5.1.6;10.6 Event Model;138
5.1.7;10.7 Putting Pieces Together;141
5.2;A Software Layer for Developing Cooperative DSS;144
5.2.1;11.1 A DSS for Crisis Management in the Food Supply Sector;145
5.2.2;11.2 Use Cases;147
5.2.2.1;11.2.1 The Decision Assistant;148
5.2.2.2;11.2.2 The Model Expert;148
5.2.2.3;11.2.3 The Facts Administrator;148
5.2.2.4;11.2.4 The Facts Updater;149
5.2.2.5;11.2.5 The System Administrator;149
5.2.2.6;11.2.6 The Consultant;149
5.2.2.7;11.2.7 The Decision Maker;149
5.2.3;11.3 Distributed Decision Support Objects ( DDSO);151
5.2.3.1;11.3.1 New Decision Situations;154
5.2.3.2;11.3.2 The Facts Manager’s DDSO;155
5.2.3.3;11.3.3 The Scenario Manager’s DDSO;156
5.2.3.4;11.3.4 New Tasks;158
5.2.3.5;11.3.5 The Task Manager’s DDSO;161
5.2.3.6;11.3.6 Other DDSO;162
5.2.4;11.4 Object Managers;165
5.2.5;11.5 The Distributed Object Manager Environment ( DOME);167
5.3;The Virtual Twin of the DSS User;172
5.3.1;12.1 A Definitive View of the Working Environment;173
5.3.2;12.2 Collaboration;175
5.3.3;12.3 The Working Memory;175
5.4;Extending the Dicodess Framework;180
5.4.1;13.1 Analyzing Your Needs;180
5.4.2;13.2 Extending the Cooperative DSS Layer;181
5.4.2.1;13.2.1 Generalities;182
5.4.2.2;13.2.2 Extending the Scenario DDSO;183
5.4.2.3;13.2.3 Extending the Scenario Manager;185
5.4.2.4;13.2.4 Extending the Logic Functionalities;187
5.4.2.5;13.2.5 Propagating the Event;192
5.4.2.6;13.2.6 Extending the DSS Main Class;194
5.4.3;13.3 Implementing a Loosely Coupled Service;195
5.4.3.1;13.3.1 Implementing the ChatMessage Class;196
5.4.3.2;13.3.2 Implementing the GUI;198
5.4.3.3;13.3.3 Implementing the ChatManager Class;203
5.4.3.4;13.3.4 Putting Pieces Together;209
5.4.3.5;13.3.5 Service Integration in Dicodess;210
5.4.3.6;13.3.6 Integration of a Real Jini Service;212
5.4.4;13.4 Implementing a Tightly Coupled Service;214
5.4.4.1;13.4.1 Implementing the Structured Communication Service;215
5.4.4.2;13.4.2 Interacting With the Main UI Class;217
5.4.4.3;13.4.3 Putting Pieces Together;219
6;Appendixes;222
6.1;Class Structure of the Framework;224
6.1.1;A.1 Overview (Dicodess Framework API Documentation);224
6.1.1.1;A.1.1 Packages;224
6.1.2;A.2 The org.dicodess.core Package;225
6.1.2.1;A.2.1 Interface Summary;225
6.1.2.2;A.2.2 Class Summary;225
6.1.2.3;A.2.3 Exception Summary;227
6.1.3;A.3 The org.dicodess.entry Package;227
6.1.3.1;A.3.1 Class Summary;227
6.1.4;A.4 The org.dicodess.event Package;229
6.1.4.1;A.4.1 Class Summary;229
6.1.5;A.5 The org.dicodess.manager Package;229
6.1.5.1;A.5.1 Interface Summary;229
6.1.5.2;A.5.2 Class Summary;230
6.1.6;A.6 The org.dicodess.module Package;231
6.1.6.1;A.6.1 Interface Summary;231
6.1.6.2;A.6.2 Class Summary;231
6.1.7;A.7 The org.dicodess.service Package;233
6.1.7.1;A.7.1 Interface Summary;233
6.1.7.2;A.7.2 Class Summary;233
6.1.8;A.8 The org.dicodess.service.files Package;233
6.1.8.1;A.8.1 Interface Summary;233
6.1.8.2;A.8.2 Class Summary;233
6.1.9;A.9 The org.dicodess.service.query Package;234
6.1.9.1;A.9.1 Interface Summary;234
6.1.9.2;A.9.2 Class Summary;234
6.1.10;A.10 The org.dicodess.service.simplechat Package;234
6.1.10.1;A.10.1 Interface Summary;234
6.1.10.2;A.10.2 Class Summary;235
6.1.11;A.11 The org.dicodess.service.util Package;235
6.1.11.1;A.11.1 Class Summary;235
6.1.12;A.12 The org.dicodess.service.voting Package;235
6.1.12.1;A.12.1 Interface Summary;235
6.1.12.2;A.12.2 Class Summary;235
6.1.13;A.13 The org.dicodess.tutorial.core Package;236
6.1.13.1;A.13.1 Class Summary;236
6.1.14;A.14 The org.dicodess.tutorial.entry Package;236
6.1.14.1;A.14.1 Class Summary;236
6.1.15;A.15 The org.dicodess.tutorial.manager Package;236
6.1.15.1;A.15.1 Class Summary;236
6.1.16;A.16 The org.dicodess.util Package;236
6.1.16.1;A.16.1 Class Summary;236
6.2;Licenses;238
6.2.1;B.1 The Academic Free License (version 1.2);238
6.2.2;B.2 License for LPL Free Package;240
6.2.3;B.3 GNU General Public License (version 2);240
6.2.4;B.4 Sun Community Source License ( version 3.0);245
7;Bibliography;254
7.1;Preface;254
7.2;Chapter 1;254
7.3;Chapter 4;255
7.4;Chapter 5;255
7.5;Chapter 6;257
7.6;Chapter 7;258
7.7;Chapter 8;259
7.8;Chapter 9;261
7.9;Chapter 10;262
7.10;Chapter 11;264
7.11;Chapter 13;265
5 Motivation (p. 73-74)
The concept of decision support has evolved from two main areas of research: the theoretical studies of organizational decision making done at the Carnegie Institute of Technology during the late 1950s and early 1960s, and the technical work on interactive computer systems, mainly carried out at the Massachusetts Institute of Technology in the 1960s (Keen and Scott Morton 1978). It is commonly considered that this convergence of theoretical studies and technical work found its realization in the middle of the 1970s, when the concept of decision support systems (DSS) became an area of research of its own. However, thirty years later, strong indications show that theory and technique did not really converge, at least in some fields of decision support.
The parallel evolution of multiparticipant decision making theory and distributed computing exemplifies this situation. Many multiparticipant DSS today are either completely out of phase with the distributed technology (that is, they are designed as local, desktop applications) or based on simple, centralized distributed network topologies. Consequently, the DSS research field still needs new solutions to bring the multiparticipant decision making concepts in line with the latest advances in distributed technology.
5.1 Purpose
The main goal of this research is to design and implement a computer-based solution for a well-defined multiparticipant decision making process evolving in a distributed, highly decentralized environment. The three main concepts of this statement are briefly described in the next paragraphs of this section. First, a lot of research has already been conducted in the field of DSS development. The traditional system development life cycle (SDLC) approach is often mentioned in DSS literature (for example, Marakas 1999; Power 2002a). Other approaches, more specific to DSS development, have also been defined, among whose a progressive approach (Courbon, Drageof et al. 1979), the functional category analysis (Blanning 1979), the ROMC analysis (Sprague and Carlson 1982), the DSS development process (Marakas 1999), rapid prototyping, and end-user development (Kreie, Cronan et al. 2000).
However, all of these approaches mostly focus on the development of unique, specific DSS. In that sense, the field of DSS still needs computer-based solutions enhancing the ideas of software reuse, modularity, precustomization, customizability, and reduced develop- ment time. The need for such solutions is topical, as the underlying technology is itself constantly becoming more complex (Pratt 2000). Software engineering provides several kinds of computer-based solutions to solve problems (from methodologies to complete applications, via software processes, design patterns, architectural styles, code libraries, toolkits, software frameworks, etc.). It is part of this research to find the best combination of these possible solutions in the current context. Next, given the broad nature of the field of DSS, it is of utmost importance to understand that it would be utopian to try to define a "one size fits all" computer-based solution applicable to many different decision processes, in many different decision making situations. Several factors such as the intrinsic nature of the problem to be solved, the technical knowledge of the end-users of the systems, the level of communication required between the actors, or purely technical constraints applied to the underlying infrastructure define completely different decision making processes and environments, which require the design and implementation of different computer-based solutions.
This research focuses on a well defined decision process, which allows multiple actors to actively structure semi-structured problems. This happens by dynamically generating optimization models. The exact process is described in Section 5.2.1, Structuring Semi- Structured Decision Problems. Moreover, this research focuses on a decision process that is currently not appropriate for data intensive systems, such as Executive Information Systems (EIS) or data warehouses. This last point is explained in Section 10.2.1, Data-Related Requirements.