PART 1
DECISION MAKING AND DECISION
SUPPORT SYSTEMS
SOFTWARE ARCHITECTURAL STYLE FOR DECISION SUPPORT SYSTEMS
ZAKARYA A. ALZAMIL
Software Engineering Department, King Saud University,
Riyadh, Saudi Arabia
[email protected] The decision support system is a software system that aims to facilitate and/or enhance the process of decision making activities at any organizational level. Decision support system has moved from the traditional role of supporting traditional business process into supporting intelligent decision making. Most of the proposed software architectures for decision support system are domain-specific software architecture. We have proposed simplified software architecture for decision support systems that is suitable as a generic software architectural style for decision support systems. We believe that the proposed software architectural style can work for many different domain problems for decision support systems.
1. Introduction
Software architecture deals with the design and implementation of the high-level structure of the software. It is the result of assembling a certain number of architectural elements in some well-chosen forms to satisfy the major functionality and performance requirements of the system, as well as some other non-functional requirements such as reliability, scalability, portability, and availability [3]. Perry and Wolf [1] define the software architecture in terms of building blocks that is concerned with the selection of architectural elements, their interactions, and the constraints on those elements and their interactions necessary to provide a framework that satisfies the requirements and serves as a basis for the design. A set of systems or subsystems may have some common architecture in which an architectural style or pattern may be used for designing such systems. In [2] the architectural style or pattern is determined by set of element types, topological layout of the elements indicating their interrelationships, set of semantic constraints, and set of interaction mechanisms that determine how the elements coordinate through the allowed topology.
The decision support system (DSS) has evolved from a broader concept of management information system that focuses on information gathering and management to focus more on decision making. The decision support system is a software system that aims to facilitate and/or enhance the process of decision making activities at any organizational level to make it more productive, greater agility, innovative, reputable, and satisfactory [8]. Although the decision making might be structured i.e., deterministic and well-defined with recurring routine that involves a definite procedure for handling certain situation, most of the organizations use an unstructured decision making [9], which requires a human interaction with the DSS system. The motivation of this paper is to present a simplified architectural style for decision support systems that provides a general purpose software architectural style for decision support systems. This paper is organized as follows, the related works are presented in section 2, our proposed approach is presented in section 3, and the conclusions are presented in section 4.
2. Related Works
The architectures of decision support systems have been recognized in early eighty e.g., [4, 5, 6, 7]. In the literatures, there are several software architecture proposals for decision support systems for specific domains, however, due to the paper size limitation; we present few research studies. For instance, in [10] software architecture for an intelligent instructor pilot decision support system has been proposed to help instructors during simulated missions instruction, post-flight debriefing, and performance evaluation. A distributed architecture has been used to propose distributed decision support system to help radiologists in the diagnosis of soft tissue tumors. The proposed architecture consists of three specialized nodes: radiologist visual interface, information system, and decision support web-services [11]. Information architecture of a clinical decision support system has been presented in [12] to facilitate the decision making within medical processes. In [20] another clinical decision support system (CDSS) approach has been proposed to support clinical decision making by supporting a complete knowledge-driven CDSS architecture via a rule-based guideline knowledge repository and multi-agent system architecture. Software architecture for environmental decision support systems has been presented in [13] to help in managing hydraulic of the ecosystem of Camargue, a French region. Another proposal of software architecture for event-driven traffic management system has been described in [14] that enables the analysis and processing of complex event streams in real-time, in which it may be suitable for decision support in sensor-based traffic control systems. In [15] a distributed architecture for e-business environment based on web technology was introduced. The proposed framework is based on the J2EE platform by using Internet-based web technologies. A decision support system has been proposed in [19] for selecting the solar power plant site based upon the qualitative and quantitative five criteria under cost and environmental factors including climate, geographical, transportation, environmental and cost criteria. Hybrid reasoning approach has been presented in [16] for the purpose of designing a decision support system. Rule-based reasoning and case-based reasoning are used to design knowledge-based decision support systems. In [17] agent technology...