Lecture Notes in Business Information Processing Series Editors Wil van der Aalst Eindhoven Technical University, The Netherlands John Mylopoulos University of Trento, Italy Michael Rosemann Queensland University of Technology, Brisbane, Qld, Australia Michael J. Shaw University of Illinois, Urbana-Champaign, IL, USA Clemens Szyperski Microsoft Research, Redmond, WA, USA
88
Joseph Barjis Tillal Eldabi Ashish Gupta (Eds.)
Enterprise and Organizational Modeling and Simulation 7th International Workshop, EOMAS 2011 held at CAiSE 2011, London, UK, June 20-21, 2011 Selected Papers
13
Volume Editors Joseph Barjis Delft University of Technology Faculty of Technology 2628 BX Delft, The Netherlands E-mail:
[email protected] Tillal Eldabi Brunel University Business School Uxbridge, Middlesex UB8 3PH, UK E-mail:
[email protected] Ashish Gupta Minnesota State University Moorhead School of Business Moorhead, MN 56563, USA E-mail:
[email protected] ISSN 1865-1348 e-ISSN 1865-1356 ISBN 978-3-642-24174-1 e-ISBN 978-3-642-24175-8 DOI 10.1007/978-3-642-24175-8 Springer Heidelberg Dordrecht London New York Library of Congress Control Number: 2011936881 ACM Computing Classification (1998): J.1, H.3.5, H.4.1, I.6
© Springer-Verlag Berlin Heidelberg 2011 This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com)
Preface
Twenty-First century enterprises are crucial components in delivering service to society and contributing to economic prosperity. Service is delivered when an enterprise conducts its business within its business environment. With the growing complexity of modern business processes and continuously changing business environment, enterprise study requires profound engineering approaches with properties such as ability for reengineering, scalability, adaptability, and reimplementation. Enterprises are purposefully designed and implemented systems to fulfill certain functions. As any system, enterprises are objects of continuous improvements, redesign, and reimplementation. Usually, a redesigning activity is triggered by changes in the business environment, where the enterprise is functioning (delivering its service), or by an internal need for efficiency. The departure point for any design or redesign activity pertinent to an enterprise is first to understand the enterprise business processes. Therefore, in the overall enterprise engineering activities, business process modeling plays a central role. However, an extended enterprise and organizational study involves both analysis and design activities, in which modeling and simulation play prominent roles. The growing role of modeling and simulation is attracting the serious attention of researchers in the context of enterprises. Modeling and simulation are the tools and methods that are effective, efficient, economic, and widely used in enterprise engineering, organizational study, and business process management. Complementary insights of modeling and simulation in enterprise engineering constitute a whole cycle of study of enterprises. In order to monitor and study business processes and interaction of actors in a realistic and interactive environment, simulation has proven to be a powerful tool and method, especially if simulation is supported with rich animation and gaming elements. In order to explore these topics, address the underlying challenges, find and improve solutions, and demonstrate applications of modeling and simulation in the domain of enterprise, its organization and underlying business processes, peer-refereed papers were accepted for presentation at EOMAS 2011. EOMAS 2011 was held on June 20–21, 2011 in London, UK, in conjunction with CAiSE 2011. June 2011
Joseph Barjis
Organization
The EOMAS workshop is annually organized as an international forum for researchers and practitioners in the field of enterprise and organization modeling and simulation. Organization of this workshop, planning, and review of the contributions were accomplished by an international team of researchers.
Workshop Organizers Workshop Chair Joseph Barjis
Delft University of Technology, The Netherlands
Program Co-chairs Tillal Eldabi Ashish Gupta
Brunel University, UK Minnesota State University Moorhead, USA
Program Committee Antonia Albani Jean-Paul Arnaout Anteneh Ayanso Joseph Barjis Ygal Bendavid Kawtar Benghazi Peter Bollen Mahmoud Boufaida Tatiana Bouzdine-Chameeva Manuel I. Capel-Tu˜ no´n Rodney Clarke Jan Dietz Tillal Eldabi Samuel Fosso Wamba Jose Luis Garrido Bullejos Rafael Gonzalez Ashish Gupta P. Radha Krishna Peggy Daniels Lee
University of St. Gallen, Switzerland Lebanese American University, Lebanon Brock University, Canada Delft University of Technology, The Netherlands Polytechnic and Academia RFID, Canada University of Granada, Spain Maastricht University, The Netherlands Mentouri University of Constantine, Algeria BEM - Bordeaux Management School, France University of Granada, Spain University of Wollongong, Australia Delft University of Technology, The Netherlands Brunel University, UK University of Wollongong, Australia University of Granada, Spain Javeriana University, Colombia Minnesota State University Moorhead, USA Infosys Technologies Ltd., India Penn State Great Valley, USA
VIII
Organization
Prabhat Mahanti Yuri Merkuryev Vojtech Merunka Alta van der Merwe Martin Molhanec Navonil Mustafee Manuel Noguera Ghaith Rabadi Srini Ramaswamy Han Reichgelt Peter Rittgen Victor Romanov Irina Rychkova Mamadou Seck Natalia Sidorova Michel Soares David Sundaram Yutaka Takahashi Andreas Tolk Jos´e Tribolet
University of New Brunswick, Canada Riga Technical University, Latvia Czech University of Life Sciences Prague, Czech Republic University of South Africa, South Africa Czech Technical University in Prague, Czech Republic Swansea University, UK University of Granada, Spain Old Dominion University, USA University of Arkansas at Little Rock, USA Southern Polytechnic State University, USA University College of Boras, Sweden Plekhanov University of Economics, Russia University Paris 1 Pantheon - Sorbonne, France Delft University of Technology, The Netherlands Eindhoven University, The Netherlands Federal University of Uberlandia, Brazil The University of Auckland, New Zealand Senshu University, Japan Old Dominion University, USA Technical University of Lisbon, Portugal
Auxiliary Reviewers Michele Fumarola Yilin Huang Rick van Krevelen Cagri Tekinay
Delft University of Technology, The Netherlands Delft University of Technology, The Netherlands Delft University of Technology, The Netherlands Delft University of Technology, The Netherlands
Sponsoring Institutions – SIGMAS (Special Interest Group on Modeling and Simulation of the Association for Information Systems) – SIGSIM (Special Interest Group on Simulation of the Association for Computing Machinery) - in collaboration – CAiSE 2011 (International Conference on Advanced Information Systems Engineering) – TU Delft (Delft University of Technology Department of Systems Engineering)
Table of Contents
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management: A General Acceleration Technique . . . . . . . . . . . Amir Elalouf, Eugene Levner, and T.C. Edwin Cheng
1
A Framework of Views on Service Networks Models . . . . . . . . . . . . . . . . . . Olha Danylevych, Frank Leymann, and Christos Nikolaou
21
System Dynamics in Integration of Supply Chain Management . . . . . . . . . Tillal Eldabi and Amir (Aboulfazl) Keramati
35
Modeling and Simulating Organisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Oana Nicolae and Gerd Wagner
45
Simulation, Games and Challenges: From Schools to Enterprises . . . . . . . Pedro S´ a Silva, Diogo Pedrosa, Ant´ onio Trigo, and Jo˜ ao Varaj˜ ao
63
Using a Controlled Vocabulary to Support Business Process Design . . . . Carla Marques Pereira, Artur Caetano, and Pedro Sousa
74
A Quality-Oriented Business Process Meta-Model . . . . . . . . . . . . . . . . . . . . Farideh Heidari, Pericles Loucopoulos, and Zoubida Kedad
85
Can BPMN Be Used for Making Simulation Models? . . . . . . . . . . . . . . . . . Giancarlo Guizzardi and Gerd Wagner
100
Performance Improvement in Healthcare Processes . . . . . . . . . . . . . . . . . . . Reza Widjaya, Frans van der Horst, and Mamadou Seck
116
Supporting Enterprise IS Modelling Using Ontological Analysis . . . . . . . . Robert Pergl
130
Instance-Level Modeling and Simulation Using Lambda-Calculus and Object-Oriented Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vojtˇech Merunka Conceptual Normalisation Formalised . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Martin Molhanec
145 159
X
Table of Contents
Modelling and Prototyping of Business Applications Based on Multilevel Domain-Specific Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Robert Pergl
173
Building towards a Software Based Innovation Modelling Tool . . . . . . . . . Paidi O’Raghallaigh, David Sammon, and Ciaran Murphy
192
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
215
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management: A General Acceleration Technique Amir Elalouf1, Eugene Levner1,2, and T.C. Edwin Cheng3 1
Bar Ilan University, Ramat Gan, Israel
[email protected] 2 Ashkelon Academic College, Ashkelon, Israel
[email protected] 3 The Hong Kong Polytechnic University, Hong Kong
[email protected] Abstract. Modern manufacturing enterprises are steadily moving towards open architectures wherein manufacturing activities are integrated with the activities of suppliers, customers, and partners within complex supply chains. Agent-based technology provides a natural way to design and implement such integration. We model the supply chain as a directed graph in which the vertices represent computers or individual agents and edges represent links. Thus the problem of enhancing the efficiency of mobile agents reduces to the problem of finding resource-constrained extremal paths in the graph. We study ε-approximation algorithms for solving the considered problems. We suggest a general three-stage technique, which follows and extends an earlier computational scheme in the literature for the constrained path problems (CPP). The new technique essentially improves on several earlier algorithms and also provides new aproach for contructing FPTAS for the CPP. Keywords: Integrated enterprise, Agent-based architecture, Mobile agent, Fast routing algorithm, FPTAS.
1 Introduction Global competition and rapidly changing customer requirements necessitate dramatic changes in the production styles and configuration of manufacturing organizations. Manufacturing strategy has shifted to support global competitiveness, new product innovation and customization, and rapid market responsiveness. The traditional centralized approach limits the flexibility, expandability, and reconfigurability of manufacturing systems. Emerging information and communication technologies are powerful technologies that have stimulated the creation and development of various forms of enterprise collaboration. Agent technology is a comparatively new paradigm that provides a natural way to address such problems, and to design and implement efficient distributed intelligent manufacturing systems. J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 1–20, 2011. © Springer-Verlag Berlin Heidelberg 2011
2
A. Elalouf, E. Levner, and T.C.E. Cheng
In the context of collaborative intelligent manufacturing, we define an agent as “a human or software system that communicates and cooperates with other human or software systems to solve a complex problem that is beyond the capability of each individual system and such a system is capable of autonomous actions, without the direct intervention of human beings or other agents”. This definition is compatible with the definitions given by Jennings and Wooldridge [1] and Shen et al. [2-4]. An autonomous agent-based manufacturing system is a system that is able to function without the direct intervention of human beings or other agents in some environments, and that has control over its own actions and internal states. It is a loosely coupled network of manufacturing enterprises integrated with the suppliers, customers, and partners within complex supply chains that work together to solve problems that are beyond their individual capabilities. Establishing the notion of mobile agents in 1994, White [5] describes a computational environment known as “Telescript” in which running programs are able to transport themselves from host to host in a computer network. Tsichritzis [6] suggests the notion of mobile computation by describing a hypothetical computing environment in which all the objects could be mobile. Within the scope of this paper, we follow the definitions in [2-7] and define a mobile agent as “a software agent that is able to autonomously migrate from one host to another in a computer network.” Mobile agent-based technologies have been used in intelligent manufacturing for more than two decades. The latest achievements in multi-agent systems have brought new possibilities for integrated manufacturing enterprise management [7-10]. In typical manufacturing applications, a mobile agent visits several hosts in a network in order to complete its mission. The hosts provide information and also activities, services, and inter-agent communications. All the services and information are available at different sites and in different forms, levels of accuracy, and degrees of reliability. Hence, a mobile agent routing problem arises in which limited computational resources are available at many possible sites. A given benefit function determines how much benefit (e.g., information from sites, retrieval data etc.) each site contributes to an agent’s mission. Since information is available at many different sites that yield different degrees of benefit, the mobile agent should find a best possible itinerary to visit them under resource constraints. The problem of enhancing the efficiency of mobile agents then reduces to the problem of finding resource-constrained extremal paths in a graph. The agent’s routing problem consists in finding an information- or resource-constrained route that provides the best agent performance. The following basic mobile agent routing problems arise: Problem P1. To maximize the total benefit generated from agent travel, subject to the condition that the total travel time (sometimes called delay) does not exceed a given threshold. Such a problem has been studied by Camponogaro and Shima [11] and Elalouf and Levner [12]. Problem P2. To minimize the agent’s total expected travel time to complete the task under the constraint that the total travel cost does not exceed a given budget limit. Such a problem has been investigated by, e.g., Brewington et al. [13], Hassin [14], Goel et al. [15], Xue et al. [16], among many others.
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management
3
Problem P3. To maximize the total benefit generated from agent travel, subject to the condition that the amount of the gathered information is not less than a given threshold. Problem P4. To minimize the total cost of agent travel under the constraint that the amount of the gathered information is not less than a given threshold. To the best of our knowledge, there is no work in the literature with a focus on the design of efficient numerical methods for solving P3 and P4. Aiming to fill this gap, we study fast ε-approximation algorithms for solving the considered problems in this paper. We suggest a general three-stage technique, which follows and extends an earlier computational scheme suggested by Gens and Levner [17] and Elalouf and Levner [12] for the knapsack and routing problems, respectively. The new technique essentially improves on the algorithms by Camponagaro and Shima [11] and Hassin [14] for P1 and P2, respectively, and also provides a way to obtain new fast algorithms for P3 and P4.
2 An Example of the Mobile Agent Routing Problem We begin with a brief description of the mobile agent routing problem P1 studied by Camponogaro and Shima [11]. Using this problem as an example, we show how our general accelerating technique can provide a fast ε-approximation algorithm (also called a fully polynomial approximation scheme or FPTAS in short) for the mobile agent routing problem in which computational resources are available at many possible sites. Camponogaro and Shima [11] reduce this problem to the constrained longest-path problem (CLPP) in a graph G = (V, E). The problem is to maximize the total benefit generated from agent travel, subject to the condition that the total travel time does not exceed a given threshold. 2.1 Problem Set-Up To model a mobile agent working in an integrated manufacturing enterprise environment, we introduce the concept of a mobile intelligent agent or a migent in short. It is a mobile agent serving intelligent manufacturing management and supporting its multiple functions, which include enterprise integration, enterprise collaboration, manufacturing process planning, scheduling and control, materials handling, and inventory management. A virtual integrated enterprise can be defined as “a network of independent organizations that jointly form an entity committed to providing a product or service” [2, 3]. Thus, from the customer’s perspective, as far as the product/service is concerned, these independent organizations, for all practical and operational purposes, are virtually acting as a single entity/enterprise. A detailed discussion of the applications of agent technology in virtual integrated enterprises can be found in [2-4, 7-10, 18-20]. In integrated manufacturing enterprises, migents can be used in different ways: • They can integrate order processing, product design, engineering analysis, process planning, production planning and scheduling, simulation, and execution.
4
A. Elalouf, E. Levner, and T.C.E. Cheng
• They enhance communication and cooperation among departments within an enterprise and among enterprises. • They can represent different manufacturing resources (e.g., machines, robots, tools, fixtures, AGVs, and human operators) or aggregations of resources (e.g., robotic cells, and production lines). • They can be deployed to represent negotiation partners, either physical plants or virtual players, such as master plants, virtual partners, or dynamic consortia to facilitate enterprise collaboration. Consider, as an illustration, the agent-based manufacturing enterprise infrastructure suggested by Shen et al. [2, 3] and presented in Figure 1. Its objective is to integrate the manufacturing enterprise’s activities such as design, planning, scheduling, simulation, and execution with those of its suppliers, customers, and partners into a distributed intelligent open environment. This infrastructure can be used to develop distributed integrated intelligent manufacturing systems. In this infrastructure, the manufacturing system is primarily organized at the highest level through sub-system agents called mediators (see Fig. 1). Mediators are special agents different from other agents called facilitators as in [2, 3]. The main difference between a mediator and a facilitator is that a facilitator provides the message services in general, while a mediator assumes additionally the role of a system coordinator by promoting cooperation among different intelligent agents and learning from agents’ behaviours. Each subsystem is connected (integrated) to the manufacturing system through a special mediator. Each sub-system itself can be an agent-based system (e.g., agent-based manufacturing scheduling system) or any other type of system like a computer-aided design system, a knowledge-based material management system, and so on. The agents may also be able to communicate directly with other subsystems. For instance, in order to integrate design and manufacturing, each design subsystem connects to the manufacturing system through a design mediator, which serves as the coordinator of this subsystem.
Fig. 1. Agent-based manufacturing enterprise infrastructure (source: Shen et al. [3])
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management
5
We consider the mobile agent framework described in Rech et al. [21] and Camponogaro and Shima [11]. Specifically, we develop a graph-theoretic model for computing the agent’s itinerary under resource constraints, which enables the design of exact dynamic programming algorithms and approximation algorithms. A mobile agent is defined as a self-contained human or software system responsible for the execution of a task. In the case of software, it can transport its code (the static part) and state (the dynamic and time-varying part) from one site to another. The state contains all of the necessary information and variable data that enable the agent to resume its execution. The motivation for agent mobility is not the information technology itself but rather the benefits that mobile agents offer to operating distributed systems. Mobile agents can be created or launched dynamically during run time and dispatched to destination computers to perform their tasks. Consider a mobile agent functioning in a multi-agent distributed manufacturing system that is responsible for the failure detection in the system. The infrastructure of the system is shown in Fig. 1. The lowest system’s level is composed of a net of various sensors and detectors to detect failures and break-downs in the distributed enterprise. The useful information for the failure/incident detection includes failed component identification, time, incident verification, repair time and cost etc. Currently, the multi-agent technologies for detecting and registering these parameters include RFID-based electronic devices, video monitoring systems, laser-based detection systems etc. Being computerized, they actually function as a network of multiple stationary agents that can also save and forward the needed information to the mobile agent. Being different from stationary agents, mobile agents are able to migrate from one node in a network to other nodes and to be executed on any node in the network. The mobile agent receives a task of detecting a failure from the human decision maker or from a completely automatic and human-free management center of a higher level. When carrying out its mission, the agent visits a number of computers in a network of stationary detecting devices. It achieves this by having its code being copied to a remote computer and then executed. One of the major advantages of mobile agent technology is that it can minimize the bandwidth and communication time constraints that might normally be involved in a search for the failures in a large-size distributed enterprise. A mobile agent does not have to communicate with the human decision maker while carrying out the search: the only time that any bandwidth is used is when the agent returns from the search and issues its results. The mobile agent provides the desired intelligence, i.e., collecting and integrating the information from stationary agents into one system of a higher level by wrapping it into an agent-based simulator mediator as shown in Fig. 1. The simulator mediator is capable of integrating the obtained information, handling unpredicted situations, and choosing the best strategies for overcoming troubles threatening the enterprise. To summarize, the significance of the mobile agent technology is that it provides the added values of high-degree autonomy, cooperability, and communicability in enterprise management in comparison with conventional failure detection/management systems. Mobility provides great opportunities to address challenges in enterprise control and management systems, such as quick incident diagnosis, dynamic system re-configuration, deploying, if needed, of new algorithms or operations dynamically, taking unanticipated actions, and reducing data transmission volume and bandwidth over a network.
6
A. Elalouf, E. Levner, and T.C.E. Cheng
Consider a distributed manufacturing system in which a mobile agent visits a sequence of sensors or machines until the requested information is gathered. Each machine takes a given time to process the agent’s task and has a probability of the task being successful. There are resources required for the success of the agent’s mission: travel time from one machine to another, requested power, material, and information demands etc. The mobile agent framework is based on a computational network (graph) G = (V, E) consisting of a set V of nodes, a set E of edges, and sets of benefits and resources associated with the edges. Edges in G are denoted by (i,j), bij is the benefit of traversing edge (i,j), rij is the time resource consumption to move along edge (i,j), r is the amount of resource available, and |E| = m, and |V| = n. Benefit b(p) and time resource r(p) of a route p from a given node s to a given node t are defined as the sum of the benefits and times, respectively, of the edges in the path. A directed path from node i to node j (denoted as the i-j path) is called a b-path if its benefit is at least b and an r-path if its time consumption is not greater than r. The problem is to maximize the total benefit b(p) attributed to the path, subject to the condition that the total travel resource r(p) does not exceed a given threshold R. 2.2 Outline of the Camponogara-Shima Algorithm The Camponogara-Shima algorithm (CSA) produces a path with a benefit at least 1-ε times the benefit of the optimal path (such a path is called ε-approximate) and has the following property: The ε-approximation algorithm for CLPP runs in O(log log( b b )(mn/ε + log log( b b ) )), where b and b are an upper bound and a lower bound on the maximum benefit, respectively, and n and m are the number of nodes and edges in the underlying directed graph G = (V, E), respectively. A difficulty in obtaining a FPTAS for the considered problem is lack of simply computable tight lower and upper bounds. CSA, in which the term b b depends on edge benefits, can be classified as a “weakly polynomial” FPTAS. A theoretical contribution of this study is that we derive a “strongly polynomial” FPTAS, which reduces the complexity of CSA by a factor of (n/h)(log log(UB/LB)/log log( b b )), where h denotes the length of the longest path (in hops) in graph G. Like many other FPTASs available in the literature, CSA comprises three basic subprocedures: •
• •
Program Test(v) that answers the question “b*< v?”, where b* is the maximum benefit value within the time limit and v is a given parameter. The test outputs “yes” if b* < v and outputs “no” if b* ≥ v(1- ε). It is a dynamic-programming procedure of complexity O(mn/ε), where n = |V| and m=|E|. Scaling of edge benefit values. A dynamic programming (DP) procedure, called Dual-Reverse-DP(b), that computes a maximum-benefit r-path from s to t in O(m b ).
In order to make the paper self-contained, we present below a brief description of the DP algorithm Dual-Reverse-DP(b), as well as the original procedures Test(v) and the ε–approximation algorithm on the scaled data called FPTAS(b, b , φ, ε, r).
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management
7
Dual-Reverse-DP(b) . Let ri(b) be the resource consumption of a b-path, from node i to sink t, with the least consumption, which is defined recursively as follows:
ri(b) = min(i,j) ∈ E{rj(max{b − bij, 0}) + rij}, b = 0,1, …
(1)
Let b* be the value of an optimal solution to P1. The goal is to find the b*-path with the least resource consumption from source s = 1 to sink t = n. We set:
ri(b) = 0, if i = t and b = 0; ri(b) = ∞, if i = t and b > 0; ri(b) = ∞, if i = t and b > b*. By applying (1), the problem is solved to optimality and the optimal solution is given by r1(b*). The maximum benefit of a feasible path is b* = max{b : r1(b) ≤ r}. Procedures Test(v) and FPTAS(b, b ,φ, ε, r) are presented in Fig. 2 and 3, respectively.
Test (v) 1. Take a fixed ε, 0 r for some b < (n-1)/ε, in which case every b-path has a benefit at most v, which implies that b* < v, or else b ≥ (n-1)/ε, in which case an r-path with a benefit of at least v(1- ε) is found. Fig. 2. Test procedure by Camponogaro and Shima (source: [11])
FPTAS(b , b , φ, ε, r)
1: while b b > φ do 2: v =
bb
3: if Test(v) = “yes” then b ← v else b ← v(1- ε) 4: end while 5: Set bij← ┌ bij/(bε/(n-1)) ┐ 6: Apply Dual-Reverse-DP to obtain an optimal r-path Fig. 3. The ε-approximation procedure by Camponogaro and Shima (source: [11])
3 Description of the Acceleration Technique Our general approach for accelerating a FPTAS basically follows a computational scheme first suggested by Gens and Levner [17, 22] for the min-cost knapsack
8
A. Elalouf, E. Levner, and T.C.E. Cheng
problem. In this approach, we modify the DP, scaling, and testing sub procedures and exploit them more efficiently than the method described above. The new technique consists of three main stages: Stage A. Find a preliminary lower bound LB and an upper bounds UB on the optimal solution such that UB/LB ≤ h ≤ n - 1. Stage B. Find improved lower and upper bounds β and β on the optimal solution such that β β ≤ 2 . Stage C. There are two possible versions, namely Stage C1 - if we use the scaling technique and Stage C2 - if we use the interval partition technique. Stage C1. Scale the input data and find an ε-approximation solution using a dynamic programming sub-algorithm on the scaled data. This technique is used by Hassin [14] and Camponogara and Shima [11]. Stage C2. Assemble several routes with the same or sufficiently close objective values into a single cluster and keep only one “representative” route in each cluster. Find an ε-approximation solution using full enumeration of all the “representatives”. This technique is different from scaling. Also, it differs from the partitioning algorithm by Hassin [14] (the so-called “Second Hassin Algorithm”) and has a better worst-case performance. In what follows, we will give further details of this algorithm. The basic building block in the above three-stage method used in Stages B and C is an ε-test procedure, an example of which is given in Fig. 2. Another example will be discussed below. Actually the test procedure is a core of the approximate binary search used as a subprocedure in the method. Notice that the first ε-test known to us was derived by Gens and Levner [22, 17] for ε-approximately solving the binary knapsack problem. Some years later a similar ε-test was proposed by Hassin [14] for solving the constrained shortest-path problem. In recent years, many researchers (see [11, 15, 16, 24], among many others) exploit and improve the ε-test procedure for solving various modifications of the constrained routing problem. 3.1 Accelerating FPTAS for P1
We describe here the accelerating technique as compared with CSA for solving P1. Stages B and C are modifications of the two stages in CSA depicted in Figures 2 and 3 while Stage A is totally absent from CSA. These changes permit us to improve the complexity of the algorithm. We start with explaining the general logic of the modified algorithm and after that we describe Stages A-C in detail. At first, the preliminary bounds LB and UB (such that UB/LB ≤ h) are found in Stage A. After that, in order to narrow the found ratio, the algorithm runs Stage B. It is the binary search in a logarithmic scale performed in a similar way as the search performed by Hassin [14] and Camponogaro and Shima [11] (see Fig. 2). After each test run, the bounds are modified. Each current test is executed at the point v = (UB*LB)1/2. However, there is a difference between our modified test, denoted by MTest(v), and the original Test(v). This difference helps accelerate the algorithm. We will explain this in detail below.
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management
9
When Stage B terminates, we obtain improved lower and upper bounds, and use them in the modified ε-approximation procedure in Stage C1. Now we can describe Stages A, B and C in more detail. Description of Stage A. Notice that graph G is acyclic since we are solving the longest-path problem (with respect to benefit) with non-negative lengths. In order to find preliminary lower and upper bounds, we carry out the following four steps:
Step A1. Find the finite shortest (with respect to time) s-i paths and shortest (with respect to time) t-j paths for all those edges (i, j) for which such paths exist. For this aim, we run twice the standard algorithm for finding the shortest path from one source to all the destinations in the acyclic directed graph G; during these runs, we treat node s as a source in the first run and node t as a “source” in the second run. Step A2. For each edge (i, j) in G, add the length of the shortest (in time) s-i path, the length of the shortest (in-time) j-t path, and the length r(i, j) of edge (i, j) itself. Denote the obtained sum by R(i, j) Step A3. Let us call the edge (i, j) right if R(i, j) ≤ r (w.l.o.g., we assume that at least one such an edge does exist in G). Scan all the “right” edges and select among them one with the maximum benefit value. Denote the latter value by b0. Clearly, b0 ≤ b* ≤ nb0. Since any s-t path contains at most h hops, the following also holds: b0 ≤ b* ≤ hb0. Therefore, we have found LB = b0 and UB = hb0. Step A4. Find h, the number of hops in the longest (with respect to hops) s-t path in graph G. For this aim, we run the standard algorithm for finding the longest s-t path in the acyclic directed graph G.
Complexity of Stage A. The complexity of Steps A1 and A4 is O(m+n) (see Cormen et al. [23, ch.24.2]), and the complexity of Steps A2 and A3 is O(m). Therefore, Stage 1 requires O(m+n) time in total. Description of a New Test and Stage B. The new test denoted by M-Test(v) is based on Test(v) that was described in Fig. 2. The difference between them is two-fold. First, instead of scaling the benefits as indicated in Step 1, Fig. 2, we use the following scaling operation: bij ← ⎡⎢bij ( vε h ) ⎤⎥ .
Second, when computing the resource consumption ri(b) of a b-path from node i to sink t, we again substitute n-1 by h. Specifically, ri(b) is computed recursively, like in Step 2 in Figure 1, for b = 0,1,… , until: rs(b) > r for some b < (h)/ε - in which case every b-path has a benefit at most b* < v, or else b ≥ h/ε - in which case an r-path of benefit at least v(1- ε) is found. Thus, similar to Test(v), M-Test(v) answers “yes” if b* < v or “no” if b* ≥ v(1- ε). One can easily verify that this testing property still holds after changing n-1 to h. Due to this modification, the complexity of the testing procedure decreases from O(mn/ε) to O(mh/ε) time. In addition, in the sub-algorithm BOUNDS below, we use the modified M-Test(v) only for several fixed ε-values (ε = 1/4, 1/3, and 1/2). Consequently, the complexity of M-Test(v|ε fixed) decreases from O(mh/ε) to O(mh) time. The narrowing sub-algorithm BOUNDS provides the improved lower and upper bounds β and β such that β β ≤ 2 . It is presented in Fig. 4. In this figure,
10
A. Elalouf, E. Levner, and T.C.E. Cheng
M-Test(v|ε=0.5) denotes M-Test(v) carried out with fixed ε = 0.5. Obviously, M-Test(v|ε=0.5) reports either b* < v or b* ≥ 0.5 v. Similarly, M-Test(v|ε=1/3) reports either b* < v or b* ≥ (2/3)v. M-Test(v|ε=0.25) reports either b* < v or b* ≥ 0.75 v. The proof of the validity of BOUNDS is straightforward and is omitted here. BOUNDS
Input: LB and UB such that UB/LB≤h. Output: β and β such that β / β ≤ 2 If UB/LB ≤ 2 goto 6. Set v = 2 LB ⋅ UB Run Test1 = M-Test (v|ε = 0.5). if Test1 = “no” set LB ← 0.5v and goto 1 if Test1 = “yes” set UB ← v 4. Set v ← v/2; Run Test2 = M-Test(v|ε=1/3) if Test2 = “yes” set UB← v and goto 1 if Test2 = “no” set LB ← 2/3v (now the ratio UB/LB = 3) 5. Set v← 2LB. Run Test3 = M-Test(v|ε=0.25) if Test3 = “yes” set UB← v if Test3 = “no” set LB ← 0.75v (now the ratio UB/LB = 2) 6. β = LB, β = UB end 1. 2. 3.
Fig. 4. Sub-algorithm BOUNDS
Complexity of Stage B. The number of repetitions of M-Test(v|ε fixed) in the procedure BOUNDS to decrease the ratio UB/LB from h to 2 is evidently O(log log h); each of the M-Test(v|ε fixed) runs requires O(mh) time. The time to compute the test point v = (UB*LB)1/2 before each test in M-Test(v) is O(log log h). Thus, BOUNDS runs in O(log log h (mn + log log h)) = O(mh log log h) time (and does not depend upon ε). We have arrived at our key observation: Property 1. The overall complexity of Stage B for P1 is O(mh log log h). Description of Stage C1. The main difference between the new ε-approximation procedure in Stage C1 and FPTAS(b, b , φ, ε, r) in CSA is that factor h is used instead of n-1 in scaling. Specifically, instead of the scaling operation indicated in Step 5 in Figure 2, we use the following one:
⎡ bij ⎤ Set bij ← ⎢ ⎥, ⎢ β ⋅ε h ⎥
(2)
where h denotes the length of the longest (in hops) s-t path in graph G. Since after Stage B UB/LB ≤ 2, the complexity of running DP at Stage C on the scaled data is O(mh/ε). Taking into account that Stage A requires O(m+n) time, Stage B O(mh log log h) time, and Stage C O(mh/ε) time, we obtain the following improved complexity for the modified algorithm:
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management
11
Property 2. The modified algorithm for P1 requires a total of O(mh/ε + mhlog log h) time.
Notice that CSA needs to run Test(v) O(log log(UB/LB)) times and within each test it requires, in turn, O(mn/ε) time. The time it needs to compute the test point v = (UB*LB)1/2 before each test is O(log log(UB/LB)). Thus, our algorithm improves the complexity of CSA by a factor of (n/h)log log (UB/LB)/log log ( b b ). Property 3. Scaling in Stage C according to (2) increases each edge benefit by at most β ⋅ ε h and each path benefit by at most b * ⋅ε .
The proof can be conducted along the same line as the corresponding proofs for similar statements in Gens and Levner [17], Hassin [14], and Camponogaro and Shima [11]. In fact, we just substitute n-1 by h. Notice that replacing (n-1) by h in (1) does not improve the worst-case complexity but can dramatically accelerate computation in practical computer networks. 3.2 Accelerating FPTAS for P2
In problem P2 we wish to minimize the total expected travel time to complete the task under the constraint that the total travel cost does not exceed a given budget limit. In this problem, a directed graph G = (V, E) has a vertex set V = {1, …, n} and an edge set E = {e1, e2, …, em}. Notice that each edge ek = (i,j)∈ E, where i and j ∈ V. We define a new notation for the edges in order to explain the performance of Stage Amin introduced below. In P2, each edge ek has a transition time tk and cost ck. We denote the total transition time and the total cost for a path p by t(p) and c(p), respectively. The problem is to minimize the total time t(p) attributed to the path, subject to the condition that the total cost c(p) does not exceed a given budget B. Description of Stage A for P2. We need to make some changes in comparison with Stage A of Section 3.1. The new Stage A is denoted by Stage Amin. In stage Amin we use the following greedy technique: We order the edges according to their non-decreasing time values: t[e1 ] ≤ t[e2 ] ≤ L ≤ t[en ] . Then we set x[e1] = 1, x[e 2] = 1,L and add the edges to the (initially
empty) graph until we obtain a path from source to destination that satisfies the budget constraint. In case that all xi =1 but we cannot find such a path, there is no feasible solution. Let xk be the last variable set to 1 in the above procedure. Then we set b0 = tik . Obviously, the optimal total travel time (denoted by OPT) must lie between b0 and hb0. In the case where the optimal path time equals zero, the above greedy procedure in Stage Amin finds the exact optimal solution (i.e., a path of zero duration), whereas Stages B and C are not needed. In what follows, we assume that all the data are positive integer. It is worth noticing that the original ε-approximation algorithm by Hassin [14] does not work properly in this case. Complexity of Step A. Sorting the edges is done in O(m log n). Each checking of whether the acyclic graph G has a feasible path on a selected set of edges requires O(m + n) time [23]. The total number of checks is O(log n) if we use the binary search in the interval [1, m]. Thus, the complexity of Stage A here is O((m + n)log n ).
12
A. Elalouf, E. Levner, and T.C.E. Cheng
Stages B and C1 are the same as for P1 described above if one uses the standard rounding technique in Stage B and C, which is discussed in [11, 14-16, 24, 26], among many others. In this situation, the first Hassin (rounding) algorithm [14] can be improved by a factor of n, as proved by Lorenz and Raz [24]. Actually, a further minor improvement can be made if we pursue the idea described in Section 3.1, namely substituting n-1 by h, in which case the first Hassin algorithm is improved by a factor of n2/h. In this section we apply a new partitioning technique in Stage C in order to improve the second Hassin algorithm. The interval partitioning technique was originally proposed by Sahni [25] for the knapsack problem and later improved by Gens and Levner [17, 22]. Description of Stage B for P2. The new technique in Stage B consists of two subprocedures, called Test(v,ε) and BOUNDS. Test(v,ε), which is the core of Stage B, uses the interval partitioning, so it is different from the rounding operations used in Section 3.1. The narrowing procedure BOUNDS is just the same as the procedure presented in Section 3.1 in Fig. 4, wherein M-Test(v) is replaced by Test(v,ε). In order to define Test(v,ε), we begin with several observations.
•
• • •
Associated with each path p is a pair (T, C), where T is the path duration T(p) and, correspondingly, C = C(p), the path cost. We introduce sets S(i) of pairs (T, C) arranged in increasing order of T values so that every pair in S(i) corresponds to a path from a node s to a node i. If there are two pairs in any S(i) (to the same node i), (T1, C1) and (T2, C2) such that T1 ≤ T2 and C1 ≤ C2, then the pair (T2, C2) is called dominated and may be discarded. Let v be a parameter value. If we are interested only in solutions satisfying T(p) ≤ v. then any pair (T, C) representing an s-i path, to any i, and having T > v (called v-redundant) should be discarded. If there are two pairs (T1, C1) and (T2, C2) in S(i) such that 0 ≤ T2 - T1 ≤ δ , then the pairs are called δ –close. We use the operation called discarding δ –close from set S(i), which means the following: (a) partition interval [1, v] (where v is a given parameter) into ┌h/ε┐ equal subintervals of size no greater than δ = ( ε v ) h ; (b) if more than one pair from S(i) falls into any one of the above subintervals, then discard all such δ –close pairs, leaving only one representative pair in each subinterval, namely the pair with the smallest (in this subinterval) C-coordinate.
W.l.o.g., we assume that graph G has at least one feasible path from s to t. Otherwise, the problem has no solution, which can be checked by performing the shortest-path Dijkstra algorithm (with respect to cost) before the approximation algorithm starts. Denote by h the number of hops (the longest distance from s to t in G with respect to the number of arcs). We can now describe the steps of the test procedure Test(v, ε) (see Fig. 5).
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management
13
Test(v, ε)
1. 2. 3. 4. 5. 6. 7. 8. 9.
10. 11. 12. 13. 14. 15.
Input. {(t(k, j), c(k, j) | (k,j) ∈ E}; B; ε > 0; δ = ( ε v ) h ,v>0. Output. Either the output is “b*≥ v” or else “b* ≤ v(1+ε)”. Step 1. [Initialization]. Set S(0) = {(0,0)}. Order all the nodes in the topologically sorted order. Set S(i)←∅ for i=1, …, n Step 2. [Generate S(1) to S(n)] for all k∈ V: do W ← ∅ for e∈ (u,k) for each pair (T,C) corresponding to a path from s to u in S(u) do if C + r(u,k) ≤ B then W ← W ∪ {(T+t(u,k), C+c(u,k))} endfor endfor Merge S(k) and W to obtain a new S(k); during the merge eliminate δ –close, dominated and v-redundant pairs. end for Step 3. Let t be the destination node If S(t) has a pair (and, therefore, a corresponding path) with T ≤ v, report that b*≤v, otherwise report that b*≥ v(1- ε). Fig. 5. Test procedure Test(v, ε)
The justification for this procedure is straightforward. Indeed, let us break interval [1, v] into ┌h/ε┐ “small” equal subintervals of size no greater than vε/h, in each of which leaving only one representative pair. The total number of representatives in any S(i) will be at most h/ε. Taking into account that (1) merging of S(k) and W (with at most h/ε representatives) in line 11 requires O(h/ε) time, and (2) the merging procedure is done m times, the complexity of Test(v, ε) is O(mh/ε) in total. Description of Stage C. The new algorithm at Stage C, called AA(ε), is based on interval partitioning and is similar to Test(v, ε). As in Test(v, ε), associated with each path p is a pair (T, C), where T is the path duration T(p) and, correspondingly, C = C(p), the path cost. We deal with sets S(i) of pairs (T, C) arranged in increasing order of T values so that every pair in S(i) corresponds to a path from a node s to a node i. In order to restore an ε-approximation path itself corresponding to a pair (T, C), we can use a standard backtracking operation defining a predecessor node to each node in the path. If there are two pairs, in S(i) (to the same node i) (T1, C1) and (T2, C2) such that T1 ≤ T2 and C1 ≤ C2, then the pair (T2, C2) is called dominated and will be discarded. Any pair (T, C) representing an s-i path, to any i, and having T > UB (called UB-redundant) should be discarded. We use the operation called discarding δ –close from set S(i), which
14
A. Elalouf, E. Levner, and T.C.E. Cheng
means the following: (1) partition interval [1, LB] into┌h/ε┐ equal subintervals of size no greater than δ = ( ε LB ) h ; (2) if more than one pair from S(i) falls into any
one of the above subintervals, then discard all such δ –close pairs, leaving only one representative pair in each subinterval, namely the pair with the smallest (in this subinterval) C-coordinate. We can now describe the steps of ε -approximation algorithm AA(ε) (see Fig. 6). AA(ε) 1. Input. {(t(k, j), c(k, j) | (k,j) ∈ E}; B; ε > 0; δ = ( ε LB ) h ,v>0.
2. 3. 4. 5. 6. 7. 8. 9.
10. 11. 12. 13. 14. 15.
Output: an ε –approximate path Step 1. [Initialization]. Set S(0) = {(0,0)}. Order all the nodes in the topologically sorted order. Set S(i)←∅ for i=1, … n Step 2. [Generate S(1) to S(n)] for all k∈ V: do W ← ∅ for e∈ (u,k) for each pair (T,C) corresponding to a path from s to u in S(u) do if C + r(u,k) ≤ B then W ← W ∪ {(T+t(u,k), C+c(u,k))} endfor endfor Merge S(k) and W to obtain a new S(k); during the merge eliminate δ –close, dominated and v-redundant pairs. end for Step 3. Let t be the destination node Find the minimum T pair in S(t) Find an ε –approximation path using backtracking Fig. 6. The ε-approximation algorithm AA(ε)
Complexity. To finalize the description of the three-stage technique for P2, we use the subprocedure BOUNDS described at Stage B for P1. Notice that the testing procedure has the same output for the optimal value in both problems: either OPT ≥ v(1- ε) or OPT ≤ v. Of course, when subprocedure BOUNDS is exploited for solving P2, the εtest Test(v, ε) presented in Fig 5 is used within BOUNDS. Since |S(i)| ≤┌h/ε┐ for all i∈ V, the time and space required to generate all these sets is O(mh/ε). In particular, given ε = 0.5, the procedure Test (v,ε) for any v either reports b* ≥ 0.5v or b* ≤ v in O(mh) time. The total number of runs for Test (v,ε) is O(log log h) if we use the logarithmic binary search in the same way as Hassin [14]. Totally, we need O(mhlog log h) time to carry out Stage B. The three-stage technique for P2 is summarized in Fig. 7.
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management
15
Summary of the Algorithm for P2 Stage Amin: Input: G = (V, E). Output: A lower bound b0 and an upper bound hb0 such that b0≤OPT≤nb0 Run Stage Amin. Go to Stage B. Stage B: Input: A lower bound b0 and an upper bound hb0 .
Output: A lower bound
β
and an upper bound
β
such that β β ≤ 2
Run Stage B. The only difference from Stage B for P1 is that in subprocedure BOUNDS_the algorithm calls test Test(v,ε ) (see Fig. 5). Stage C2: Run C2 using the algorithm AA(ε) Fig. 7. Summary of the new method for P2
Given that the procedure Test(v, ε) and the ε-approximation algorithm AA(ε) of Stage C2 are the basic building blocks in the proposed acceleration technique, let us summarize its properties and distinctions: i. ii.
While AA(ε) partitions interval [0,UB] into ┌(UB/LB) h/ε┐ subintervals, Test(v, ε) partitions interval [0,v] into ┌ h/ε ┐ subintervals. While AA(ε) returns an ε-approximation solution, Test(v, ε) depends on the parameter v and returns "yes", if OPT ≥ v or "no" if OPT ≤(1+ ε)v
After performing Stage B, the algorithm runs Stage C2. Since |S(i)| ≤┌h/ε┐ for all i∈ V, its complexity in this stage is O(mh/ε). Therefore, the total complexity of the approximation algorithm in Stages B and C is O(mh/ε) + O(mhlog log h). Stages B and C are dominant in comparison with the pre-processing (sorting and check-theroute) operations in Stage A. Furthermore, the term O(mh/ε) is dominant in comparison with O(mh log log h). Recall that the second Hassin algorithm (also based on interval partitioning) runs in O((mn2/ε) log (n/ε). Apart from the non-dominant operations, the new three-stage technique improves the ε-approximation procedure of the second Hassin algorithm by a factor of (n2/h)log n/ε. 3.3 FPTAS for P3 and P4
Stage A for solving P3 and P4 is similar to Stage A for P1 and P2, respectively, with the following difference. We call Stage A for P2 Stage Amin. Notice that P1 and P3 are maximization problems, while P2 and P4 are minimization problems. In P1 (respectively, P2), we search for the longest (respectively, shortest) path that satisfies the less-than-or-equal constraint, whereas in P3 (respectively, P4), we are to find the longest (respectively, shortest) path satisfying the greater-than-or-equal constraint. The corresponding changes are straightforward. Stage A for P4 is similar to Stage Amin for P2. The difference is that in P2, we add edges until we find a path that satisfies the less-than-type budget constraint, while in
16
A. Elalouf, E. Levner, and T.C.E. Cheng
P3, we add edges until we find a path satisfying the larger-than-type constraint. Stage A for P3 is similar to Stage A for P1 but differing in Step A3. Namely, unlike the situation in P1 (where we call edge (i,j) right if R(i,j) ≤ r), now in P3, we call edge (i,j) right if R(i,j) ≥ r. In the both cases, we assume that at least one such an edge does exist in G. In the case where there is no such an edge, no feasible solution exists. Stages B and C are similar to those of P1 described above with a corresponding change in the dynamic programming recursive equation The three-stage technique for P3 and P4 is summarized in Fig. 8. Summary of the New Methods for P3 and P4 Stage A. For P3 run Stage A as Stage A in P1. In Stage A, step A3, edge (i,j) is "right" if: In P3: R(i,j) ≥ r ( Recall that in P1: R(i,j) ≤ r). Set b0 = max ( R ( i, j ) | R ( i, j ) is "right")
For P4 run Stage Amin: like Stage Amin in P2 Order the edges according to non-decreasing values: pi1 ≤ L ≤ pin Set xi1 = 1, xi 2 = 1, xi 3 = 1,L until we find a path satisfying:
In P4: r(p) ≥ r (Recall that in P2: r(p)≤r). Let
xik be the last
variable set to be 1, then we set b0 = pik At the end of Stage A and Amin we have bounds such that b0 ≤ OPT ≤ hb0 . Stage B: Finding tighter bounds by applying Bounds. While calling M-Test make use of the ri ( b ) -line as follows:
{ ( { })} + r , b = 0,1,K {r ( min {b − b })} + r , b = 0,1,K {r ( max {b − b , 0})} + r , b = 0,1,K {r ( min {b − b })} + r , b = 0,1,K
P1: ri ( b ) = min ( i , j )∈E r j max b − bij , 0 P2: ri ( b ) = min ( i , j )∈E P3: ri ( b ) = max ( i , j )∈E P4: ri ( b ) = max ( i, j )∈E
j
ij
j
ij
j
ij
ij
ij
ij
ij
Stage C is performed with the same replacement in the ri ( b ) -line as in Stage B
above while calling to the DP algorithm. Fig. 8. Summary of the new methods for P3 and P4
4 Discussion and Computational Experiments In order to examine the computational properties of the new acceleration techniques, we compared the running times of the algorithms on a realistic network configuration described by Shen et al. [3]. This agent-based manufacturing enterprise management system includes four mediators (enterprise mediator, design mediator, resource
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management
17
mediator, and marketing mediator) and has varying numbers of subsystems served by the mediators (see Fig. 1 and 9). The enterprise (mobile) mediator can be considered as the administration centre of the manufacturing enterprise. Other mediators communicate with this mediator. In this architecture the maximum number of hops h is much less than n and the factor n/h in such computing networks may be up to dozens and even hundreds. Fig. 9, borrowed from Shen et al. [3], visualizes this fact.
Fig. 9. An implementation of the agent-based enterprise infrastructure (source: Shen et al. [3])
We experimented with different configurations of the network varying the number of layers in the underlying graph from four to eight and the out-degrees of the nodes corresponding to different subsystems from two to ten. This example illustrates the significance of the performance improvement obtained from the new method. Indeed, in this practical setting, the average node out-degree in the network is just five (though, in practice, it may be much larger), so in this five-layer network architecture n/h is larger than 600. Computational results of the experiments are presented in Fig. 10, in which the xaxis indicates the number of nodes, n = 100 to 1200, and the y-axis shows the logarithm of the running time. Notice that because of a large difference in the running time between the new algorithm and the previous algorithms, we use the logarithmic scale for the y-axis. Our new algorithm is denoted by ELC in Fig. 10 and depicted by left columns of each pair in the figure. The running time of ELC is seen to be many times less than the running time of either CSA or Hassin 2, with the difference rapidly growing when problem size increases. Specifically, the average running time of ELC is from 3.2 milliseconds for the graph with 100 nodes to 6.2 seconds for the graph with 1,200 nodes. The average running time of CSA is from 0.4 seconds for 100 nodes to 750 seconds for 1,200 nodes. For the second Hassin algorithm, the average running time is from 10 seconds for 100 nodes to more than 6 hours for 1,200 nodes.
18
A. Elalouf, E. Levner, and T.C.E. Cheng
Fig. 10. Implementation and comparison of the algorithms
5 Conclusions The mobile-agent itinerary problem can be cast as the resource-constrained (longest or shortest) path problem that is amenable to fast and practical algorithms. In this paper we suggest an acceleration technique that modifies and improves on the Componogaro-Shima algorithm by a factor of (n/h)(log log (UB/LB)/log log (b⎯/b)) and on the Hassin algorithm by a factor of n2/h. The complexity of our algorithms polynomially depends only on the graph size (i.e, m and n) and 1/ε, and does not depend on the magnitudes of the input data. Computational experiments confirm that our technique accelerates the performance of mobile agent routing in comparison with earlier known algorithms for the restricted routing problem. So, in our study we prove that our computer algorithms are theoretically efficient (i.e. even in the worst case, they run in polynomial time in the problem size). Moreover, we observe that they powerfully accelerate the mobile agent performance, such as the volume of gathered information, on several experimental networks. An interesting general question remains: Are the suggested techniques effective, i.e., they essentially accelerate the mobile agent’s performance, in other real-life platforms? If so, can they be used for enhancing the integrated enterprise potential in practice? Intelligent agent-based designs and the solution procedure presented in this paper seem to work well in autonomous agent-based system environments where there is no human intervention. In the event that the agent represents human decision makers, there are complex behavioral uncertainties that cannot be easily captured in the presented frameworks. Given the broader definition of the agent used in the literature, it is important to discuss the limitations of agent-based designs in today’s humancentered supply chain and manufacturing systems. This question is another interesting area for future research. It remains to be studied whether efficient FPTASs can be designed for the routing problem with several constraints. Another and a wider research goal is to extend our scheme to handle more complicated manufacturing systems, such as integrated largesize supply chains with numerous precedence and resource constraints linking its components.
Efficient Routing of Mobile Agents for Agent-Based Integrated Enterprise Management
19
References 1. Jennings, N.R., Wooldridge, M.J.: Applications of Intelligent Agents. In: Jennings, N.R., Wooldridge, M.J. (eds.) Agent Technology: Foundations, Applications, and Markets, pp. 3–28. Springer, Heidelberg (1998) 2. Shen, W., Norrie, D.H., Barthes, J.-P.: Multi-Agent Systems for Concurrent Intelligent Design and Manufacturing. Taylor and Francis, London (2001) 3. Shen, W., Xue, D., Norrie, D.H.: An Agent-Based Manufacturing Enterprise Infrastructure for Distributed Integrated Intelligent Manufacturing Systems. In: Proceedings of the Third International Conference on the Practical Application of Intelligent Agents and MultiAgents, London, UK, March 23-25, pp. 1–16 (1997) 4. Shen, W., Hao, Q., Yoon, H.J., Norrie, D.H.: Applications of Agent-Based Systems in Intelligent Manufacturing: An Updated Review. Advanced Engineering Informatics 20, 415–431 (2006) 5. White, J.E.: Telescript Technology: The Foundation for the Electronic Marketplace, White Paper, General Magic, Inc. USA (1994) 6. Tsichritzis, D.: Objectworld, Office Automation. Springer, Heidelberg (1985) 7. Papaioannou, T.: Using Mobile Agents to Improve the Alignment between Manufacturing and its IT Support Systems. Robotics and Autonomous Systems (1999) 8. Peng, Y., Finin, T., Labrou, Y., Chu, B., Long, J., Tolone, X., Boughannam, A.: A MultiAgent System for Enterprise Integration. In: Proc. of PAAM 1998, London, UK, pp. 155– 169 (1998) 9. Shen, W., Maturana, F., Norrie, D.H.: MetaMorph II: An Agent-Based Architecture for Distributed Intelligent Design and Manufacturing. Journal of Intelligent Manufacturing 11(3), 237–251 (2000) 10. Shen, W.: Distributed Manufacturing Scheduling Using Intelligent Agents. IEEE Intelligent Systems 17(1), 88–94 (2002) 11. Camponogaro, E., Shima, R.B.: Mobile Agent Routing with Time Constraints: A Resource Constrained Longest-Path Approach. Journal of Universal Computer Science 16(3), 372– 401 (2010) 12. Elalouf, A., Levner, E.: General Techniques for Accelerating FPTAS for the Routing and Knapsack Problems, Abstract Book. In: Annual Meeting 2011 of Operations Research Society of Israel (ORSIS 2011), Akko, Israel, May 29-30, p. 14 (2011) 13. Brewington, B., Gray, R., Moizumi, K., Kotz, D., Cybenko, G., Rus, D.: Mobile Agents in Distributed Information Retrieval. In: Klusch, M. (ed.) Intelligent Information Agents, pp. 355–395. Springer, Heidelberg (1999) 14. Hassin, R.: Approximation Schemes for the Restricted Shortest Path Problem. Mathematics of Operations Research 17(1), 36–42 (1992) 15. Goel, A., Ramakrishnan, K.G., Kataria, D., Logothetis, D.: Efficient Computation of Delay-sensitive Routes from One Source to All Destinations. In: IEEE Infocom 2001, pp. 854–858. IEEE Press, Los Alamitos (2001) 16. Xue, G., Sen, A., Zhang, W., Tang, J., Thulasiraman, K.: Finding a Path Subject to Many Additive QoS Constraints. IEEE Transactions on Networking 15, 201–211 (2007) 17. Gens, G.V., Levner, E.V.: Fast Approximation Algorithms for Job Sequencing with Deadlines. Discrete Applied Mathematics 3, 313–318 (1981) 18. Papaioannou, T., Edwards, J.: Mobile Agent Technology Enabling the Virtual Enterprise: A Pattern for Database Query. In: Working Notes of the ABM Workshop, Minneapolis, MN, pp. 106–116 (1998)
20
A. Elalouf, E. Levner, and T.C.E. Cheng
19. Sadeh, N., Hildum, D.W., Kjenstad, D.: Agent-Based e-Supply Chain Decision Support. Journal of Organizational Computing and Electronic Commerce 33(3-4), 225–241 (2003) 20. Pan, J.Y.C., Tenenbaum, M.J.: An Intelligent Agent Framework for Enterprise Integration. IEEE Transactions on Systems, Man, and Cybernetics 21(6), 1391–1408 (1991) 21. Rech, L., Oliveira, R.S., Montez, C.B.: Dynamic Determination of the Itinerary of Mobile Agents with Timing Constraints. In: Proc. IEEE/WIC/ACM International Conference on Intelligent Agent Technology, Compiegne, France, pp. 45–50 (2005) 22. Gens, G.V., Levner, E.V.: Fast Approximation Algorithms for Knapsack Type Problems. LNCIS, vol. 23. Springer, Berlin (1980) 23. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. MIT Press, Cambridge (2001) 24. Lorenz, D.H., Raz, D.: A Simple Efficient Approximation Scheme for the Restricted Shortest Path problem. Operations Research Letters 28(5), 213–219 (2001) 25. Sahni, S.: Algorithms for Scheduling Independent Tasks. Journal of the ACM 23(1), 116– 127 (1976)
A Framework of Views on Service Networks Models Olha Danylevych1, Frank Leymann1, and Christos Nikolaou2 1
Institute of Architecture of Application Systems, University of Stuttgart, Germany {Olha.Danylevych,Frank.Leymann}@iaas.uni-stuttgart.de 2 Computer Science Department, University of Crete, Greece
[email protected] Abstract. Interdependency is a constant of business. Businesses form complex networks for the exchanging of goods and services. Service networks models represent the interconnections among companies, their parts and individuals in terms of services that are provided and consumed. Due to the size of nowadays service networks, their models tend to grow very large. The effective management of service network models requires methods for limiting the amount of data presented on the basis of what is needed through views. We identify a hierarchy of views on service network models, namely offeringcentric views, participant views and multilateral views. The offering-centric views focus on one service that is offered by one participant. Participant views present the entirety of the data related to one participant. Multilateral views represent the data about a set of participants. Additionally, we investigate the correlations between these views and the mechanisms for aggregating and projecting them from each other and from service network models. Keywords: Service networks, Views, View projection, View aggregation.
1 Introduction In business, environment matters. Businesses cannot evolve independently from their environments or, in other words, “no business is an island” [2]. To withstand the growing pressure of the globalized economy, companies specialize on their core competencies and increasingly rely on other companies for the needed services and goods. The service-centric webs connecting companies, organizations, businesses and humans come under many names: business ecosystems [3], service value networks [4], service systems [1], collaborative networked organizations [5], etc. In the scope of this work, we call Service Networks (SNs) these interconnections among businesses. Understanding SNs is important because of the influence they exercise on the performance of the participating enterprises. Both academia and industry have recognized the need for models and methods that treat service networks as first-class citizens from both the business and IT perspectives (see e.g. [3]). The currently available results on service network modeling stem originate in a variety disciplines (Service Oriented Computing, Business Process Management, etc.) and focus on aspects such as the modeling of value flows (e.g. [6]) and commitments and contracts (see for example [7]). In the scope of this paper, service networks model the J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 21–34, 2011. © Springer-Verlag Berlin Heidelberg 2011
22
O. Danylevych, F. Leymann, and C. Nikolaou
collaborations between businesses and humans in terms of service providing, while abstracting from the actual (business) processes and interactions that realize those collaborations. We employ our modeling notation for service networks previously introduced in [13]. The main building blocks of this service network notation are participants (e.g. companies, business units of the companies or human actors), service offering that are provided by the participants, service requirements declared by the participants, and service relationships which state the fact of actual satisfaction of service requirements by service offerings. Nowadays service networks are vast, and the respective service network models can contain hundreds of participants, service offerings, service requests, etc. The management of such large amounts of data requires viewing mechanisms for visualizing only parts needed for solving the tasks at hand. To tackle this issue, in this work we investigate three types of views on service network models: (1) offeringcentric, (2) participant, and (3) multilateral. Offering-centric views present the portion of the service network model that enables the providing by one participant of a given service offering, as well as its beneficiaries. Participant views provide an outlook of the “segment” of the service network model with which certain participants directly or indirectly interact. Finally, multilateral views combine multiple participant views to describe, for example, market segments. Together with service network models, offering-centric, participant and multilateral views form the hierarchy shown in Fig. 1. Put simply, this hierarchy represents topdown the increasing in scope of each view. At the bottom of the hierarchy sits the entirety of the available data, represented by the service network model. We provide algorithms to extract and aggregate views. The running example of this paper is based on the basis of the “Automotive Scenario” that has been identified in the scope of the S-Cube Network of Excellence.
Fig. 1. The Hierarchy of Service Network Views
This paper is organized as follows. Section 2 reviews the related work. Section 3 introduces the running example. Section 4 provides the necessary background on the service network modeling notation employed in this work. Section 5 presents offering-centric, participant and multi-lateral views on service network models. The mechanisms to project and aggregate views of service network models are treated in Section 6. Section 7 concludes the paper by presenting the closing remarks and future directions.
A Framework of Views on Service Networks Models
23
2 Related Work Service networks are a multi-disciplinary subject, and the related work is too broad to be covered here exhaustively. Therefore, we limit ourselves to the closest works on the modeling of service networks and views in modeling notations related to them. The authors of [10] propose a graphical notation called e3value for modeling and analyzing value flows in e-business models. E3value models are built around actors, i.e. economically independent entities that perform value transfers among each other by exchanging value objects such as goods or money. Actors have value ports and value interfaces that express both their needs for consumption and the ability to provide value objects. The main difference between e3value and our notation is that e3value does not explicitly model service relationships and the related contracts. Moreover, e3value provides an ordering of the value object exchanges. However, differently from our SN notation, this ordering does not provide information on time and multiplicity interdependencies between the service offerings a participant consumes in order to provide some of its own services. The authors of [11] treat service value networks from a viewpoint related to what we understand as offering-centric views. A service value network is represented as a graph depicting the possibilities for composing a complex service on the basis of other services offered by other providers. With respect to work presented here, the approach presented in [11] is a mechanism for exploring alternative configurations of a service value network in terms of how service offerings can be aggregated to satisfy one complex service requirement. Various aspects of service network modeling have already been covered in our previous work, including value calculation in service networks [8,20] and the relation between service networks and business process models [8,9]. The service network modeling notation originally proposed in [8,9] has been refined and extended in [13], and this refined notation is adopted in this work. Views have been extensively investigated in areas related to service networks such as Business Process Management (for example [15,16,17,18]). To the best of our knowledge, the present work is the first attempt to define types of service networks views and the correlation among them. From this perspective, related work are the [14, 22]. The authors of [14] treat Service Level Agreement (SLA) Views for business value networks, the scope of which is however unclear. The participants have different partial views on the SLAs that populate the business value network because of e.g. security and privacy concerns of the organizations involved. SLA views are aggregated in Hierarchical SLA views. In this respect, the approach presented in [14] is complementary to ours and could be used the SLA aggregation during the aggregation of service network views. The authors of [22] propose a notation for business modeling based on commitments. Patterns of commitment combinations such as unilateral commitment, commercial transaction, outsourcing and standing service contract are outlined. Similar patterns may be identified in the service network views we investigate in the present paper. From the perspective of aggregation and projection of views, the authors of [22] provide a generic framework for defining split and merge of models. For reasons of brevity, in this work we have not adopted their framework as a foundation for the
24
O. Danylevych, F. Leymann, and C. Nikolaou
aggregation and projection of service network views. However, this would be possible, and we will investigate it in the future.
3 Running Example The running example of this work is adapted from the S-Cube “Automotive Scenario” [12]. This scenario is set in the automotive industry and focuses on the South East Asia Division and Europa Division of Automotive Incorporation (Auto Inc.), a fictional European automotive industry, and its suppliers and customers. The both South East Asia Division as well as European Division of Auto Inc. produce and sell cars and motorcycles to the countries in the area they are located.
Fig. 2. A Service Network model depicting the running example
Auto Inc. has adopted a local sourcing strategy. South East Asia Division imports some of the high-tech components of the cars and motorcycles, called Completely Knocked Down (CKD), from the European Division because, for legal reasons, they cannot be manufactured elsewhere. After the preordered cars and motorcycles have been produced they are transported to the resellers. The shipment is outsourced to the local service providers. South East Asia Division uses the transportation services offered by Your Asian Shipping Services Ltd (YourAsianShipping) and TransportAs, Europa Division uses shipment services of oDHL and by Trans European Shipping Services Ltd (TransEuropa).
A Framework of Views on Service Networks Models
25
European Division of Auto Inc. provides offerings to West European Reseller and East European Reseller. Finally, S. E. Asia Division of Auto Inc. provides their offerings to the Hong Kong Reseller and Indonesia Reseller. The resellers’ payments of both branches are handled through banking services provided by the PayDude network.
4 Service Network Modeling In our previous work [13] we introduced a service network modeling notation supporting the description of relationships among participants in service networks while abstracting from the operational details. In Section 5 we introduce different views defined on such service network models. The goal of this section is to provide the necessary background on the service network modeling notation used in the remainder of the work. The service network modeling notation defines five core concepts: (1) the participants of service networks, (2) their service offerings, (3) their service requirements, (4) the service relationships among the participants and (5) the dependencies between service offerings and service requirements. Fig. 3 presents as a UML Class Diagram the meta-model of the service network notation adopted in this paper and presented originally in [13].
Fig. 3. Service network meta-model in UML Class Diagram
Participants of service networks represent either individuals, i.e. human actors, or business entities, e.g. organizations, enterprises, or parts thereof such as divisions. In the running example described in Section 3, the participants are Auto Inc., the European and South East Asia Divisions of Auto Inc., YourAsianShipping, TransportAs, PayDude, oDHL, and the corresponding East and West European Resellers, as well as resellers based in Honk-Hong, and Indonesia. The services offered by the participants within a SN are modeled as service offerings. However, participants in SNs do not only provide services, but consume
26
O. Danylevych, F. Leymann, and C. Nikolaou
them as well. The needs of the participants in terms of services to be consumed are represented as service requirements. Both service offerings and service requirements are associated with descriptions of the offered/required services. Service descriptions are not necessarily technical (e.g. WSDL files), but might also contain business-level information like pricing or licensing. The service relationship denotes the providing of some services by some participants to others. Service relationships can be multilateral (i.e. involving multiple participants). A service relationship connects the service offerings representing the services that are provided with the service requirements that represent the need of such services by the consumers. Service relationships can be associated with contracts, e.g. SLAs, which regulate the providing of the services involved in terms of, e.g., functional, non-functional, administrative and monetary characteristics. Notice that service relationships can represent service exchanges involving more than two parties, in our running example all service relationships are bilateral (i.e. involving exactly two participants), e.g. the service relationship linking the Payment Service Offering and Payment Service Requirement. Service network models convey information on two types of dependencies. A participant internal dependency specifies, within the scope of one participant, which service requirements of that participant must be satisfied in order for that participant to provide one of its service offering. Each participant internal dependency connects exactly one service offering with one service requirement. However, one service offering might have participant internal dependencies to multiple, distinct service requirements; in such a case, all service requirements must be satisfied in order to provide the service offering. For example, the South East Asia Division requires two service requirements to be satisfied, namely “Transport Service Requirement” (represented as D2 in the Fig. 1) and “Payment Service Requirement” (denoted by D3), in order to provide the “Motorcycle production and selling service offering”. Participant internal dependency can be further specified in terms of timing and multiplicity. Timing defines the correlation in terms of Allen’s Interval algebra [19] between the time intervals of (1) the satisfaction of the service requirement and (2) the providing of the service offering. In the case of D2, the timing is “finishes”, meaning that the transport service requirement starts during the providing of the “Motorcycle production and selling service offering” service offering, and they both complete at the same time. In the scope of one service relationship, a service relationship dependency defines which of the service requirements involved in that service relationship are satisfied by which service offerings. Since our running example involve only one service requirement and one service offering, service relationship dependencies are not depicted in Fig. 1. Similarly to participant internal dependencies, each service relationship dependency involves one service requirement and one service offering. However, the roles are inverted, in that it is the service request that depends on the service offering, and not vice-versa. Moreover, service relationship dependencies can convey additional information on multiplicity and timing. One service request may have service relationship dependencies on multiple service offerings, denoting the fact that the service request requires the providing of all those service offerings to be satisfied.
A Framework of Views on Service Networks Models
27
Alongside constructs that relate services, the service network modeling notation provides primitives to describe business and organizational relationships among participants. We have designed the notation to be extensible, as an exhaustive enumeration of the possible relationships between and among participants in a service network is simply not feasible. As an example, we depict in the meta-model shown in Fig. 2 the subordination relationship of one participant to another. A participant is subordinated to another when they are both organizations, and the first organization is part of the second, e.g. a business unit of an enterprise to the enterprise itself. Additionally, we provide the affiliation relationship construct, which allows the modeling of the belonging of an individual to a business entity.
5 Views on Service Network Models This section discusses the hierarchy of views shown in Fig. 1 on models of the service network modeling notation reviewed in Section 4. With respect to Fig. 1, we proceed in a top-down manner. Section 5.1 discusses offering-centric views. Section 5.2, instead, treats participant views. Multilateral views are covered in Section 5.3. 5.1 Offering-Centric Views on Service Networks The purpose of an offering-centric view is to display the part of the service network model that is related to one core service offering. The participant who owns the core service offering is called core participant. Offering-centric views support business analysts in answering questions such as which participants are relevant for the creation of the core service offering and which consume it.
Fig. 4. Offering-centric view with core offering “Car production and selling service offering” of S. E. Asia Division of Auto Inc
28
O. Danylevych, F. Leymann, and C. Nikolaou
An example of offering-centric view is shown in Fig. 4. In this case, the core service offering is “Car Prod. & Sell Service Offering” belonging to S. E. Asia Division. The core service offering depends on the satisfaction of three service requirements of S. E. Asia Division, namely “CKD Car S. Req.”, “Transport S. Req”, “Payment S.Req”. The participant internal dependencies related to the core service offering are depicted in the table included in Fig. 4. S. E. Asia Division relies for the creation of the core service offering on some upstream providers, namely European Division of Auto Inc., Your Asian Shipping Service Ltd., TransportAs and PayDude. The Hong Kong Reseller is the customer of the core service offering. Offering-centric views have several applications, including information clearance. For example, the business analyst may have access only the part of a service network model that is related to the service offering he is responsible for. Moreover, by annotating offering-centric views with additional information like partners performance, it is possible to analyze the value flows generated by the core service offering, as well as supporting decision-making regarding possible restructurings of the service network [8,9,20,21]. 5.2 Participant Views on Service Networks A participant view presents the subset of the data available in a service network model that, directly or indirectly, pertains to one given participant, called core participant. In other words, a participant view on a service network shows all service
Fig. 5. The participant view of South East Asia Division
A Framework of Views on Service Networks Models
29
offerings provided by the core participant, all its service requirements, and all the service relationships that involve it. Additionally, the participant view contains the core participant’s customers and their service requirements that are satisfied by offerings of the core participant, as well as the core participant’s upstream providers and related service requirements and offerings (possibly restricted to a particular “depth” for presentation purposes). Fig. 5 shows the participant perspective of the S. E. Asia Division extracted from the running example. Contrary to the multilateral view depicted in Fig. 2 the participant view contains only the service offerings and requirements of the S. E. Asia Division, the service relationships it is involved in, its customers and service providers.
Fig. 6. Examples of optimizations based on participant views
Participant views facilitate participant-wide optimizations. In fact, optimization opportunities for single participants in service networks often lay beyond the scope of single offering-centric views. For example, consider the case in which a participant could be granted a substantial volume-based discount by switching from multiple, similar service providers to just one. In such a case, the business analyst may need to access all and only the information about the participant, i.e. all its service offerings, service requirement and service relationships. Some examples of possible optimizations are shown in Fig. 6. In the running example South East Asia Division of Auto Inc. produces cars and motorcycles. Some service requirements are the similar or comparable for both types of vehicles, e.g. the transportation services Fig. 6a, and can be satisfied with one service relationship instead of several. Another example is the Payment Service, which is requirement for both production and selling of the cars and motorcycles. Instead of having two separate service relationships, one could arrange one service relationship that would satisfy both the service requirements. Fig. 6b shows the bundling of initially distinct service offerings e.g. selling cars and motorcycles. In particular, Hong Kong Reseller in the running example needs to acquire both cars and motorcycles. Initially, it has two distinct service relationships for buying cars and motorcycles from S. E. Asia Division.
30
O. Danylevych, F. Leymann, and C. Nikolaou
However, the two service relationships can be combined to reduce overhead (e.g. two separate procurement procedures and the relative legal expenses). Fig. 6c, instead, shows the case in which a service relationship is replaced with another that, for example, is more profitable. In the running example, the transportation services needed for both delivery of the cars and motorcycles are equivalent and the transportation service from TransportAs could be completely replaced through the transportation service of Your Asian Shipping Ltd. 5.3 Multilateral Views on Service Networks Multilateral views of service network models address the cases in which the information needed by a business analyst is beyond the scope of both offering-centric and participant views. A multilateral view combines multiple participant views into one. The participants on which the view focuses are called core participants. Similarly to the case of participant views, multilateral views support the optimization of service networks. However, the scope differs, in that multilateral views target groups of participants, e.g. consortia, strategic alliances or market segments. Multilateral views do not impose limitations to the amount of core participants. Naturally, if every participant in the service network is core, then the multilateral view includes the entirety of the service network model. An example of multilateral view in the scope of the running example is the combination of the participant views of Europa Division and S. E. Asia Division. Fig. 2 represents an example of multilateral view in which the core participants are S. E. Asia Division and Europa Division of Auto Inc.
6 Aggregation and Projection of Service Network Views This section covers how to aggregate (i.e. combine) the service network views presented in Section 5 with each other (Section 6.1), and how to project (i.e. extract) views from service network models (Section 6.2).
Fig. 7. The relations between service network models and views
A Framework of Views on Service Networks Models
31
The hierarchy of service network views shown in Fig. 1 is defined so that lower levels have broader “scope” than higher. Fig. 7 shows how the projection and aggregation algorithms presented in this section are defined modularly taking advantage of the hierarchy. Offering-centric views present the least amount of data focused on one core service offerings of some core participant. The combination of the offering-centric views of one core participant results in a participant view. Vice versa, it is possible to extract offering-centric views from participant views. In the same way offering-centric views are aggregated “downwards” the hierarchy into participant views, the latter can be aggregated into multilateral views. Multilateral view represents the point of view of a set of core participants. Of course, when the participant views of all the participants are combined together, the resulting multilateral view conveys the entirety of the underpinning service network model. It is interesting to notice that the aggregation of multilateral views results in a multilateral view. On the contrary, the projection of multilateral views can have different outcomes depending on the core element that is projected. For example, if the projection focuses on a single service offering, the outcome is an offering-centric view. Alternatively, a projection focusing on one core participant results in a participant view. Finally, it is possible to project a multilateral view from another by focusing on a subset of the core participants. 6.1 Aggregating Service Network Views Compared to the merge of distinct models, the aggregation of two service network views is a rather straightforward process. Since we are merging views of one model, we do not need to rely on relationships that “specify how the models as a whole relate to one another, as well as any specific mappings between elements within the models, for example, any mappings between the vocabularies of the models” [22]. The view resulting from the aggregation of two or more other views is the union of all the elements (participants, service offerings, etc.) that appear in at least one of the aggregated views. For example, the aggregation of the offering-centric view in Fig. 4 and the one in Fig. 8 results in the participant view shown in Fig. 5. 6.2 Projecting Service Network Views A projection is the outcome of the process of extracting one view from another view or from a service network model. As shown in Fig. 7, there are several types of projections: offering-centric views from participant and multilateral ones, participant from multilateral views or service network model, and narrower multilateral views from other multilateral views or from service network model. All these types of projections are based on the procedure to project offering-centric views, which thus is presented first. The steps for projecting an offering-centric view newView from a lower-level one are the following: 1. Add to newView the core service offering and participant that owns it. 2. The service requirements that must be satisfied in order to provide one service offering from newView are identified by following the participant
32
O. Danylevych, F. Leymann, and C. Nikolaou
3.
4.
5.
6.
internal dependencies of that service offering. To newView are added all the service requirements on which depend the service offerings in newView. That is, in this step we perform a “transitive closure” of the service requirements in newView. All the service relationships that involve service requirements in newView are added to the latter. That is, this step results in a transitive closure of the service requests. All the service offerings that are involved in some of the service relationships included in newView are added to the latter, as well as the participants that own those service offerings. In other words, this step results in the transitive closure of service offerings and relative participants. The “depth counter” is increased by one. If the “depth counter” has not yet reached the desired amount or there are no more service offerings that can be added (i.e. the projection has reached a fixed point), the steps 2~5 are iterated again. Otherwise, the projection has completed and the current newView is the outcome. Add to newView the service relationships that involve the core service offering. Moreover the service requirements involved in those service relationships, as well as the relative participants, are added to newView. In other words, this step adds the “downstream” layer, which includes the customers of the core participant with respect to the core offering.
Fig. 8 presents the outcome of the projection of the offering-centric view for the service offering “Prod. & Sell Motorcycles Service Offering” of S. E. Asia Division of Auto Inc. from the participant view shown in Fig. 5.
Fig. 8. Offering-centric view with core offering “Prod. & sell Motorcycles Service Offering” of S. E. Asia Division of Auto Inc
A Framework of Views on Service Networks Models
33
The projections of participant views from multilateral ones are obtained by: (1) Projecting the offering-centric views for each of the service offerings of the core participant; (2) Aggregate the offering-centric views resulting from the previous step using the algorithm presented in Section 6.1. The same approach allows to project multilateral views from broader ones or from a service network model. That is, a participant view is created for each participant in the core participant. The projected participant views are then aggregated into the resulting multilateral view.
7 Conclusions Service network models represent sets of participants (businesses, parts thereof and human actors), service offerings and service requirements they issue and service relationships among the participants. In order to provide effective mechanisms to deal with large service network models, we have investigated three types of views on service network models, namely offering-centric views, participant views and multilateral views. To the best of our knowledge this is the first work addressing the topic of service network views. The types of views we have presented form a hierarchy based on the scope and amount of information contained. Offering-centric views center on one core service offering of one core participant. In the hierarchy, these views contain the least information and have the narrowest focus. Participant views have a broader scope than offering-centric views and present the data related to one core participant. Multilateral views represent the segment of a service network model relevant to a set of core participants. We have provided mechanisms to project views from others and service network models, as well as to aggregate them. . We foresee two possible future directions. First of all, the identification of further types of views on service network models, e.g. collapsing similar participants into “categories” e.g. all the customers of one service offering. Another interesting direction is the study of the correlations between views of service network models and views on the underpinning inter-organizational business process models that realize the service relationships. Acknowledgments. The research leading to these results has received funding from the European Com-munity’s Seventh Framework Programme FP7/2007-2013 under grant agreement 215483 (S-Cube).
References 1. Maglio, P.P., Vargo, S.L., Caswell, N., Spohrer, J.: The service system is the basic abstraction of service science. Inf. Syst. E-Business Management 7(4), 395–406 (2009) 2. Håkansson, H., Snehota, I.: No business is an island: The network concept of business strategy. Scandinavian Journal of Management 22(3), 256–270 (2006) 3. Barros, A.P., Dumas, M.: The rise of web service ecosystems. IT Professional 8(5), 31–37 (2006)
34
O. Danylevych, F. Leymann, and C. Nikolaou
4. Hamilton, J.: Service value networks: value, performance and strategy for the services industry. Journal of Systems Science and Systems Engineering 13(4), 69–489 (2004) 5. Camarinha-Matos, L.M., Afsarmanesh, H.: Towards a reference model for collaborative networked organizations. In: Information Technology For Balanced Manufacturing Systems (BASYS 2006), pp. 193–203 (2006) 6. Allee, V.: Reconfiguring the value network. Journal of Business Strategy 21(4) (2000) 7. Telang, P.R., Singh, M.P.: Business modeling via commitments. In: Kowalczyk, R., Vo, Q.B., Maamar, Z., Huhns, M. (eds.) SOCASE 2009. LNCS, vol. 5907, pp. 111–125. Springer, Heidelberg (2009) 8. Bitsaki, M., Danylevych, O., van den Heuvel, W.-J., Koutras, G., Leymann, F., Mancioppi, M., Nikolaou, C., Papazoglou, M.P.: An architecture for managing the lifecycle of business goals for partners in a service network. In: Mähönen, P., Pohl, K., Priol, T. (eds.) ServiceWave 2008. LNCS, vol. 5377, pp. 196–207. Springer, Heidelberg (2008) 9. Bitsaki, M., Danylevych, O., van den Heuvel, W.J., Koutras, G., Leymann, F., Mancioppi, M., Nikolaou, C., Papazoglou, M.P.: Model transformations to leverage service networks. In: ICSOC Workshops, pp. 103–117 (2008) 10. Gordijn, J., Akkermans, H.: Designing and evaluating e-business models. IEEE Intelligent Systems 16(4), 11–17 (2001) 11. Blau, B., Kramer, J., Conte, T., van Dinther, C.: Service Value Networks. In: IEEE Conference on Commerce and Enterprise Computing, Vienna, Austria, pp. 194–201 (2009) 12. Nitto, E.D., Mazza, V., Mocci, A.: Collection of Industrial Best Practices, Scenarios and Business Cases. NoE S-Cube Deliverable CD-IA-2.2.2 (2009) 13. Danylevych, O., Karastoyanova, D., Leymann, F.: Service Networks Modelling: An SOA & BPM Standpoint. Journal of Universal Computer Science 16(13), 1668–1693 (2010) 14. Haq, I., Huqqani, A., Schikuta, E.: Aggregating Hierarchical Service Level Agreements in Business Value Networks. In: Dayal, U., Eder, J., Koehler, J., Reijers, H.A. (eds.) BPM 2009. LNCS, vol. 5701, pp. 176–192. Springer, Heidelberg (2009) 15. Chiu, D., Li, K.K.Q., Kafeza, E.: Workflow view based e-contracts in a cross organisational e-services environment. Distributed and Parallel Databases 12, 193–216 (2002) 16. Chebbi, I., Dustdar, S., Tata, S.: The view based approach to dynamic interorganizational workflow cooperation. Data and Knowledge Engineering 56, 139–173 (2006) 17. Schulz, K.A., Orlowska, M.E.: Facilitating cross-organizational workflows with a workflow view approach. Data and Knowledge Engineering 51, 109–147 (2004) 18. Schumm, D., Leymann, F., Streule, A.: Process Viewing Patterns. In: Proceedings of the 14th IEEE International EDOC Conference (EDOC 2010), pp. 89–98. IEEE Computer Society Press, Los Alamitos (2010) 19. Allen, J.F.: Maintaining knowledge about temporal intervals. Commun. ACM 26(11), 832–843 (1983) 20. Caswell, et al.: Estimating value in service systems: A case study of a repair service system. IBM Systems Journal 47(1), 87–100 (2008) 21. Nikolaou, C., Tai, S., Bitsaki, M., Mazzoleni, P., Sairamesh, J.: Estimating Value in Value Networks - A Case Study from Pharmaceutical Industry. Presented the 16th Annual Frontiers in Service Conference (2007) 22. Brunet, G., Chechik, M., Easterbrook, S., Nejati, S., Niu, N., Sabetzadeh, M.: A manifesto for model merging. In: Proceedings of the 2006 International Workshop on Global Integrated Model Management (GaMMa 2006), pp. 5–12. ACM, New York (2006) 23. Telang, P.R., Singh, M.P.: Business modeling via commitments. In: Kowalczyk, R., Vo, Q.B., Maamar, Z., Huhns, M. (eds.) SOCASE 2009. LNCS, vol. 5907, pp. 111–125. Springer, Heidelberg (2009)
System Dynamics in Integration of Supply Chain Management Tillal Eldabi and Amir (Aboulfazl) Keramati Brunel University - Business School: Uxbridge-Middlesex, England - UB8 3PH
[email protected] [email protected] Abstract. Supply chain integration provides a potential opportunity for companies that seek better performance in terms of shorter delivery time and lower price at a guaranteed quality, yet an effective tool that helps decision makers select and combine various components including the possible outcomes of a specific chain during process of integration still is missing. Modelling and simulation modelling is an accepted approach for advancing this shortcoming. Due to uncertainty and complexity of supply chains that stem from its nature perhaps system dynamics provides a better insight compared to the other simulation models for studying the concept. Therefore, this paper aims to provide an insight that why and whether system dynamics has application in integration of supply chain management. Keywords: supply chain management, integration, simulation modelling, system dynamics.
1 Introduction The goal of supply chain is to meet the needs of the final consumers by supplying the right products at the right place, time and price and companies use the supply chain as a way to meet these goals in today’s business environment [16]. Most supply chains are composed of independent agents with individual preferences that no single agent has the power to optimise the whole supply chain [15]. Over the years, many firms have focused their attention on the effectiveness and efficiency of separate business functions. As a new way of doing business, however, a growing number of firms have begun to realise the strategic importance of planning, controlling and designing a supply chain as a whole [34]. It is expected that doing so increases profit and improves performance of the supply chains [20]. Building an integrated supply chain represents one of the most exciting opportunities to create value and one of the most challenging tasks for the policy makers [50]. A better understanding of the complex dynamics that determine performance of supply chains has become crucial for superior performance of supply chain management [1], [10] and [31]. While the positive outcomes of supply chain integration have been supported by previous research studies, effective integration implementation remains a mystery for many companies [10]. J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 35–44, 2011. © Springer-Verlag Berlin Heidelberg 2011
36
T. Eldabi and A. Keramati
A typical supply chain can often be complex due to the large mesh of interlinked participants, dynamic nature of the supply chain, having different objectives and being a member of other supply chains [6]. It is clear that there is a need for some level of coordination of activities and processes within and between organisations in the supply chain to reduce uncertainties and to add more value for customers. This requires that interdependent relations between various processes, stages and organisations should be established. These relations may change with time and are very difficult to be analytically modelled, if not impossible [13]. The complexity associated with such a supply chain, combined with a lack of integration can lead to potential problems that should be addressed properly. The need to capture these complexities with an adequate tool is a prerequisite for any successful attempt to integrate supply chains. From Thomas More in 1516 to Pogo in the mid 20th century it has long been acknowledged that people seeking to solve a problem make it worse. Therefore there is a need to produce a tool that equips managers to cope with such undesired outcomes [45]. The importance of supply chain integration has forced companies to use of different business models [15]. Effective modelling related to the supply chain can offer a company faster response time to the customer, lower costs, higher levels of flexibility, lower inventories, lower levels of obsolescence and reduced demand amplification throughout the chain through the better understanding and control of system [6]. To make a methodological contribution that extends and improves the application of system dynamics in modelling of supply chain management, this paper discusses why system dynamics is a useful tool for integration of supply chains. To begin, the paper examines the background of supply chain management and its relevant characteristics. Then will illustrate the importance of modelling and usefulness of system dynamics in integration of supply chain management. The conclusion will be guideline for future research directions.
2 Supply Chain Integration From the early 1950s it became evident that a rigorous framework for analysing the dynamics of supply chains and taking proper decisions could substantially improve performance of the system [41]. During 1950s and 1960s, many manufacturers emphasised mass production to minimise unit production cost as the primary operations strategy, with little product or process flexibility. In the 1970s, Material Requirements Planning (MRP) was introduced and managers realised the impact of huge Inventory Sharing Technology (WIP) on manufacturing cost, quality, new product development and delivery lead-time [47]. In 1982, the term of supply chain had been created by two consultants, Oliver and Webber. Although the supply chain is a misleading term for what is better characterised as a network, the idea remains the same: to describe the linkages between a focal firm and its environment in terms of relationships, activities and/or flows [19]. Initially, the benefits of collaborative rather than adversarial, working relationships within and beyond the organisation were identified [37] to describe the range of activities that are coordinated by an organisation to procure and manage supply. The term referred to an internal focus bounded by a single organisation to explain how firms sourced and
System Dynamics in Integration of Supply Chain Management
37
procured their inventory and moved goods towards the customers [23]. In 1987 Michael Porter first stated that many successful organisations are co-operating with partners in their supply chains. Later, in the early 1990s the phrase [supply chain management] came into use to define the process of integrating/utilising suppliers, manufacturers, warehouses and retailers. Essentially, goods are produced and delivered at the right time, while minimising cost as well as satisfying customer requirements [8]. 2.1 Supply Chain Characteristics In order to arrive at demands for use of models, researchers should be familiar with specific characteristics and attributes of the phenomenon. In terms of supply chain management, a better insight of the case is a pre-requisite that helps practitioners choose a proper tool during the process of decision making regarding management of supply chains. Today, complexity, uncertainty, and variability are some of the characteristics of modern supply chains. According to Houlihan [24] supply chain, is different from the classic view in four respects: ‘’(1) The supply chain is viewed as a single process and responsibility for the various segments in the chain is not fragmented and relegated to functional areas such as manufacturing, purchasing, distribution and sales. (2) A supply change management calls for and in the end depends on strategic decisionmaking. Supply is a shared objective of practically every function in the chain and is of particular strategic significance because of its impact on overall costs and market share. (3) Supply chain management calls for a different perspective on inventories, which are used as a balancing mechanism of last, not first resort. (4) A new approach to systems is required: integration rather than interfacing’’. As companies become more integrated with their suppliers and consumers the complexity of managing various activities (i.e. purchasing, inventory control, production scheduling) increases exponentially [12] and that may be cause of a multiple network of businesses and relationships [28]. Most people think of complexity in terms of the number of components in a system or the number of combinations one must consider in making a decision. Complexity, in contrast, can arise even in a simple system with low combinational complexity such as the beer distribution game [45]. The development of integrated supply chains is by far one of the most important business trends, but still the emphasis is predominantly around the dynamic environmental conditions that keep putting pressures on enterprises to act quickly rather emphasising key components of the chain as a key point [9]. Where, successful supply chain integration incorporates extensive coordination among multiple functions and independent companies working to deliver a product or service to end consumers. The ultimate success of the single business will depend on management’s ability to integrate the company’s intricate network of business relationships [28]. A growing body of literature on supply chain management increasingly focuses upon the subject from an integration perspective [7], [9], [14], [29], [33], [36] and [39]. However, most of these efforts broadly focus on process and evaluation of integration outcomes rather than knowing how a chain should be integrated. Literature supports that supply chain relationships are becoming more dependent on factors like quality,
38
T. Eldabi and A. Keramati
delivery performance, flexibility in contract and commitment to work together, as opposed to traditional relationships based on cost. This consequently makes it more complicated to model due to the presence of heterogeneous entities, multiple performance measures and complex interaction effects [46].
3 Supply Chain Modelling Before identifying which model is more appropriate for integration of supply chain management, it crucial to know the importance of modelling in social science. Harrison et al. [21] define a formal model as a precise formulation of the relationships among variables, including the formulation of the processes through which the values of variables change over time, based on theoretical reasoning. Modelling in various forms is essential in supporting complex human design activities. Simon [42: 198] notes that due to bound rationality, the human mind is not capable of solving complex problems when it is required for objectively rational behaviour in the real world. According to Kim et al [26] advantages of modelling the system rather than experience the system itself is including: • • • •
‘’Speed: many months or years of activity in the real system can be modelled in seconds or minutes Cost: it is often prohibitively expensive to experiment with the real system. Use of a computer model is relatively inexpensive Safety and convenience: simulation often involves investigation of a system’s behaviour under unknown conditions, which could cause major problems in the real system Prospective investigation: if the real system has not yet been built then experimentation with a model is the only possibility’’.
It is evident that successful companies find their competitive advantage by make informed decisions that optimise a balance where they have a holistic view of all the elements that affect the planning, design, production and delivery of their product. Models, particularly those that offer good insight through visualisation and graphs, can help companies to structure and simplify this complexity. Clearly, modellers should consider a number of criteria before choosing a tool to construct the conceptual model. Different issues such as optimaisation, decision analysis, diagnostic evaluation, risk management, project planning [2] as well as different levels to manage and to model such as strategic, tactical and operational variables [30] exist that modellers should pay attention to before attempting to address the problem. There are a numerous set of tools and approaches for supply chain modelling [5] due to the dynamic nature of supply chains, however, simulation methods seems suitable for studying its time varying behaviour [49]. Simulation begins with a model of the behaviour of a system that the researcher wishes to investigate. The model consists of a set of equations and/or transformation rules for the processes by which the variables in the system change over time. The model is then translated into computer code, and the resulting program is run on the computer for multiple time periods to produce the outcomes of interest [21]. Simulation models allow for
System Dynamics in Integration of Supply Chain Management
39
systematic testing of supply chain strategies. Such experiments can be conducted without being confronted with real world consequences. It makes investigations possible and useful, when in the real world situation such experimentation would be too costly or for ethical reasons not feasible, or where the decisions and their outcomes are too broadly separated in space or in time [44]. Another reason for the use of simulations is the possibility to replicate the initial situation, and the opportunity to investigate extreme conditions without risk [4] and [50]. The main objective of the simulation program is to aid the user, most often an operations research specialist or systems analyst, in projecting what will happen to a given situation under given assumptions [51]. It allows the user to experiment with real and proposed situations otherwise impossible or impractical. According to Sterman [45] most problem structuring methods yield qualitative models showing causal relationships but omitting the parameters, functional forms, external inputs, and initial conditions needed to fully specify and test the model. Regardless of the form of the model or technique used, the result of the elicitation and mapping process is never more than a set of causal attributions and initial hypotheses about the structure of a system, which must then be tested. Simulation is the only practical way to test these models. Simulation is the only reliable way to test hypotheses and evaluate the likely effects of policies [45]. Simulation has been defined as “the practice of building models to represent existing real world systems, or hypothetical future systems, and of experimenting with these models to explain system behaviour, improve system performance, or design new systems with desirable performances.” Simulation modelling provides the flexibility to model processes and events to the desired level of complexity, in a risk free, dynamic and stochastic environment [11]. Banks et al. [3] recognise ten opportunities for simulation in supply chains as ‘’(1) Identify the shortcomings and opportunities for redesign (2) Measure impact of changes in demand on supply chain components (3) Measure impact of new ways of setting up and operating a large supply chain (4) Investigate the impact of eliminating an existing or adding a new infrastructure component to an existing supply chain (5) Investigate the impact of changing operational strategies within a supply chain (6) Investigate the impact of making in house, outsourcing, developing a new supply base and the combination of these (7) Investigate the impact of merging two supply chains or impact of separating a portion of the existing components of a supply chain (8) Investigate the relationships between suppliers and other critical components of a supply chain (9) Investigate the opportunities for postponement and standardization and (10) Investigate the impact of current inventory strategies on the overall performance of a supply chain’’. Without simulation, even the best conceptual models can only be tested and improved by relying on the learning feedback through the real world that is very slow and often rendered ineffective by dynamic complexity, time delays, inadequate and ambiguous feedback, poor reasoning skills, defensive reaction, and the costs of experimentation. Dynamic simulations are necessary to analyse the supply chain because of its interactive and incorporates hierarchical feedback processes [22]. According to Forrester [17] only simulation methods are capable of revealing the behaviour implicit in the structure that can be built from knowledge about the many local decisionmaking individuals and how they are connected. Simulation models can be very thorough and provide high level of details about the system and are able to model
40
T. Eldabi and A. Keramati
uncertainty in a system [6]. It provides an effective pragmatic approach to detailed analysis and evaluation of supply chain design and management alternatives [46]. It is abstract of the real world-view of a system or problem that can be an effective, powerful and a universal approach to problem solving in different areas of application or to extend existing theories or identify a new problem. Simulation has been found to be one of the most popular and suitable mechanisms for understanding of supply chain dynamics. A better understanding the dynamic characteristics of supply chain will enable managers to capture or reduce or eliminate inconsistency among their partners and efficiently manage them. Managers have to be familiar with characteristics of the supply chain to be able to consider all the effective elements of a successful supply chain which allows for a better prediction of the future. 3.1 System Dynamics There are number of simulation techniques for different purposes. Due to characteristics of supply chain as stated earlier, it is useful to describe the system dynamics advantages over the other existing simulation models. System dynamics over time has developed as a method for modelling the behaviour of complex social economic systems and it can enhance understanding the nature of organisational issues. Over several decades it has useful guides for working towards a better understanding of the world [17]. Since the mid 19th century, system dynamics has been applied by various scholars in different business policy and strategy problems such as Sterman [43] and [46] in the Beer Game theory and reverse logistics; Towill [48] for studying of supply chain casual relationships; and Minegishi and Thiel [35] in logistics integration of food industry just to name a few. Currently, various computer softwares such as i-think, Stella, Vensim, and Powersim identify the behaviour of the system elements/components over time mainly in a trial and error method to demonstrate the likely effects of various decisions in the model. High-level graphical simulation programs support the analysis and study of these systems [18]. Sterman [45] makes the point that system dynamics can enhance the intuition about complex situations. Forrester in Industrial Dynamics (1961) states ‘’system dynamics from the beginning specifically stressed the development of useful models, models unconstrained by the demands of analytic traceability, based on realistic assumptions about human behaviour, grounded in field study of decision making, and utulising the full range of available data not only numerical data to specify and estimates relationships.’’ Moreover, when experimentation in real systems is feasible, simulation becomes the main and perhaps the only way that can discover how complex system work [40]. Though the impact of a poor plan on the overall business is detrimental, system dynamics has enabled managers to make better planning decisions and comparison of various operational alternatives without interrupting the real system. It should be noted that because of the broad spectrum of a supply chain, no model could capture all aspects of supply chain processes [13] and [34]. To compromise the dilemma between model complexity and reality, the scope of the supply chain should be built in such a way that it reflective of key real world dimensions yet could be solved with available methods [12] such as system dynamics. System dynamics is a method for analysing the behaviour of any kind of system: biological, physical, sociological,
System Dynamics in Integration of Supply Chain Management
41
economic, and others. It provides a high level view of the system emphasising the interactions between its constituent parts, as well as the impact of time on its dynamic behaviour. The greatest strength of this approach is its ability to represent the evolving state of a system through time. It demonstrates how most of decision-making policies are the cause of the problems that decision makers usually blame on others, and how to identify policies that they can follow to improve the situation [37]. A prominent use of system dynamics is conduct by Keenan and Paich [25] that developed a system dynamics model for analysing General Motors (GM) automobile market in the North America. The Vensim software has been used to optimise the market share and the profitability of the company. The model is designed to integrate the GM’s best information into a single planning tool. The goal of the model is to test ‘’what-if’’ scenario in order to make better business decisions. It helps eight manufacturers and the group of OEMs to make choices about how to spend money in each of the eighteen vehicles segments. The model is able to incorporate a number of important dynamic effects, including the interaction of production, inventory, competitive pricing, sales, customer holding time, and the used vehicle market. Another distinguished study is conducted by Lin et al. [32]. In this seminal paper, the authors describe how in the early 1990s IBM began to reengineer its global supply chain using system dynamics to support its decision makers. The authors developed a tool in IBM to handle the uncertainties in demand, lead time, supplier reliability in a scalable format, so that it could handle the vast amounts of data describing product structure, supply chain processes, and component stock information that typify the industry. This tool is used to model basic types of supply chain policies and interactions of its different tiers. The model simulates the performance of the supply chain under various parameters, policies, and network configurations, including the number and location of suppliers, manufacturers, and distribution centres; inventory and manufacturing policies, such as base-stock control, days of supply, build-to-stock, build- to-order, and continuous or periodic replenishment policies. The model contains an animation module that helps users to visualise the operation of the supply chain or vary parameters and policies while monitoring the simulation output reports. Pitty et al. [38] and Koo et al. [27] formulate a simulation decision support tool for integrated refinery supply chain. The proposed model called IRIS, serves as a versatile tool for integrated decision support. Supply chain reconfiguration studies such as change of demands, cycle times, or merely changing the model parameters can do tank capacities. It also allows the user to plug-and-play different policies and evaluates the effect of various decisions on the overall economics.
4 Conclusion and Future Direction Retaining supply chain characteristics make system dynamics an appropriate tool for its modelling and supply chain integration. This does not mean that other tools are not a replacement for system dynamics. But rather it is assumed that to fill this literature void using other tools might being less efficient, harder to develop or does not match the nature of the problem. Certainly, a top priority for the future should be research to develop a simulation model that enhances managers’ understanding in their efforts to integrate their supply chains. Because of the dynamic nature of supply chain and
42
T. Eldabi and A. Keramati
continuous flow of information, such a model should be reconfigurable, easy to use and interpret. Researchers should also address how a formal model can be designed, formulated and applied to supply chain integration. The research should provide an insight and identify the potential barriers to implementation and how they can be overcome. Future research should seek insights that can be gained by developing the simulation model for the integration of the supply chains as well as the effects of the integration on downstream and upstream scenarios whether it is equal or otherwise and who would be more benefitted.
References 1. Akkermans, H., Dellaert, N.: The rediscovery of industrial dynamics: the contribution of system dynamics to supply chain management in a dynamic and fragment world. System Dynamics Review 21(3), 173–186 (2005) 2. Anonymous. Dynamic simulation and supply chain management, http://www.goldsim.com/downloads/whitepapers/scmpaper.pdf 3. Banks, J., Buckley, S., Jain, S., Lendermann, P., Manivannan, M.: Panel Session: Opportunities for Simulation in Supply Chain Management. In: Proceedings of the 2002 Winter Simulation Conference (2002) 4. Baumgaertel, H., Brueckner, S., Parunak, V., Vanderbok, R., Wilke, J.: DaimlerChrysler Corp, http://citeseerx.ist.psu.edu/viewdoc/summary? doi=10.1.1.21.5219 5. Biswas, S., Narahari, Y.: Object oriented modelling and decision support for supply chains. European Journal of Operational Research 153, 704–726 (2004) 6. Blackhurst, J.J.: A Network Based Methodology to Model Supply Chain System. Thesis, (PhD). University of Iowa (2002) 7. Campbell, J., Sankaran, J.: An inductive framework for enhancing supply chain integration. International Journal of Production Research 43(16), 3321–3351 (2005) 8. Chang, Y., Makatsoris, H.: Supply Chain Modelling Using Simulation, vol. 2(1), pp. 24– 30. Institute for Manufacturing, University of Cambridge (2001) 9. Chao, C. C.: Formulation of an E-Business Inter-Enterprise Collaboration for the Construction Industry. Thesis, (PhD). University of Evanston-Illinois (2001) 10. Chen, H., Daugherty, P., Landry, T.D.: Supply Chain Process Integration: A theoretical Framework. Journal of Business Logistics 30(2), 27–46 (2009) 11. Cope, D.: Automatic Generation of Supply Chain Simulation Models from Score Based Ontologies. Thesis, (PhD). The University of Central Florida (2008) 12. Damrongwongsiri, M.: Modelling Strategic Resource Allocation in Probabilistic Global Supply Chain System with Genetic Algorithm. Thesis, (PhD). University of Florida Atlantic (2003) 13. Dong, M.: Process Modelling, Performance Analysis and Configuration Simulation in Integrated Supply Chain Network Design. Thesis, (PhD). University of Blacksburg, Virginia (2001) 14. Fawcett, S. E., Magnan, G. M.: Achieving World-Class Supply Chain Alignment: Benefits, Barriers and Bridges, Centre for Advanced Purchasing Studies, http://www.capsresearch.org/publications/ pdfs-public/fawcett2001es.pdf
System Dynamics in Integration of Supply Chain Management
43
15. Fiala, P.: Information sharing in supply chains. The International Journal of Management Science 33, 419–423 (2005) 16. Folinas, D., Manthou, V., Sigala, M., Vlachopoulou, M.: E-volution of a supply chain: cases and best practices. Internet Research 14(4), 274–283 (2004) 17. Forrester, J. W.: System Dynamics and the Lessons of 35 Years, http://sysdyn.clexchange.org/sdep/papers/D-4224-4.pdf 18. Georgiadis, P., Vlachos, D., Iakovou, E.: A system dynamics modelling framework for the strategic supply chain management of food chains. Journal of Food Engineering 70, 351– 364 (2005) 19. Grieger, M.: Internet-based electronic marketplaces and supply chain management. Thesis, (PhD), http://martingrieger.com/blog/wp-content/uploads/2007/ 02/scm.pdf 20. Halley, A., Beaulieu, M.: A multidimensional Analysis of Supply Chain Integration in Canadian Manufacturing. Canadian Journal of Administrative Sciences 27, 174–187 (2010) 21. Harrison, R.R., Lin, Z., Carroll, G.R., Carley, K.M.: Simulation Modeling in Organizational and Management Research. Academy of Management Review 32(4), 1229–1245 (2007) 22. Higuchi, T., Troutt, M.D.: Dynamic simulation of the supply chain for a short life cycle product – Lessons from the Tamagotchi case. Computers and Operation Research 31, 1097–1114 (2004) 23. Hines, T., Bruce, M.: Fashion Marketing – Contemporary Issues, http://www.downloadit.org/learningresources.php?promoCode=&p artnerID=&content=story&storyID=488&fixedmetadataID= 24. Houlihan, B.: International Supply Chain Management. International Journal of Physical Distribution & Logistics Management 17(2), 51–66 (1987) 25. Keenan, P., Paich, M.: Modelling General Motors and the North American Automobile Market, http://www.simudyne.com/resources/modelinggeneralmotors2004. pdf 26. Kim, C. S., Tannock, J., Byrne, M., Farr, R., Cao, B., Er, M.: Sate of the art review: Techniques to model supply chain in an extended enterprise, http://www.vivaceproject.com/content/engine/tmscee_full.pdf 27. Koo, L.Y., Adhitya, A., Srinivasan, R., Karimi, I.A.: Decision support for integrated refinery supply chains: Part 2 Design and operation. Computers and Chemical Engineering 32, 2786–2800 (2008) 28. Lambert, D.M., Cooper, M.C.: Issues in supply chain management. Industrial Marketing Management 29, 65–83 (2000) 29. Lau, A.K.W., Yam, R.C.M., Tang, E.P.Y.: Supply Chain Integration and product modularity. International Journal of Operations and Production Management 30(1), 20–56 (2010) 30. Laurikala, H., Vilkman, H., Ek, M., Koivisto, H., Xiong, G. Y.: Modelling and control of supply chain with systems theory, https://ae.tut.fi/projects/systema/julkaisut/Norddesign% 20final.pdf 31. Li, S., Ragu-Nathan, B., Ragu-Nathan, T.S., Subba Rao, S.: The impact of supply chain management practices on competitive advantage and organizational performance. The International Journal of Management Science 34, 107–124 (2006)
44
T. Eldabi and A. Keramati
32. Lin, G., Ettl, M., Buckley, S., Bagchi, S., Yao, D.D., Naccarato, B.L., Allan, R., Kim, K., Koenig, L.: Extended-Enterprise Supply Chain Management at IBM Personal Systems Group and other Divisions. Interfaces 30(1), 7–25 (2000) 33. Lummus, R., Vokurka, R.J., Krumwiede, D.: Supply Chain Integration and Organisational Success. SAM Advanced Management Journal 73(1), 56–62 (2008) 34. Min, H., Zhou, G.: Supply Chain Modelling: past, present and future. Journal of Computers and Industrial Engineering 43, 231–249 (2002) 35. Minegishi, S., Thiel, D.: System dynamics modelling and simulation of a particular food supply chain. Simulation—Practice and Theory 8, 321–339 (2000) 36. Newman, W.R., Hanna, M.D., Gattiker, T., Haung, X.: Charting Supply Chain Management Integration and Initiatives: A Framework to Guide Implementation. American Journal of Business 24(1), 19–31 (2009) 37. Penlope, T. F.: A system dynamics model for supply chain management in a resource constrained setting. Thesis, (MSc). University of Makerere (2007) 38. Pitty, S.S., Li, W., Adhitya, A., Srinivasan, R., Karimi, I.A.: Decision support for integrated refinery supply chains: Part 1 Dynamic simulation. Computers and Chemical Engineering 32, 2767–2786 (2008) 39. Power, D.: Supply Chain Management Integration and Implementation: a literature review. Supply Chain Management: An International Journal 10(4), 252–263 (2005) 40. Riddallas, C.E., Bennett, S., Tipi, N.S.: Modelling the dynamics of supply chains. International Journal of Systems Science 31(8), 969–976 (2000) 41. Sarimvels, H., Patrinos, P., Tarantilis, C.D., Kiranoudis, C.T.: Dynamic modelling and control of supply chain systems: A review. Computers and Operation Research 35(11), 3530 (2008) 42. Simon, H.: Models of Man: Social and Rational. Wiley, New York (1957) 43. Sterman, J.D.: Modelling Managerial behaviour: Misperceptions of feedback in a dynamic decision making experiment. Management Science 35(3), 321–339 (1989) 44. Sterman, J. D.: System Dynamics Modelling for Project Management, http://web.mit.edu/jsterman/www/SDG/project.html 45. Sterman, J.D.: Business Dynamics: System thinking and modelling for a Complex World. McGraw-Hill, New York (2000) 46. Swaminathan, J.M., Smith, S.F., Sadeh, N.M.: Modelling Supply Chain Dynamics: A Multi-agent Approach. Decision Science 29(3), 607–632 (1998) 47. Tan, K.C.: A framework of supply chain management literature. European Journal of Purchasing and Supply Chain Management 7, 39–48 (2001) 48. Towill, D.: Industrial dynamics modelling of supply chains. International Journal of Physical Distribution & Logistics Management 26(2), 23–42 (1995) 49. Venkateswaran, J., Son, Y.J.: Impact of modelling approximations in supply chain analysis- an experimental study. International Journal of Production Research 42(15), 2971–2992 (2004) 50. Wadhwa, S., Saxena, A.: Decision knowledge sharing: flexible supply chain in KM context. Journal of Production Planning and Control 18(5), 436–452 (2007) 51. Williams, D.: Integrating System Dynamics Modelling and Case Study Research Method: A theoretical framework for process improvement, http://www.systemdynamics.org/conferences/2002/proceed/ papers/William1.pdf
Modeling and Simulating Organisations Oana Nicolae and Gerd Wagner Brandenburg University of Technology, Cottbus, 03046, Germany {Oana.Nicolae,G.Wagner}@tu-cottbus.de http://oxygen.informatik.tu-cottbus.de/~nicolae/, http://www.informatik.tu-cottbus.de/~gwagner/
Abstract. The paper provides a survey comprising meaningful organisational approaches to Multi-Agent-Systems (MAS) that exist in the computational theory field. The organisational concepts are collected and represented as a metamodel of some commonly agreed organisational ontology of human systems. Next, this metamodel - a proposal for the extension of the Agent-Object-Relationship (AOR) simulation language with organisational constructs - will be analysed and improved by taking into consideration the organisational approaches originating from the fields of social sciences. Our account is exemplified by a case study where we model an academic environment with the help of the organisation-oriented concepts defined by the AOR simulation language. Keywords: multi-agent systems, human societies, organisations, organisational roles, social context, normative constraints, norms, computational theory, sociology, social philosophy, AOR simulation language.
1
Introduction
In the actual literature different views on how organisations are considered coexist. We review in this article some meaningful works which, to the best of our knowledge, treat issues related to the organisational structural aspects and, in this context, they give rise to some fundamental questions: (1) how is it defined the organisation concept? (2) how does the organisation construct its positions and roles? (3) can one consider the organisations as simple aggregations of roles? (as AI approaches usually do) (4) how do we assign agents to specific roles? We noticed that approaches which come from the Artificial Intelligence (AI) field (computational organisation methodologies) tend to construct role-oriented architecture of organisations ([2], [4], [6, AGR defines organisation as ”a framework for activity and interaction through the definition of groups, role and their relationships”], [11], [22, Gaia defines organisation as ”a collection of roles that stand in certain relationships to one another, and that take part in systematic institutionalised patterns of interactions with other roles”], [23], [24]). Often, in these approaches the organisational concepts are not considered to form a distinct set of social constructs and are not treated satisfactory: the social concepts exist only at the abstract, metamodel level and the target implementation tools/languages (e.g. MadKit, RePast/Java, C++) need to perform a J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 45–62, 2011. c Springer-Verlag Berlin Heidelberg 2011
46
O. Nicolae and G. Wagner
semantic mapping of the concepts (see [6, AGR defines organisation as ”a structural relationship between a collection of agents”]). Although we noticed that in the AI field it is quite a general agreement that organisational approaches to MAS should come as an agent-independent, upper layer on the MAS’s architecture, there are distinct approaches concerning how these organisational concepts should be named, structured and aggregated, what are their properties and relationships and how they succeed to naturally model and represent organisations. Altogether, if we want to extract the core concepts for an organisational ontology, then we should take into account the semantics of the constructs and not the etymology, which can be sometimes peculiar. When we shift our attention to the organisation-oriented works influenced by or belonging to the social science fields, we noticed a more mature representation of the organisational structure enhanced with complex normative aspects [1], [7], [8], [9], [10], [15], [16], [19]. In these works the organisational structures can be viewed as means to manage complex dynamics in (human) societies. More organisational features are considered: (1) the fact that the organisation, as a social institution or institutional agent [20], can be represented as a composite entity comprising individuals (human agents [14]) and its sub-divisions [8, UFO-”mixin type”] or [13, EO-”organisational unit type”]; (2) the fact that the organisation model must comprise the environment which may contain many organisations and the relationships among them [1], [9]; (3) organisational structure is entirely based on normative constraints [10] or contrary (4) the fact that organisations do not comprise the individuals (which are part from the environment) and are not ruled by any kind of norms [9]. In general, organisational ontologies such as: DOLCE[1] and EO[13] or foundational ontologies such as UFO ([7] and [8]) try to provide means for a formal analyse of organisation-oriented modeling and simulation frameworks [14], by determining inappropriate elements of the organisational language under consideration, or by recommending appropriate improvements. The purpose of this paper is to contribute to the understanding of the essential meanings behind the theories of organisation-modeling that co-exist in the literature. Moreover, taking into account the organisational concepts originating from the social sciences, mainly the UFO ontology we aim to develop a metamodel which enhances the AOR simulation language with an organisational structure. For the sake of a common understanding of the concepts, a high-level modelling using UML1 class diagrams is used to represent the concepts behind the organisation structure of each of the approaches taken into consideration in our review. Even it can not provide an executable model, UML is used to define a rigorous and precise specification to which any language must conform. We use UML models to describe the abstract syntax of the AOR simulation language, and further to provide a common understanding of the concepts used to extend the AOR simulation language with organisational constructs. The remainder of the paper is organised as follows: Section 2 provides a review on the computational organisation methodologies from the AI field and 1
Unified Modeling Language (UML) - http://www.uml.org/
Modeling and Simulating Organisations
47
concludes with a metamodel which subsumes the common concepts which target the organisational structure. Section 3 discusses some meaningful works from the social sciences area and underlines the adjustments or enhancements they add to the understanding of the organisational concepts. Based on the conclusions we draw from the Section 3 we extend in Section 4 the AOR simulation language with organisational constructs. The last Section discusses conclusions and future works.
2
Computational Organisation Methodologies - Modeling and Simulation Approaches
The aim of this Section is to identify the main concepts that are used to build organisational-oriented approaches in the computational organisation theory. The organisational-oriented works presented here are mainly methodologies, expressed by metamodels, that do not commit themselves to specific techniques for modelling organisational concepts. Usually, their outcome represents a technologyneutral specification, a methodology that should be further implemented using an appropriate programming language. Ferber and Gutknecht [5] introduce the Aalaadin organisation-oriented metamodel of a MAS back in the ’98. [6] reuses the same model and tries to offer a more rigorous explanation of the abstract concepts introduced by the AgentGroup-Role (AGR), formal Aalaadin, methodology. Although minimal and simple, the AGR metamodel gathers the basic concepts and their relationships that should represent the ground of any organisational oriented approach: agent, role, group, organisation represented as instances of their abstract types agent class, role type, group type and organisation type. Instead of using the type concept whose meaning is by now well know in the software engineering area (e.g. UML) the authors define and use the term structure e.g. group structure. The fundamental distinction between individuals and their types is important in any modeling approach and should be always considered. The organisational concepts defined in the Aalaadin metamodel form only an abstract terminological layer which lays on top of concrete concepts that MAS implementations may adopt for representing social systems (e.g. MadKit). The authors also give two distinct definitions for the organisation concept. First definition involves the abstract concepts used to describe an organisation i.e. [5, a framework for activity and interaction through the definition of groups, roles and their relationships]. The second definition of what an organisation is, describes the concrete implementation of an organisation-oriented framework based on the Aalaadin metamodel i.e. [5, a structural relationship between a collection of agents]. The meaning of the second definition suggests that the agents and their types are in fact the basic, key constructs inside of an organisation. The agents perform different functions which are considered to be the roles that agents play inside of the organisation. Moreover, another important aspect mentioned in the article refers to the agent’s capabilities of satisfying certain constraints in order to be able to play the roles.
48
O. Nicolae and G. Wagner
Fig. 1. AGR - Organisational structure
The group construct is poorly defined as an atomic set of agent aggregation. The group can be founded by any agent. The agents must request admission into an existing group of agents. It is not clear enough how the admission or the rejection of the agents willing to join certain group is performed. The Gaia methodology introduced in [22] and [23] by Wooldridge et al. focuses on describing organisations by means of roles and the interactions among roles. The definition that authors give to the organisation concept describes their approach: [23, a collection of roles that stand in certain relationships to one another, and that take part in systematic institutionalised patterns of interactions with other roles]. Gaia takes into consideration the normative aspect of roles inside of an organisation and tries to construct a norm ontology associated to the role concept and which consists of four attributes: responsibilities, permissions, activities and protocols. Responsibilities are of two types: liveness properties - the role has to add something good to keep the system in good functions, and safety properties - the role has to prevent and disallow that something bad happens to the system. Permissions represents what the role is allowed to do, in particular, which information it is allowed to be accessed. Activities are tasks (this is a common terminology in AI) that a role performs without interacting with other roles. Protocols are defined as specific patterns of interaction between two roles. One single pattern of interaction is defined to comprise many messages exchanges between the same agents. However, in Gaia methodology, the normative concepts such as: permissions, rights and responsibilities are not receiving a clear and formal semantics. Also, Gaia proves to be unsuitable for modeling open systems because it assumes a static organisational structure, a prior known at the design phase, and a static set of role interactions. The role concepts are mapped into agent types concepts at the implementation level and often there is a one-to-one mapping procedure.
Modeling and Simulating Organisations
49
Gaia v.2 [24] and also Soda [11] are focused on describing the environment as a first-order abstraction in the organisational methodology. The idea that the organisation and its constitutive roles should be situated and immersed in the normative context is followed also by other organisational approaches from AI, but originates from the area of social sciences. We have included Brain [2]
Fig. 2. Gaia - Organisational structure
methodology in our survey not because of its importance towards the organisation-oriented features it employs. Brain (Behavioral Roles for Agent INteraction) is not an organisational-oriented methodology, but rather a rolebased interaction model based on a XML notation. It describes the reactive and proactive behaviour of the agents that play roles in terms of events, consequences of role actions delivered to other roles. Therefore, the role is viewed as a set of capabilities and expected behaviour. The terminology employed by Cabrio et al. refers mainly to the set of actions or rights the agent is allowed to perform (the agent’s capabilities) and respectively, to the set of duties or events the agent is obliged to react (the agent’s behaviour). There are some important characteristics of roles that Brain methodology underlines: (1) roles are temporary, (2) roles are generic and (3) roles are related to contexts, meaning that contexts can impose their own rules and can grant some local capabilities forcing agents to assume certain roles. As an consequence, the environment can be seen as a set of contexts. The agents themselves can interact among them or with the environment. Another characteristic of Brain that catch our attention is the concept of role descriptors, which are considered to be the semantic representations of the roles. The claim is that the role descriptors allow agents to choose the roles they have to play by their meaning. OperA (Organisations per Agents) methodology [4] describes the structure of the organisation in its organisation model as consisting from a social structure which defines the roles played by the agents, the groups which aggregate roles and the dependency relationships between roles. The dependency relationships between roles imply a hierarchic structure of the roles governed by some
50
O. Nicolae and G. Wagner
Fig. 3. Brain - Organisational structure
power relationships e.g. dependerRole and dependeeRole. The roles have associated goals or objectives which, based on the hierarchic structure of the roles, can be organised in sub-objectives and further distributed to the dependeeRole(s). The normative layer is also comprised in the organisation model as a normative structure which defines the norms. The norms are associated with the roles and to the groups of roles. The organisation structure defines also the interaction structure which represents the interaction layer of the organisation comprising the existing relationships of the social entities inside of the organisation. In OperA, the roles are assumed and played by the agents based on some social contract which stipulates the contractual clauses between the agent and the presumed role. The social contract(s) are aggregated by the social model which, at its turn, is determined by the organisation model. To the OperA methodology is offered an implementation platform: Brahms [3]. Developed by NASA, Brahms (Business Redesigned Agent-based Holistic Modeling System) is defined in [17] as an environment which includes an agent-oriented language, compiler and virtual machine, as well as a development environment and a post-execution viewer of agent execution, communication and interaction. Initially, Brahms was defined as a business process modeling and simulation tool for systems which deal with work practice (how people actually behave within a physical and social environment), meaning that it targets the social science area. Brahms language is a declarative, BDI-oriented language which includes: facts, beliefs about facts, activities, workframes (production rules) and thoughtframes (inferences). A Brahms model is an agent model that defines the work activities of agents in a work process. Activities are [17, socially constructed engagements situated in the real world, which take time, effort and application of knowledge]. An agent in Brahms represents an individual assuming a role in the organization. Agents in Brahms are considered to be socially situated in the
Modeling and Simulating Organisations
51
Fig. 4. OperA - Organisational structure
context of work, the organization, and its culture. Individuals are members of groups and inherit the behavior of the groups. Individuals can also have additional behavior that distinguishes them from other individuals, and they can be a member of multiple groups. Groups can be organised in a hierarchical way, to define behavior at different levels of abstraction. Sub-groups inherit the behavior of super-groups. A special kind of norms, called [17, cultural norms] are defined in Brahms as a consequence of the environment. The environment is considered to be able to [17, model and simulate work practices of human organisations]. The claim is sustain by the proposed integration (and mapping of the concepts pp. 8-9) of the OperA organisational methodology and the Brahms language which is used to implement the agents behavior [12]. Summary. The Figure 5 displayed below comprises the main constructs identified by our survey on computational organisation theory literature. The computational organisation methodologies define the organisation structure at least as a set of aggregated roles ([4], [5], [6], [11], [22], [23], [24]) played by the agents. The organisation can further be divided into sub-organisations or groups ([4], [11], [5], [6], [22], [23], [24]). Roles and groups are created to accomplish certain goals on behalf of the organisation ([4], [11], [5], [6], [22], [23], [24]). Human agents apply for a position inside of the organisation which confer them a certain status and oblige them to assume and play certain roles aggregated by the position concept ([14], [18]). The organisation is also seen as a set of coordinated agents (which assume and play roles) in order to obtain (1) their own objectives; (2) the objectives of the organisation ([2], [4], [5], [6], [11], [22], [23], [24]). The organisation is placed in the environment ([4], [11], [24]). The organisational concepts are dynamic: they may change over time ([2], [4], [11], [24]).
52
O. Nicolae and G. Wagner
Fig. 5. Organisational structure - Core Concepts Concept AGR Gaia2 Brain OperA Brahms Aris Tropos Organisation x x – x – x – Group x – – x x x – Position – – – – – – x Role x x x x – x x Human agents – – – x x x x Goal-oriented – x – x x x x Situated environment – x – x x x x Dynamic – x x x x x x
3
Ontological Analysis of Organisations
This Section provides a review on organisational works which are influenced by social sciences approaches such as: social philosophy and sociology. Similarly to our work, Bottazzi et al. try to provide in [1] an ontological analysis of the organisations, by taking into account also philosophical views from the literature. One important aspect is the assumption that when we talk about organisational concepts we talk in fact about a distinct category of objects which they all agreed to call them: social objects (see Searle [16], Bottazzi et al. [1] or [14]). Another meaningful idea is that social objects are always considered to exist in some specific context, a normative context or a description often called normative description), in which they comply with specific functions or roles, imposed by the context, that they cannot perform only in virtue of their physical characteristics. [1], [14] and [16] refer to the context of a social object as social object description: [16][Something is a social object only under certain
Modeling and Simulating Organisations
53
descriptions (and not others)]. In this view, [1] defines organisations as social entities, (more concrete social individuals) which are created and sustained by human agents. Organisations can play roles (by delegating them to the human agents) and can define normative aspects (contexts or normative descriptions) connected with these roles. The main characteristics of the roles are also underlined: (1) roles are relational in the sense that their definition may depend on the definition of other roles e.g. child-mother; (2) roles can inherit one another; and (3) roles are subject to a forced path: in order to get a certain position and play a certain role, the human agent must play a number of other roles in some particular order. Normative aspects of organisations are also taken into consideration by Bottazzi et al. Norms are considered to represent the context in which organisations and their roles are defined. Inspired by the works of Tuomela[19] and Searle[16] they provide an ontology of norm types: (1) constitutive norms; (2) deontic norms they regulate the agents behaviour; and (3) technical norms. UFO’s aim [Unified
Fig. 6. Unified Foundational Ontology (UFO) - Organisational structure
Foundational Ontology - ([7], [8])] is to provide a reference ontology that can be used to lay the ontological foundations for general conceptual modeling concepts. In general, besides providing a formal semantics to the concepts of some conceptual modeling language, the ontology provides means for the analyse and re-design of modeling and simulation languages. Above, (see Figure 6) we show a small excerpt from the UFO metamodel. The notations from UFO metamodel that we will use them later in the paper, and some of them also in our works, are those of: social object, social role, normative description, human agent (individual person), social agent, institutional agent or organisation as specification of the social agent. They belong to the UFO-C (ontology of intensional, social and linguistic things).
54
O. Nicolae and G. Wagner
When defining its social reality, Searle constructs the social concepts with the help of the mnemonic formula ”x counts as y in c”. The formula is in fact a constitutive rule which defines the social concepts as constitutive elements of some social form. The explanation Searle gives is the following: [16, I find the formula ”x counts as y in c” immensely useful because it gives us a way of articulating the distinction between those functions where the function is performed in virtue of an intrinsic physical feature of the object, and those functions which are performed in virtue of collective recognition of a status.] Based on this explanation we are capable to understand that individuals have the capacity to impose status functions (social roles) on objects and people; and the last ones cannot perform the functions just in virtue of their physical structure. The performance of the function requires that there is a collectively recognised status that the person or object has, and it is only in virtue of this status that they can perform the function in question. e.g. consider this small, rectangular piece of plastic (x) inside my pocket. The collectively accepted constitutive rule: This piece of a small, rectangular piece of plastic (x) issued by the BTU Cottbus, containing my personal data in a machine-readable form, is a semester-ticket (y) used to obtain deduction on every means of transportation in the Brandenburg state (c), gives to the physical object (x = piece of plastic) a new status (y = semester ticket) and functions (transportation deductions) in the social context (c = Brandenburg state) . We can equate Searle’s status functions with the agent positions and the social roles that are defined in the context of the social form (c). The status functions are also the carriers of the normative constraints which regulate the behaviour of the social objects (y). Same as in [8], by assuming a position, an entity will be recognised as a social entity and further constrained by some normative descriptions which are defined by the organisation and recognised by all the other social entities inside of the organisation. One significant work concerning organisation structure and its normative behaviour is developed by Santos et al. in [14]. The Aris organisation modeling language is the subject of an ontological analysis based on UFO. UFO is a complex ontology used in [14] to provide the missing semantic foundation for organisational modeling elements in Aris (see Figure 7). Initially, Aris organisational constructs were defined taking into account the EO ontology[13]. The ontological analyses succeeded to determine inappropriate elements of the Aris organisational language and also to recommend improvements. It is important for our work to look closely to the identified elements which form the basic core of organisational structure. One main idea preserved from the works of Bottazzi et al. [1] is the concept of normative description which is used as a social description for all the social constructs. The social entities [14, are considered to exist for the agents that recognise these normative descriptions]. Another approach to the organisational structure, belonging to the sociology area, is represented by the Niklas Luhmann’s system theory which relies on the following aspects: (1) the social systems are capable of communication; (2) the social systems are self-producing communications, i.e. a communication produces further communications and hence a social system can reproduce itself as long
Modeling and Simulating Organisations
55
Fig. 7. Aris based on UFO - Organisational structure
as there is dynamic communication (Luhmann’s autopoiesis theory). The societal theory of Niklas Luhmann [9] considers two disjunctive concepts: the society and the environment. The society is considered to be determined by its boundaries between itself and other societies which form the environment. The environment is expected to be more complex and chaotic than the system. The distinction between the system and its environment reflects a relationship between the two of them: the system is always influenced by its environment or by other systems. One aspect of Luhmann’s theory on societies is considering the human being as distinct part of the society. The human beings are part of the environment and they act like some sensors for the systems. Luhmann also defines the organisation construct, as being characterized by the fact that it formalises the behavioural expectations of their members. Summary. Based on the review of the research works inspired from social sciences such as social philosophy ([1], [7], [8], [14], [16]) and sociology [9] we draw the following conclusions regarding the core concepts the organisational structure must define: – a distinct class of constructs is introduced in metamodel and consequently referred as the class of social concepts – some entity is a social concept only under certain normative descriptions – the organisation (institutional agent or organisational unit) is a social concept represented as a special type of agent – the organisation defines the context descriptions which are normative and they regulate the other social concepts – each social concept defines its description in order to be recognised in the organisation by the organisation itself and by all the other social concepts
56
O. Nicolae and G. Wagner
– the organisation concept is a composite entity aggregating individuals (human agents) belonging to the organisation but also its sub-divisions (groups, organisation units) – the organisation defines certain functions or positions which aggregate roles – the normative descriptions, the agent positions and the agent roles are social concepts – human agents perform certain roles within organisation by assuming positions defined by the organisation Concept Organisation Group Position Role Human agents Goal-oriented Situated environment Dynamic
4
EO DOLCE UFO Searle Luhmann x x x x x x x x x x x x – x x – x x x – x x x x x x x x x – x x x x x x x x x x
Extending the AOR Simulation Language with Organisational Constructs
Our work is focused on defining social concepts which build an organisational structure on top of existing AOR simulation language. The social system (as referred in [19] or [16]) is etymologically defined as an institutional agent and represented in our metamodel by its corresponding UML class (see Figure 8) . We consider the institutional agent to be defined as a complex unity formed of many, often heterogeneous, parts subject to a common plan or serving a common purpose (see goal-oriented organisations in the literature). We conceptually define the social institution as composed of individuals (HumanAgent(s)) which act on behalf of it and groups of individuals (InstitutionalAgent(s)) who interact and mutually influence each others behavior. Moreover, the organisation itself constitute a single entity (InstitutionalAgent), but in the same time can be considered as a bounded set of interrelated positions (AgentPosition) which aggregate role types (AgentRole instances) that together confer to the social institution its internal structure. We only briefly2 take into account the normative dimension. In this sense, we define the Norm concept, as an UML abstract class, which lays the basis for the definition of the normative context constraining the social system. The definition of the Norm concept also implies the existence of some pre-defined, reactive rules which defines the behaviour of the InstitutionalAgent and of the HumanAgent(s). 2
We postpone the definition of an appropriate, normative layer for the social structure as future works. By introducing in our metamodel an abstract, UML class for representing the Norm concept we want to stress the fact that we consider our social system a social normative system.
Modeling and Simulating Organisations
4.1
57
AOR Organisational Metamodel
The ER/AOR simulation language and framework3 is defined in [20] and some of the basic ER/AOR concepts were briefly introduced and explained in [21]. We focus here only on the new introduced concepts regarding the organisational approach.
Fig. 8. AOR Types
AgentType. The AgentType class defines the common set of properties and behavior expressed by means of ReactionRule(s) for all agent type’s instances. The concept inherits the EntityType class, meaning that in our model the agents are considered to be entities. The reactive rules define some default normative behavior: the duty to react to a certain set of events by triggering the reaction rules which model the behaviour of the base types and of the role types instances. ReactionRule. ReactionRule(s) are the main AOR simulation language constructs which model the default behaviour of the agents. In the literature they are also called ECA(Event-Condition-Action) rules. They define the agent’s reactive behavior in response to perception events (and internal time events). Reaction rules are aggregated by the AgentType concept (see Figure 8), therefore the AgentBaseType, AgentPosition and AgentRole concepts can define the reactive behaviour of its agent’s instances. Reaction rules can also be specified at the level of the InstitutionalAgent. This means that one can specify additional behaviour at the level of institutions and organisations. 3
ER/AOR Modeling and Simulation Framework - http://code.google.com/p/aorjavasim/
58
O. Nicolae and G. Wagner
AgentBaseType. Following the approach defined in [7] and [8] the agents must be of a certain AgentBaseType, also called a rigid type in [8], which determines the fundamental characteristics of the agents and also provides the identity criterion for its instances. AgentRole. The concept AgentRole defines the common characteristics of the roles which exist inside of the institution, therefore it must be understood as a concept type. The roles are aggregated into AgentPosition(s) which are assumed by individuals which are members of the social system and perform roles on behalf of the system. We borrowed the AgentRole concept’s semantics from [7] and [8], where it is defined as an anti-rigid entity: [7, its instances could possibly also not be instances of it without losing their identity]. For example: an agent can have a base type Person and can play the role type Student. It is natural that the role Student is temporal and as soon as the person is not anymore a student she does not loose its identity. There exist also some dependencies between roles, in the sens that they may be disjunctive (a reviewer of an article can not be an author of the same article) or conjunctive (in order to assume a particular role, one should previously assume another role). AgentPosition. The concept AgentPosition defines the common characteristics of the agent positions existing inside of the Organisation, therefore it must be understood as a concept type. Individuals may assume certain positions within the hierarchy of the organisation they belong to. Each position may aggregate one or many role types. When the AgentPosition corresponds to exactly one AgentRole the position equates with that particular role. Agent. We distinguish between: – institutions represented by the InstitutionalAgent concept such as: the institution of English language – organisations and their sub-unities represented by the Organisation concept such as: universities and their organisation units: faculties, chairs etc. – simple forms of institutions defined by the concept of Group (Tuomela’s sense of weak organisation) – people represented by the concept HumanAgent such as: persons or individuals – other kinds of artificial agents represented by the superclass Agent such as: computers or trees Each Agent must be an instance of: (1) an unique AgentBaseType which provides to its instances the existential criterion; (2) zero or many AgentPosition(s); and (3) zero or many AgentRole(s) (see Figure 8). There must be a dependency relationship between the AgentBaseType and the other AgentRole(s) in the sense that an individual can instantiate only the role types which are in the dependency relationship with their base type e.g. the roles types Student and Professor are in a dependency relationship with the base type Person, but not with another possible base type e.g. Child.
Modeling and Simulating Organisations
59
Fig. 9. AOR - Organisational structure
Institutional Agent. We use the concept InstitutionalAgent(s) (first mentioned in [20]) to represent an institution. The InstitutionalAgent subsumes its members (sub-agents), which can be human agents or organisation units (notice the association between the InstitutionalAgent class and the Agent). The InstitutionalAgent is a subclass of the Agent class, therefore one should not considerate it as a type. The concept it is used to represent institutions such as: human languages, governments, academic environments, political, economic and legal institutions. Further on, one should distinguish the concept of InstitutionalAgent from: (1) more complex social forms such as societies which usually comprise institutions; (2) more simple social forms such as: rituals, social groups, social roles, social norms or even organisations which are constitutive elements of institutions. In this context, we differentiate institutions from social forms which are not subject of an organisational hierarchy such as: universities or enterprises. In order to represent these concepts we introduce the Organisation concept detailed below. There are also other kinds of simpler social forms which do not need a hierarchical structure, for example a group of friends. For simplicity, we do not define the Group concept, as our first concern is to model business processes inside organisations and not simple social gatherings such as a coffee break meeting inside of an University’s chair. Organisation. The Organization concept is defined in our metamodel as a subclass of the InstitutionalAgent enhanced with the following characteristics: (1) the possibility to have as constitutive elements zero or many AgentPosition(s) which aggregate roles; and (2) the possibility to define a hierarchy of organisation
60
O. Nicolae and G. Wagner
units inside of the organisation by using the one-to-many aggregate association of the Organisation class with itself. E.g. University is an example of organisation. Human Agent. Human agents are members of the social system. They assume positions inside of institutions and organisations and play roles aggregated by positions. 4.2
Organisation Case Study - Modeling an Academic Environment
We choose for our case study to model an academic environment and the concept of Faculty’s Chair is the first choice to reach. BTU Cottbus4 is an example which successfully can instantiate such an organisation structure. We represent the organisation structure together with its official positions and aggregated roles in terms of concepts defined by the AOR simulation language and with the help of the UML class diagram. The UML diagram represents the individuals on the
Fig. 10. Modeling an Academic Environment using AORSL 4
Brandenburg University of Technology Cottbus - http://www.tu-cottbus.de/btu/
Modeling and Simulating Organisations
61
bottom of the UML diagram, the organisational concept types and the metatypes, elements of the AOR simulation language represented on the top of the UML diagram (see Figure 10).
5
Conclusion and Future Works
The paper presents an ongoing work which describes a preliminary proposal for extending the AOR simulation language with organisational constructs. The extension is realised based on the AOR abstract syntax (an UML metamodel). Further on, we enhance our AOR simulation language with organisational constructs originating from the fields of social science. Our approach is now limited at some default normative behaviour of the agents: the duty to react to certain events and the right to perform certain actions. Our future works will be focused on defining an appropriate, normative layer for the organisational structure and on developing means for representing the collective (but reactive) behavior of the agents inside of the organisation.
References 1. Bottazzi, E., Ferrario, R.: Preliminaries to a DOLCE ontology of organisations. Int. J. Business Process Integration and Management 4(4), 225–238 (2009) 2. Cabri, G., Ferrari, L., Leonard, L.: BRAIN: A Framework for Flexible Role-based Interactions in Multiagent Systems. In: The Proceedings of the First European Workshop in Multi Agent Systems (EUMAS), Oxford, UK, December 16-18 (2003) 3. Clancey, W.J., Sachs, P., Sierhuis, M., van Hoof, R.: Brahms: simulating practice for work systems design. Int. J. Human-Computer Studies 49, 831–865 (1998) 4. Dignum,V.: PhD thesis: A model for organizational interaction: based on agents, founded in logic (2004), http://igitur-archive.library.uu.nl/ dissertations/2003-1218-115420/inhoud.htm 5. Ferber, J., Gutknecht, O.: Aalaadin: a meta-model for the analysis and design of organizations in multi-agent systems. In: Third International Conference on MultiAgent Systems, pp. 128–135. IEEE, Paris (1998) 6. Ferber, J., Gutknecht, O., Michel, F.: From Agents to Organizations: An Organizational View of Multi-agent Systems. In: Giorgini, P., M¨ uller, J.P., Odell, J.J. (eds.) AOSE 2003. LNCS, vol. 2935, pp. 214–230. Springer, Heidelberg (2004) 7. Guizzardi, G., Wagner, G.: On a Unified Foundational Ontology and some Applications of it in Business Modeling. In: Open INTEROP Workshop on Enterprise Modeling and Ontologies for Interoperability (at CAiSE), Latvia (2004) 8. Guizzardi, G.: PhD thesis: Ontological Foundations for Structural Conceptual Models, University of Twente, The Netherlands (2005), http://doc.utwente.nl/ 50826/1/thesis_Guizzardi.pdf 9. Luhmann, N.: System as difference. Organisation 13, 37–57 (2006) 10. Miller, S.: Social institutions. In: Zalta, E.N. (ed.) The Stanford Encyclopedia of Philosophy (2007) 11. Omicini, A.: SODA: Societies and Infrastructures in the Analysis and Design of Agent-Based Systems. In: Ciancarini, P., Wooldridge, M.J. (eds.) AOSE 2000. LNCS, vol. 1957, pp. 185–193. Springer, Heidelberg (2001)
62
O. Nicolae and G. Wagner
12. van Putten, B.-J., Dignum, V., Sierhuis, M., Wolfe, S.R.: OperA and Brahms: A Symphony? In: Luck, M., Gomez-Sanz, J.J. (eds.) AOSE 2008. LNCS, vol. 5386, pp. 257–271. Springer, Heidelberg (2009) 13. Uschold, M., King, M., Moralee, S., Zorgios, Y.: The Enterprise Ontology. The Knowledge Engineering Review 13, 31–89 (1998) 14. Santos Jr., P.S., Almeida, A.J.P., Guizzardi, G.: An Ontology-Based Semantic Foundation for Organizational Structure Modeling in the ARIS Method. In: EDOCW 2010, 14th IEEE International Enterprise Distributed Object Computing Conference Workshops, pp. 272–282 (2010) 15. Scott, W.R.: Institutions and Organizations. Sage, Thousand Oaks (2001) 16. Searle, J.: The construction of Social Reality, The Free Press, ISBN: 9780684831794, (1995) 17. Sierhuis, M., Clancey, W.J., van Hoof, R.J.J.: Brahms: A multiagent modelling and simulation environment for work processes and practices. Int. J. of Simulation and Process Modelling, 1–20 (2006) 18. Susi, A., Perini, A., Mylopoulos, J., Giorgini, P.: The Tropos Metamodel and its Use. Informatica 29, 401–408 (2005) 19. Tuomela, R.: The Philosophy of Social Practices: A Collective Acceptance View. Cambridge University Press, Cambridge (2002); EAN: 9780521039239 20. Wagner, G.: The Agent-Object-Relationship Metamodel: towards a unified view of state and behavior. Information Systems 28(5), 475–504 (2003) 21. Wagner, G., Nicolae, O., Werner, J.: Extending Discrete Event Simulation by adding an Activity concept for Business Process Modeling and Simulation. In: Rossetti, M.D., Hill, R.R., Johansson, B., Dunkin, A., Ingalls, R.G. (eds.) Proceedings of the 2009 Winter Simulation Conference, pp. 2951–2962 (2009) 22. Wooldridge, M.J., Jennings, N.R., Kinny, D.: A methodology for agent-oriented analysis and design. In: Proc. of the Third International Conference on Autonomous Agents, pp. 69–76 (1999) 23. Wooldridge, M.J., Jennings, N.R., Kinny, D.: The Gaia methodology for agentoriented analysis and design. Autonomous Agents and Multi-Agent Systems 3(3), 285–312 (2000) 24. Zambonelli, F., Jennings, N.R., Wooldridge, M.: Developing multiagent systems: The GAIA methodology. Transactions on Software Engineering and Methodology 12(3), 317–370 (2003)
Simulation, Games and Challenges: From Schools to Enterprises Pedro Sá Silva1, Diogo Pedrosa1, António Trigo1, and João Varajão2,3 1
Coimbra Institute of Accounting and Administration, Portugal 2 University of Trás-os-Montes e Alto Douro, Portugal 3 Centro ALGORITMI, Portugal {psilva,dpedrosa,aribeiro}@iscac.pt,
[email protected] Abstract. In the last decades simulation has been widely used for training and education. Traditionally used on military and medicine education, history shows that analyzing systems through simulation models reveal to be an interesting, safe, few-resources consuming and less disruptive with the real system. Students can experiment and test their knowledge in the simulators, this is, can learn by doing. In order to increase the simulation interactivity and competition spirit, games were added, generating a new concept: simulation games. Business world sees this technique as an opportunity to improve professionals’ skills at low cost. This paper discusses the simulation, games and challenges contribution in schools and enterprises. Keywords: Simulation, games, challenges, simulation games, simulation software, simulation in education.
1 Introduction Today we live in a world characterized by constant changes and knowledge improvements. Some changes are so fast that sometimes we do not have the opportunity to assimilate them completely. This reality creates new challenges for society: learn faster and cheaper. One mistake in the learning process may have material (money loss) and non-material (human lives in danger) consequences. Schools are trying to deal with these challenges by using tools and techniques that facilitate knowledge transmission like, for instance, papers (e.g. images), multimedia (e.g. videos), software applications (e.g. games), simulators and simulation games. Historically simulation starts by being applied in high-risk training like military, medicine and scientific disciplines (bio-sciences and engineering). This happened because simulation was very expensive, especially computer based simulation. Today, with the computer and simulation software proliferation, simulation applications expanded to almost all areas of knowledge. Simulation is an interesting approach to teaching because it allows students and teachers to analyze “what if” questions, testing current or new hypotheses and evaluating its impacts on the model without disrupting the real system [1, 2]. There are many examples of this type of product, ones that use physical resources (e.g. fire J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 63–73, 2011. © Springer-Verlag Berlin Heidelberg 2011
64
P. Sá Silva et al.
simulation), others that use solely computer (e.g. weather forecast simulation), and others that use a combination of both (e.g. military flight simulators). In order to improve simulations’ interactivity and competition spirit, games were added, generating a new powerful and popular product: simulation games. Since games derived from simulation, a good way to understand what games and challenges are, is by knowing what simulation is. This paper discusses the contribution that simulation and simulation games has been providing to schools and enterprises. In section two, some important simulation concepts are described, together with the presentation of computer based simulation, followed by a brief description of games and challenges in section three. Then, examples of simulation applications on different areas are presented, and finally, section five draws some conclusions.
2 Simulation There is not one universal definition for simulation. Nevertheless, all definitions follow the same main concept: simulation is an imitation of a system [1, 3-6]. For some authors simulation is both an art and a science [1]. An art because, like other arts, it is required some sensitiveness to analyze and imitate systems and it can only be improved through time and experience. A science because there are rules and concepts that must be followed [7]. System, entity and resource are some of these concepts. A system is a cluster of interrelated entities working together to achieve the same specific goal [1, 6]. Systems are influenced by their environment. They receive inputs that cause system changes and produce results (outputs). These changes are represented by state variables. These variables define the system state in a certain period of time. In other words, system state variables contain the necessary data which together describe the system state in a particular moment of the simulation time [1, 6]. Analysts should know very well the system in order to identify correctly the system state variables, it is almost an art [3]. An entity is an object or component that requires an explicit representation on the simulation model [1]. People and machines are widely used entities examples. Entities and their relationships define the system behavior by causing system state changes [8]. Each entity has its own characteristics or attributes. Attributes are identified characteristics (or qualities) of an entity. They are very important to understand the entity role in simulation [8]. A resource is an object (or may be an entity) that has limited capacity [8]. Essentially, resources exist to serve entities and they can be many things such as machines, computers, workers, cars or even entities (static entities). On the other hand, they are not always available to serve because they have states and limits. A static entity differs from the other entities (dynamic entities) because they only exist to serve dynamic entities [1]. Entities and resource behaviors’ will determine the system performance. All of these changes and behaviors are represented through a simulation model. A model is a simplified representation of a system [1, 6, 9]. Daily we benefit from the result of many simulations, like, for instance, weather forecast. A good way to understand simulation concepts is becoming familiar with games [10]. Games scenarios are created from real systems or imaginary systems,
Simulation, Games and Challenges: From Schools to Enterprises
65
with many entities (people, cars, monsters, etc.), where the players play the same game several times but always with different results (the player may lose or win, win with a better or a lower score, etc.) [3]. On larger scale issues like building a production line or building sky scrapers, the magnitude of the problem increases but the simulation’s concepts still remain. In these contexts, simulation’s techniques allow a cost-effect study before commitment of resources (in the building sky scrapers example, before building). A good simulation can increase the performance of a process, rationalize resources, time and costs [1, 6, 11]. The simulation becomes even more important when human lives may be in danger situations, as for instance in firemen training. Without simulation the only way to improve firefighters’ skills was in a real fire, putting lives in dangerous. Is common associating simulation with computers. But simulation is not a technology, it is a technique [12]. Although a huge part of simulation is made through computers, simulation can also be made “by hand” [1, 4]. This only happens because the simulations made “by hand” have computation limitations. For instance, imagine simulating “by hand” the best planning of new airport facilities or achieve the best design for new skyscrapers that include concerns like energy efficiency, erosion effects, identify better materials, building costs, etc. Simulation through computer allows the study of complex systems and concede analysts the opportunity to develop greater and more complex systems [3]. With electronic devices and computers software dissemination, many simulations made “by hand” evolve to a hybrid combination. Medicine has numerous good examples of that, like for instance the surgery simulation where manual activities are received through electronic sensors and then evaluated through computer software (instead of the hand calculus). Simulation may require a huge processing power. Technological advances, especially in simulation software, allow better performance of computer simulations in complex situations. Robinson [4] identifies three main types of simulation software: Spreadsheets, Specialist simulation software and Programming languages. Spreadsheet is simple software that allows simple simulations, like for instance Excel. Specialist simulation software consists in frameworks (normally held by software suppliers) that already have packages with components that help simulation development (e.g. visual models, simulation clock, statistical analyzer, etc.). Simul8, Arena, Fexsim and SIGMA are some commercial examples of this type of simulation software. Simulation can also be developed through Programming languages such as Java and C++. Although this approach is time-consuming, this gives the modeler a great flexibility and control design.
3 Simulation, Games and Challenges Frequently games and simulation as treated as the same concept, but in its purest definition they are not the same thing [13, 14]. Games usually are associated with entertainment and simulation is associated with a more serious approach of solving problems [15]. Many authors come up with a game definition but their definitions do not cover all games’ dimension. Salen [16] in his work shows these leaks and elaborate a more complete game definition. According to Salen a pure game is a system in which
66
P. Sá Silva et al.
players participate (play) in an artificial conflict, defined by artificial rules or conditions, which results in a quantifiable outcome. A pure game does not define a win state. The rules limit the player action in order to make the game more challenging; playing outside them to achieve the desire state is considered cheating. Exploring the weaknesses of the rules is the main activity of the players [15]. Challenge is another important concept usually associated with games but, in its purest definition, is not the same concept. Challenge is a set of rules that define the correct resolution of a conflict or competition [17], this is, the win state. Challenges do not define rules on how win state is achieved. For instance, in human survival challenge, it is more important that the participant finishes alive than what he did to survive. The combination of simulation, games and challenges, gives an extended view of the concepts [15]: Simulation game, non-challenge; Simulation challenge game; Simulation challenge, non-game; Game challenge, non-simulation. Fig. 1 shows this idea.
Fig. 1. Simulation, games and challenges’ relationships
In Simulation challenge non-game the participant interacts with an imitation of a system (real or imaginary) to achieve a win or an end state. To get the win state it may be necessary to achieve one or more end states. Generating several ends states may be analyzed, may be analyzed in order to identify the best or most efficient path or behavior. The absence of games’ characteristics are known to be types of products that represent real systems without artificial constraints. Flight simulators are an example based on these concepts. In this simulation challenge it is made an imitation of the airplane, allowing the participant to fly or even simulate dangerous scenarios. The usage of the several tools available on the simulated airplane allows assessments of the participant’s skills. Safe lift, travel and landing define the win state. In Simulation challenge game the participants interact with a real or imaginary system, limited by some rules (game rules) to achieve the win state. Simulation concepts imitate the system behavior, games’ concepts define the restrictions that the player can operate on the system and the challenge defines how to achieve the win state in that system. This approach represents the majority of the currently existing
Simulation, Games and Challenges: From Schools to Enterprises
67
commercial games [15]. Computer based car games like “Need for Speed” are good examples. In these games there is a car replica where player drives, with artificial containments (e.g. cannot be cached by police), to win the race (win state). In Simulation game, non-challenge the participant interacts with the environment generated by simulation and the game element define and limit the action allowed in that environment (game rules). “The Sims” game is an example of this approach. Participants interact with an imitation of the real world, playing many different roles (mother, teacher, housekeeping, etc.) but each role as it owns rules and limitations (ex: teacher has the ability to start the class). Game challenge, non-simulation is composed by a set of rules that define the path to achieve a specific desired state: the win state. This type of game is not based on any simulation model that imitates a system. Logic games like Tetris and Sudoku are examples of these types of games. The correct distinction of these tree concepts helps analysts to define better framework according to each concept.
4 From Schools to Enterprises Simulation is widely used and already demonstrated to be an excellent tool in many different areas, like for instance in Manufacturing systems (ex. optimization of production lines and logistics), public systems (ex. emergency vehicle dispatch and weather forecast), military systems (ex. warfare scenarios and training), transportation systems (ex. railroad and air transportation), computer systems (ex. computer networks and computer games) and many others [1, 6, 18]. The application of simulation is almost unlimited. Simulation started with educational purposes and then evolved to be used on enterprises as a working tool. By simulating, participants can explore real world issues without compromising the real system with real consequences. Military, medicine and enterprises are main areas of society, where simulation already proves to be an interesting approach [12, 14, 18-20]. 4.1 Military Military was probably one of the first groups to believe and apply simulation knowledge [15, 19]. In World War I and II, simulation games were used to prepare and test tactical moves [14]. Flight simulators probably are the most popular military simulation product. One of the first flight simulator was the “blue box” flight trainer, developed by Edwin Link before World War II [21]. The simulator consisted in a small replica of a Cessna AA airplane and it was initially developed to educational purposes. Due to numerous aviation accidents during the second Great War, the U. S. Army looks to this approach as a safer and cheaper way to train their crews. Since that, the development of this type of products never stopped. Edwin Link’s enterprise also developed naval and submarines simulators and even helped the National Aeronautics and Space Administration (NASA) developing the Apollo simulators for astronauts’ training [19]. Later, the advantages of flight simulators were confirmed when international
68
P. Sá Silva et al.
flight schools adopted this approach has a mandatory training. Computers and electronics evolution increased flight simulator realism and complexity in a costeffective manner [19, 21]. Nowadays many complex simulators are being developed by the Army. One example is the NASA Ames Simulations Laboratories (NASA Ames SimLabs) that are still developing many simulators like, for instance [22, 23]: Future Flight Central (full scale air traffic control tower simulator); BOEING 747-400 Simulator (imitates the cockpit of most advanced airplane flying today); Virtual Laboratory (interactive simulation of a laboratory); Interchangeable Cabs (simulate the cockpit/crew for almost any aerospace vehicle); America’s Army (serve as a recruit training tool). 4.2 Medical Human body study is the main goal of medical education. Animals, cadavers or even patients are the traditional resources to analyze the human body [24, 25]. Medicine practice is very sensitive, especially in the analysis of living organisms [19]. With the animals rights issues, the use of animals became more difficult and the use of live patients may cause dangerous consequences [12]. Simulation in medicine education is not new: it has been practiced for centuries. Military was one of the main responsible entities for transferring simulation knowledge to medicine [19]. Anesthesiology, surgery, obstetrics, emergency medicine, pediatrics and critical care are some medicine areas where simulation is applied [19, 26]. The number and diversity of simulation examples are so large that David Gaba [12], in his pioneer work, categorizes the actual and the future medical simulations in eleven dimensions. In the eighth dimension, David Gaba defines five categories of technology (and non-technology) approaches for accomplish simulation goals: Verbal, Standardization patients, Par-task trainers, Computer patients and Electronic patient. Verbal simulations consist in a “what-if” discussion like role-playing simulation game. In Standardization patients, actors are used to analyze and evaluate the students’ skills in the physical examination, communication and professionalism [19]. These two approaches may not require technological tools. Par-task trainers consists in the use of anatomical representations of the human body (or only some parts) in different states (normal, infected, broken, etc.) like, for instance, ResuciAnne simulator [27]. Computer patients consist in an imitation of human body through computer, visual and interactive models. This approach is very similar to Par-task trainers, being the only difference the fact that Computer patients are a computer representation of the Par-task trainers. The emergent example of this type of product is the Ann Myers Medical Center on Second Life [28]. Electronic patient approach is the merge of Par-task trainers and Computer patients. There are many examples of this type of simulator: SimMan; Sim One; Harvey cardiology mannequin; CAE-Link. Another example is the product that the future points to: the integration of Second Life with Wii game console [19]. In last decades many medical discovers and innovations were revealed, increasing the knowledge of medicine. This reality created new challenges on the medicine students: they must learn more in less time [26, 29]. With simulation medical students can experiment (new or common) techniques without having the pressure of real
Simulation, Games and Challenges: From Schools to Enterprises
69
consequences (injuries or even death). Some of the examples mentioned above are used to improve students’ practical skills or even to supply better understanding of the function of something special. 4.3 Management Imported by ex-military managers, simulation is a well-known technique in management education and training activity [14]. Management schools and enterprises in world business wanted the same benefits already proved in military and medicine area: improve decision-making skills; failures without real consequences; and learn by doing. The scope of simulation usage in management science is huge, helping areas like business, production lines, marketing, supply chain management, projects management, accounting, fiscal, etc. [14, 30-32] One of the most known simulation games is the Beer Game [14]. Developed in the 1960s at the Massachusetts Institute of Technology’s (MIT) Sloan School of Management, it is a retail distribution simulation game. The first version was not computer based; only on 1990 it was. In this game students can simulate a supply chain, trying to anticipate the future demands of their clients. Management simulation games are defined in three different types [14, 33]: Top management games, Functional games and Concept simulations. In Top management games are included all organization aspects and it is usually focused on strategic decisions, like for instance Global Management Challenge [34]. This simulation game challenge consists in a simulation challenge around the world, where each team holds a company that they must analyze and define strategic decisions in order to achieve the highest stock price. Functional games are concentrated on a specific area of business like, for instance, Cesim Simpower [35]. Integrated on Cesim main simulator, Cesim Simpower simulates companies that only operate in the energy business area. Concept simulations are concentrated on a specific type of decision like, for instance, the Marketing Game [36]. This product is focused only on marketing decision, simulating several marketing techniques like marketing mix, products characteristics’, market segmentation, etc. Other interesting example is stock market simulators (there are many examples on the Internet). In this simulation game challenge, the participant needs to define its purchases/sells of shares to obtain the highest possible profit. Like in military and medicine, the majority of these simulation game based products are used for training professionals. In this type of games the main purpose is not entertainment, but professional skills improvement. Because of that, they are commonly identified in the literature as serious games [23, 33, 37] (although the correct name of some products should be serious simulation games).
5 Choosing the Product’s Name As mentioned before, simulation, games and challenges, are not the same thing, in its purest definitions. But, for marketing purposes, some existing products are mentioned as games instead of simulation or simulation games or even simulation challenge
70
P. Sá Silva et al.
games [15]. Table 1 shows the results of a brief analysis made to some examples of commercial popular products (some already detailed on the section 3). It was analyzed whether the examples had simulation, games and challenges characteristics. and if the name reflects the product characteristics. It were selected some products that have the concepts (simulation, game or challenge) on its name. Table 1. Products name proposal according to the simulation, games and challenges concepts Product commercial Imitation Have Defines Type(s) of Proposed name name of a artificial a win technique(s) according to the system? conditions? state? concepts Marketing Game Yes No No Simulation Marketing simulator The Sims
Yes
Yes
No
Simulation and game
The Sims game
Global Management Challenge
Yes
No
Yes
Simulation, game and challenge
Global Management simulation challenge
Microsoft Flight Simulator
Yes
Yes
Yes
Simulation and challenge
Microsoft Flight Simulation challenge game
Super Mario PC Challenge
No
Yes
Yes
Game and challenge
Super Mario PC Game Challenge
Grand Prix Challenge
Yes
Yes
Yes
Simulation, game and challenge
Grand Prix Simulation challenge game
To identify the presence of each concept the analysis included three main questions: Does it imitates a system? Does it has artificial conditions? Does it defines a win state? In the first question it was analyzed the presence of simulation characteristics, this is, if the product imitates the real world behavior. All of the examples mimic the real world except the “Super Mario PC Challenge”. In this game it was created an imaginary world, the Super Mario World. The second question identifies the existence of game concepts, specially the presence of artificial conditions or rules. The most common artificial condition identified in the examples was the possibility to select the difficulty level of the game (e.g. easy, medium and hard). This possibility makes the game more or less challenging. For instance in the “Grand Prix Challenge”, the “hard mode” makes the race car became more sensible to the friction and damages. The challenge characteristics were analyzed on the third question, this is, if the product defines the win state or not. In its previous versions the “Microsoft Flight Simulator” [38] did not define the win state, the participant only flies the simulated airplane on a simulated environment. In the last versions, this product already provides task missions, which define the win state. Once analyzed the examples and identified these three concepts, we suggested new names. These names reflect the concepts used by products. One of the examples is the
Simulation, Games and Challenges: From Schools to Enterprises
71
Marketing Game. This product is identified as a game when, according to the concepts, it should be classified as simulation, e.g. “Marketing simulator”. Also the majority of “car games” are usually identified solely as games, but they normally are an imitation of a system (e.g. car behavior, roads, traffic, etc.) with artificial rules (e.g. on easy mode the car moves faster) and with a win state (e.g. be the first, be the faster, etc.), this is, they should be defined as a simulation, game challenged product.
6 Conclusion Simulation is used on many different contexts. This demonstrates the flexibility of this tool to help solving problems and somewhat explains its success. A proper simulation can increase the performance quality of a process by rationalizing resources, reducing time consumption, decreasing costs [1, 6, 39] and reducing time-to-market [39, 40], which are fundamental aspects in the actual worldwide economic situation. Historically simulation and simulation games started being used on high-risk education like military practice or medicine [4, 12, 14, 19]. Over the years they were gradually imported to business companies and management schools. Simulation and simulation games prove to be an interesting approach by letting students and teachers analyze “what if” questions. By doing so they are not only testing current or new hypotheses but also evaluating its impact on the model, without disrupting the real system [1, 2]. This paper presented and distinguished the concepts of simulation, games and challenges, based on real examples in the market Simulation is associated with systems imitation, games with artificial rules and challenges that define the win state. The correct distinctions of these concepts help to identify the appropriated framework. The existing products often combine these tree concepts, giving the concept of simulation games, simulation challenges, games challenges and simulation, games challenges. In its purest definition, simulation, games and challenges are not the same thing, but for marketing purposes some existing products are mentioned as games [15]. This work both presents names of some popular commercial products where this happens and also lists new ones that link the different concepts. Car games can be referred to as an interesting example. The majority of these games are classed as a game instead of simulation game or even simulation challenge game. Simulation based applications are almost unlimited and very cost-effective, being suggested as the future of learning [10], however they have their own limitations and drawbacks [1, 4, 6, 11]. Before simulating, it is necessary to evaluate if simulation advantages overcome simulation disadvantages. The simulation results may not be directly applied to reality. Being an expert in flight computer based simulator (e.g. Microsoft Flight Simulator) does not mean to be able to pilot a real airplane, in real conditions. Another important aspect is that simulation cannot directly import the feeling of fear derived from failures: it is very easy for a player not to be afraid of investing a lot of money in a simulated stock market, because it never loses real money in the real world.
72
P. Sá Silva et al.
It is undeniable the contribution that simulation provides to education, especially on military and medicine education. How many lives has simulation already saved only in these fields? Without it certainly many lives would be endangered.
References 1. Banks, J., Carson, J.S., Nelson, B.L.: Discrete-Event System Simulation, 2nd edn. Prentice-Hall, Englewood Cliffs (1996) 2. Aldrich, C.: Learning by Doing: A Comprehensive Guide to Simulations, Computer Games, and Pedagogy in e-Learning and Other Educational Experiences, Pfeiffer (2005) 3. Silva, P.S., Trigo, A., Varajão, J., Pinto, T.: Simulation – concepts and applications. In: Lytras, M.D., Ordonez de Pablos, P., Ziderman, A., Roulstone, A., Maurer, H., Imber, J.B. (eds.) WSKS 2010. CCIS, vol. 112, pp. 429–434. Springer, Heidelberg (2010) 4. Robinson, S.: Simulation: The Practice of Model Development and Use. John Wiley & Sons Inc., Chichester (2003) 5. Seila, A.F.: Spreadsheet Simulation. In: Winter Simulation Conference, California, USA (2006) 6. Law, A.M., Kelton, W.D.: Simulation Modeling and Analysis, 2nd edn., p. 544. McGrawHill, Inc., New York (1991) 7. Silva, P.S., Pinto, J., Varajão, J., Trigo, A., Cruz-Cunha, M.M., Bentes, I., Varum, H., Agarwal, J.: Simulation in Information Systems: Potential of the Vulnerability Theory. In: Quintela Varajão, J.E., Cruz-Cunha, M.M., Putnik, G.D., Trigo, A., et al. (eds.) CENTERIS 2010, Part I. CCIS, vol. 109, pp. 219–229. Springer, Heidelberg (2010) 8. Ingalls, R.G.: Introduction to simulation. In: Winter Simulation Conference, Miami, USA (2008) 9. Sadoun, B.: Applied system simulation: a review study. Information Sciences 124(1-4), 173–192 (2000) 10. Aldrich, C.: Simulations and the Future of Learning. Pfeiffer An Imprint of Wiley (2004) 11. Carson II, J.S.: Introduction to modeling and simulation. In: Winter Simulation Conference, Orlando, USA (2005) 12. Gaba, D.M.: The Future Vision of Simulation in Healthcare. Simulation in Healthcare 2(2), 126–135 (2007) 13. Lewis, M.A., Maylor, H.R.: Game playing and operations management education. International Journal of Production Economics 105(1), 134–149 (2007) 14. Pasin, F., Giroux, H.: The impact of a simulation game on operations management education. Computers & Education 57(1), 1240–1254 (2011) 15. Magee, M.: State of the Field Review: Simulation in Education, p. 57 (2006) 16. Salen, K., Zimmerman, E.: Rules of Play: Game Design Fundamentals. The MIT Press, Cambridge (2003) 17. Rollings, A., Adams, E.: Andrew Rollings and Ernest Adams on Game Design. New Riders Games (2003) 18. Robinson, S.: Modes of simulation practice: approaches to business and military simulation. Simulation Modelling Practice and Theory 10(8), 513–523 (2002) 19. Rosen, K.R.: The history of medical simulation. Journal of Critical Care 23(2), 157–166 (2008) 20. Uretsky, M.: Simulation and Gaming: Directions, Issues, Ponderables. Simulation & Gaming 26(2), 219–224 (1995)
Simulation, Games and Challenges: From Schools to Enterprises
73
21. Strachan, I.W.: Technology Leaps All Around Propel Advances in Simulators (2000) http://www.nationaldefensemagazine.org/archive/2000/November /Pages/Technology_Leaps7194.aspx (cited January 03, 2011) 22. Giovannetti, D.P.: NASA Ames Research Center Simulation Laboratories. Journal of Modeling and Simulation Information Analysis Center (2003) 23. Zyda, M.: From visual simulation to virtual reality to games. Computer 38(9), 25–32 (2005) 24. Ardagh, M.: May we practise endotracheal intubation on the newly dead? Journal of Medical Ethics 23(5), 289–294 (1997) 25. Owen, H., Plummer, J.L.: Improving learning of a clinical skill: the first year’s experience of teaching endotracheal intubation in a clinical simulation facility. Medical Education 36(7), 635–642 (2002) 26. Okuda, Y., et al.: The Utility of Simulation in Medical Education: What Is the Evidence? Mount Sinai Journal of Medicine: A Journal of Translational and Personalized Medicine 76(4), 330–343 (2009) 27. Cooper, J.B., Taqueti, V.R.: A brief history of the development of mannequin simulators for clinical education and training. Quality and Safety in Health Care 13(suppl. 1), i11–i18 (2004) 28. AMMC. Ann Myers Medical Center The Ann Myers Medical Center (teleport link) aims to educate medical students and nurses in the virtual environment of Second Life (February 01, 2011) , http://ammc.wordpress.com/ 29. Shaffer, D.W., Gordon, J.A., Bennett, N.L.: Learning, Testing, and the Evaluation of Learning Environments in Medicine: Global Performance Assessment in Medical Education. Interactive Learning Environments 12(3), 167–178 (2004) 30. Silva, P.S., Trigo, A., Varajão, J.: Simulation technology for enhanced learning: VAT simulator for Portuguese accounting students. In: 13th International Conference on Modelling and Simulation. IEEE, Cambridge (2011) 31. Siddiqui, A., Khan, M., Akhtar, S.: Supply chain simulator: A scenario-based educational tool to enhance student learning. Computers & Education 51(1), 252–261 (2008) 32. Günther, M., Kiesling, E., Stummer, C.: Game-based learning in technology management education. In: 2010 IEEE Education Engineering, EDUCON (2010) 33. Crookall, D.: Serious Games, Debriefing, and Simulation/Gaming as a Discipline. Simulation & Gaming 41(6), 898–920 (2010) 34. GMC. Global Management Challenge (February 01, 2011), http://www.worldgmc.com/ 35. Cesim. Cesim - Business simulations for corporations and institutions (February 01, 2011), http://www.cesim.com 36. Mason, C.H., Perreault Jr., W.: The Marketing Game!, 3rd edn. McGraw-Hill, New York (2001) 37. Abt, C.: Serious Games. University Press of America (1987) 38. Sousa, P.D., Silva, D.C., Reis, L.P.: Air traffic control with Microsoft Flight Simulator X. In: 2010 5th Iberian Conference on Information Systems and Technologies, CISTI (2010) 39. Whicker, L., et al.: Understanding the relationships between time and cost to improve supply chain performance. International Journal of Production Economics 121(2), 641–650 (2009) 40. Latorre, S., Pointet, J.-M.: The contributions and consequences of simulation tools and digital mock-ups on design and production as applied to the automobile and aeronautics industries. International Journal of Automotive Technology and Management 8(3), 350– 368 (2008)
Using a Controlled Vocabulary to Support Business Process Design Carla Marques Pereira2,3, Artur Caetano1,3, and Pedro Sousa1,2 1
Department of Computer Science and Engineering, Instituto Superior Técnico, Technical University of Lisbon, Av. Rovisco Pais, 1049-001 Lisboa, Portugal 2 Link, Av. Duque de Ávila, 23, 1000-138 Lisboa, Portugal 3 Centre for Organizational Design and Engineering, INESC, Rua Alves Redol 9, 1000-029 Lisboa, Portugal
Abstract. Rapid business change demands the ability to adapt, rearrange and reinvent business processes while keeping the alignment with supporting information systems. However, such tasks require a business process to be consistently specified and modelled. To address this issue, this paper describes an organizational taxonomy that defines a controlled vocabulary to design business processes using the concepts of information entity, business process, organizational unit, actor, business schedule and business goal. Keywords: organizational taxonomy, ontology, business process design, conceptual modelling.
1 Introduction Business process management plays a central role at operational, organizational and technological levels [1-3]. Business process modelling produces abstract descriptions of business processes that are a central asset to the organization as they enable its specification, documentation, analysis and engineering through multiple paradigms, languages and techniques [3-7]. However, process modelling languages are criticised due to the lack of mechanisms to deal with domain changes and integrating the requirements of multiple stakeholders [8, 9]. The goal of this paper is to define a shared language that enables specifying business processes while serving as a communication, analysis and discussion platform among its stakeholders. Such goal attempts to minimize having multiple inconsistent specifications of the same business process for different stakeholder subgroups. We argue that such inconsistent specifications stem from two main causes. The first is that the different stakeholders of the same process tend to belong to different organizational areas as a business process also tends to crosscut intra- or even interorganizational boundaries. Hence, stakeholders have contrasting concerns over the same process and focus on different perspectives of that process such as performance, auditing, information systems, people or compliance. Such issue also arises in architectural descriptions and is commonly addressed by having multiple views over the same conceptual domain [10, 11]. The second cause is that the specification of a J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 74–84, 2011. © Springer-Verlag Berlin Heidelberg 2011
Using a Controlled Vocabulary to Support Business Process Design
75
process is intrinsically tied to its design team, thus depending on the team’s knowledge and background and not exclusively on the organizational factors that do define the process. This means that two different design teams modelling the same process tend to obtain different specifications. Moreover, several business processes representations rely on natural language, especially to specify the names of business process activities. This makes complex the task of assessing whether two process models are actually equivalent. This paper describes a controlled vocabulary that encompasses a set of core constructs to define a business process. The constructs are: information entity, business process, organizational unit, actor, business schedule and business goal. The remainder of this paper is structured as follows. The next section reviews related work. Section 3 introduces the concepts, ontology and taxonomy to support business design. Section 4 presents the applicability of the taxonomies. Finally, section 5 summarizes the proposal.
2 Related Work Organizations require different perspectives for modelling business processes, such as modelling for compliance or documentation (such as legal, regulatory, training), modelling for process redesign, and modelling for execution. No matter which purpose the modelling is for, the output would be business process representations in certain format and possible comparison among them. Each problem dimension or view should be modelled by specific criteria with a specific design paradigm. Although several methodologies or approaches that conduct us to produce a business representation within a type of graphical, it is understood as part engineering part art, where experience and common sense play an important role. This means that a repeated usage of similar techniques may yield contrasting results. Actually, in this cycle of functionally breaking down a process into activities or aggregating activities into processes, the boundary between what can be specified is unclear in most of the methodologies. This issue is partially addressed with organizational taxonomies and reference process models [12, 13] such as the Supply Chain Operations Reference (SCOR). These enable the systematic reuse of proven practices across process design projects. They do so by capturing knowledge about common activities, information artefacts and flows encountered in specific application domains. However, their do not go beyond pre-defined repositories of process models and provide little or no guidance to support analysts adapting these process models to specific needs and different contexts. Moreover, there is a lack of standard notations and methods to model reference processes and to enable the systematic reuse of reference process models in business process management projects. Techniques such as Petri nets [14], flowcharts [15], state charts [16], EPC [17], UML Activity Diagrams [18] and BPMN [19] are valuable for specifying the controlflow associated with a business process. Entity-relationship diagrams [20] and data flow diagrams [21] are useful to capture the data handled by a process. Other approaches such as Speech Act Theory [22] and the Language/Action Perspective [23] explicitly model the interaction between actors and systems and the how they do so.
76
C. Marques Pereira, A. Caetano, and P. Sousa
However, several of these techniques only address a single aspect of the domain – with a strong emphasis on flow modelling – and therefore require supplementary modelling mechanisms to provide a comprehensive description of the process. This also implies that these different mechanisms need to be tightly integrated so that the resulting models are consistent and traceable. Since assessing the coherence and equivalence of the different representations of the same process is complex, organizations are compelled to design and maintain various representations of the same domain. This makes analysing and communicating the processes complex and also hinders the design of the information systems that support these business processes because there is no single source of knowledge. For instance, an EPC model specifies resources and objects, which are required for handling specific activities at one process level but there are no criteria to detail or decompose those elements. BPMN does not provide an unambiguous definition of activity and event meaning that different modellers can use both concepts to represent the same thing. Moreover, activity and event naming is expressed in natural language which, without a proper glossary or vocabulary, may lead to further ambiguity. If we examine formal business processes definitions, they are rather limited in scope, regardless of their accuracy. The most popular formal technique for flow-based business process modelling are Petri nets that specify parallelism, synchronization, non-determinism, and mutual exclusion. In this technique, the main concern is how the workflow is represented. In other specifications a process is defined mostly by its outputs [24, 25]. However, if two processes have the same output but use different human skills in different locations and in different moments, they would be consider equivalent according to the aforementioned techniques whereas there would by no means equivalent in an actual scenario. Altogether, existing modelling languages and notations do not completely define the necessary means to consistently describe business processes and to unambiguously identify the concepts that constitute it. The primary goal of this paper is therefore to provide a contribution to this issue.
3 Core Concepts The purpose of business process design is the construction of concise and unambiguous models of a business or a business area in terms of the activities that take place in the organization. The fundamental assumption behind this project is that a business process can be represented through the identification of the concepts that are associated to the following six dimensions: what, where, who, when, why and how, i.e. the classic 5W1H dimensions [26]. From this assumption, we define a business process as a set of connected activities (how) which consumes and produces tangible or intangible artefacts (what), is performed by people or systems (who), contributes to achieving goals (why), takes place in a specific location (where) and during a specific period of time (when). Figure 1 depicts these relationships. This definition comprises the 5W1H dimensions and the answer to each dimension corresponds to a different concept which is independent by itself while the combination of all answers characterizes the business process concept as a whole.
Using a Con ntrolled Vocabulary to Support Business Process Design
77
Fig. 1. The six core concepts of a business process and the corresponding six classificationn dimensions (why, what, where, when, w who and how)
A business process can be functionally decomposed into a set of individual tassks. While we refer to a business process as a set of activities, both concepts are actuaally interchangeable. However, the resulting decomposition structure needs to be form malized in order to avoid unam mbiguity. We use Krogstie & Sølvberg’s definition of hhierarchy to model the function nal decomposition of a process into finer grained elemeents [27]. This definition states that t H is an hierarchy iff it is an ordered triple H=<S,b,,D> where S is a nonempty sett, b a distinguished element of S and D a binary relattion over S such that: 1. 2.
3. 4.
S has a single beginner, b. (H has one and only one supreme commandder) b stands in som me power of D to every other member of S. (That is,, no matter how low w in the hierarchy an element of S may stand, it is still under the comman nd of the beginner) For any given element e y of S except b, there is exactly one other elem ment x of S such thatt Dxy. (i.e. every member has a single direct boss.) D is transitive and a anti-symmetric.
Therefore, we assume the reesulting process tree is strict hierarchal graph i.e. a digrraph whose underlying graph iss a tree, and for which there is one specific vertex frrom which all other vertices can n be reached. The relationships betweeen the concepts can take the form of classification, agggregation and generalization ass depicted in Figure 3. Classification ("is membeer of”). Is used for abstraction a concept as a class of objects characterized by common properties, i.e., abstracting away detailed differennces between individuals, so thatt a class can represent the commonalities. Aggregation (“is part of”). Defines a new class from a set of classes that repressent its component parts, i.e., th hinking of concepts as wholes, not just a collection of thheir attributes/components.
78
C. Marques Pereira, A. Caetano, and P. Sousa
Generalization (“is a”). Defines a subset relationship between the elements of two or more classes, i.e., abstracting commonalities of several classes into a superclass.
Fig. 3. The basic structural relationships
The remainder of this section presents the taxonomy of concepts and the relationship between these concepts.
4 Taxonomy To instantiate the concepts within the reality of the organization, we propose an ontology for each language construct and a taxonomy for each corresponding instance. These taxonomies are ontologies define a controlled vocabulary which intends to be understandable to all the process stakeholders. A taxonomy is a collection of terms organized as an hierarchical structure. Each term in taxonomy is in one or more parent-child relationships to other terms in the taxonomy. There may be different types of parent-child relationships in a taxonomy (e.g., whole-part, genus-species, type-instance), but good practice limits all parentchild relationships to a single parent to be of the same type. The taxonomy represents the hierarchical classification of the concepts used to represent business processes. A taxonomy is a powerful approach to map and retrieve unstructured data. It also helps to structure, classify, model and represent the concepts and relationships pertaining to business process design while enabling a community to come to agreement and to commit to use the same terms in the same way. Therefore, for each concept we need to create a taxonomy based on the categorization of each concept instantiation in the classification structure. The definition of the classification structure is directly dependent of the way how the organization conducts its business and it can be different from organization to organization. For this reason it is necessary to define the ontology that should be applied for each concept and this must be recognized for all the stakeholders. Here, we consider an ontology to be a formal explicit description of the concepts within a domain of discourse, the properties of each concept and the relationships between the concepts. The following subsections describe the ontologies for each of the concepts depicted in Figure 1, namely BUSINESS PROCESS, INFORMATION ENTITY, ORGANIZATIONAL UNIT, ACTOR, BUSINESS SCHEDULE and BUSINESS GOAL.
Using a Controlled Vocabulary to Support Business Process Design
79
4.1 Business Process A BUSINESS PROCESS is a set of connected activities that consumes and produces tangible or intangible artefacts, is performed by people or systems, contributes to achieving goals, takes place in a specific location and during a specific period of time. A business process can be functionally decomposed as a set of individual tasks. Thus, a business process: • • • • •
Has one or more INFORMATION ENTITIES as input/output. Takes place in one or more ORGANIZATION UNITS. Is performed by one or more ACTORS. Occurs in a specific BUSINESS SCHEDULE. Contributes to one or more BUSINESS GOALS.
Moreover, a business process can be classified as: MACRO-PROCESS. A large-scale business PROCESS that is initiated by a customer request, or by the decision of the company to enter a new line of business, and results in the delivery of a process or service to a customer, i.e., purchase, manufacturing, logistics, customer service, marketing, sales, etc. PROCESS. At its most generic, any set of ACTIVITIES performed by a business that is initiated by an event, transforms information, materials or business commitments, and produces an output. Process can be decomposed indefinitely. ACTIVITY. The leaves of the process tree are activities. So, an ACTIVITY is a PROCESS that cannot be further decomposed. 4.2 Information Entity An entity is any person, place, concept, thing, or event that has meaning (information) in the context of the business, and about which data may be stored [28]. INFORMATION ENTITIES are composed by several attributes and can have relationships with other entities. An entity can be classified as: THING. It is an information “bag” that represents the many different types of electronic or physical artefacts that are important to the business, such as documents, products, resources, etc. DATA ENTITY. Is something that has some meaning in the context of the business, and about which data may be stored. The instances of data type represent a specialization of a THING, such as invoice, order, application form, receipt, customer, supplier, employee, etc. PROPERTY. A relevant characteristic of a DATA ENTITY that further describes what that data entity is in the context of the business, such as order number, item price, customer address, invoice date, etc.
80
C. Marques Pereira, A. Caetano, and P. Sousa
4.3 Organizational Unit The organizational structure includes information about the ORGANIZATIONAL UNITS that make up an organization, the human resources that belong to those organizational units, as well as the structure and relationships that connect them all together. The three following concepts classify organizational unit: GEOGRAPHICAL LOCATION. Place where the organization is located which may be a country, city, geographical area, etc. PHYSICAL LOCATION. Building where the organization is installed, e.g. headquarters, delegation, office, store, etc. UNIT. Used to create a hierarchy of organizational areas within a organization, e.g. division, department, section, etc. 4.4 Actor Actor specifies a role played by a user or any other system that interacts with the subject. ACTORS may represent roles played by human users, information systems, or other active subjects. Note that an actor does not necessarily represent a specific physical entity but merely a particular role of some entity that is relevant to the specification of its associated use cases. Thus, a single physical instance may play the role of several different actors and, conversely, a given actor may be played by multiple different instances [29, 30]. The concept of actor is classified as: POSITION. A function within a chain of command of an organization that has the responsibility for decisions involving the use of the organizational resources, i.e., manager, chief business officer, clerk, supervisor, project manager, etc. 4.5 Business Schedule A BUSINESS SCHEDULE is a plan that specifies time periods for completing specific activities. In the context of this work, business schedule is the set of events that are important for the enterprise and have business process associated to them. A schedule is classified through events: EVENT. All occurrences happening at a determinable time that the organization must be aware of. Event can be decomposed as other events. 4.6 Business Goal BUSINESS GOALS are a set of objectives that are accomplished by one more business process. Goals are classified as: GOAL. An end which the organization seeks to achieve through its operations. OBJECTIVE. A decomposition of GOAL that can be achieved within a defined timeframe and a set of resources.
Using a Controlled Vocabulary to Support Business Process Design
81
KPI. Key performance indicators can be associated to GOALS and OBJECTIVES to provide measures that will reflect success factors, such as time to answer a customer request or maximum lead time of a process. 4.7 Relationships between Concepts Table 1 summarizes the relationships between a business process and the other concepts. Table 1. Relationships between the core concepts and a business process Concept Information Entity Organizational Unit Actor Business Schedule Business Goal
Thing Data Entity Property Geographical location Physical location Unit Position Event Goal Objective KPI
Macro-process X
X X X X X
Process
Activity
X
X X
X X X X X X
X X X X X
5 Ontology Large teams of process designers collaborate and communicate mostly via process representations. A representation of an existing domain is a repository of information to be passed along multiple readers that, unlike words, encompasses some basic principles [31]: •
Use minimum set of fundamental concepts, upon which the information (or communication) can be assembled. These are the elements (or concepts) upon which information is defined;
•
No concept corresponds to the same symbol, and no symbol corresponds to different concepts. This is a coherent representation/blueprint. No misunderstanding will result from multiple interpretations of the message.
The previous section introduced the core concepts required to model an through an hierarchical structure. These concepts are grounded defined according to a taxonomy. Figures 4 depicts an ontology for a business process according to the concepts of business process, macro-process, process and activity. Figure 5 depicts an ontology for an information entity.
82
C. Marques Pereira, A. A Caetano, and P. Sousa
Fig. 4. Ontology of a business process
Fig g. 5. Ontology of an information entity
6 Conclusions The lack of a common lang guage between the stakeholders and the process designners results in a significant gap between different modelling perspectives. To reduce this gap, this paper has proposeed a controlled vocabulary to support business process design. This vocabulary is grrounded on six dimensions of inquiry (how, where, w why,
Using a Controlled Vocabulary to Support Business Process Design
83
when, what, who). The concepts pertaining to the vocabulary (information entity, business process, organizational unit, actor, business schedule and business goal) are organized as a taxonomy that allows for the hierarchical creation of an ontology that describes the specific domain of the organization. This approach has been experimented and validated in several professional projects at Link (www.link.pt). Acknowledgements. The work described in this paper was co-supported by the funding of The National Strategic Reference Framework (NSRF), Quadro de Referência Estratégico Nacional (QREN).
References 1. Davenport, T., Short, J.: The New Industrial Engineering: Information Technology and Business Process Redesign. Sloan Management Review 32(5), 554–571 (1990) 2. Hammer, M., Champy, J.: Reengineering the Corporation: A Manifesto for Business Revolution. Nicholas Brealey Publishing, London (2001) 3. Dietz, J.: Enterprise Ontology: Theory and Methodology, p. 244. Springer, New York (2006) 4. van der Aalst, W.M.P., ter Hofstede, A.H.M., Weske, M.: Business process management: A survey. In: van der Aalst, W.M.P., ter Hofstede, A.H.M., Weske, M. (eds.) BPM 2003. LNCS, vol. 2678, pp. 1–12. Springer, Heidelberg (2003) 5. OMG Business Process Model and Notation (BPMN), version 2.0 (2011) 6. Ko, R., Lee, S., Lee, E.: Business process management standards: a survey. Business Process Management Journal 15(5) (2009) 7. Russell, N., van der Aalst, W.M.P., ter Hofstede, A.H.M., Edmond, D.: Workflow Resource Patterns: Identification, Representation and Tool Support. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 216–232. Springer, Heidelberg (2005) 8. Dumas, M., Hofstede, A.H., van der Aalst, W.: Process Aware Information Systems: Bridging People and Software Through Process Technology. Wiley Publishing, Chichester (2005) 9. Ellis, C.A., Nutt, G.J.: Workflow: The Process Spectrum. In: NSF Workshop on Workflow and Process Automation in Information Systems: State-of-the-Art and Future Directions, Athens, GA (1996) 10. IEEE Computer Society, IEEE Std 1471-2000: IEEE Recommended Practice for Architecture Description of Software-Intensive Systems. IEEE, New York (2000) 11. Davis, P., Tolk, A.: Observations on New Developments in Composability and MultiResolution Modeling. In: Winter Simulation Conference WSC 2007, Washington DC, USA (2007) 12. Malone, T.W., Crowston, K., Herman, G.A.: Organizing Business Knowledge: The MIT Process Handbook. MIT Press, Cambridge (2003) 13. Council, S.-C.: Supply Chain Operations Reference (SCOR) (2003), http://supply-chain.org/ 14. Petri, C.A.: Kommunikation mit Automaten. In: Institut für instrumentelle Mathematik. University of Bonn, Bonn (1962) 15. Schriber, T.J.: Fundamentals of Flowcharting. Wiley, New York (1969) 16. Harel, D.: Statecharts: A visual formalism for complex systems. Sci. Comput. Program 8(3), 231–274 (1987)
84
C. Marques Pereira, A. Caetano, and P. Sousa
17. Keller, G., Nüttgens, M., Scheer, A.-W.: Ereignisgesteuerter Prozessketten (EPK). In: Semantische Prozessmodellierung auf der Grundlage, Saarbrücken, Germany (1992) 18. OMG, Unified Modeling Language Specification: Superstructure, version 2.0, Revised Final Adopted Specification (ptc/04-10-02) Object Management Group (2004) 19. OMG, Business Process Modeling Notation (BPMN) Specification. v 1.1 (formal/200801-17) (January 2008) 20. Chen, P.: The entity-relationship model: Towards a unified view of data. ACM Transactions on Database Systems 1(1) (1976) 21. Gane, C., Sarson, T.: Structured Systems Analysis: Tools and techniques. Prentice-Hall, Englewood Cliffs (1979) 22. Searle, J.: Speech Acts: An Essay in the Philosophy of Language. Cambridge University Press, Cambridge (1969) 23. Winograd, T.: A language/action perspective on the design of cooperative work. HumanComputer Interaction 3(1), 3–30 (1988) 24. Jagannathan, R.: Data Flow Models. In: Zomaya, E. (ed.) Parallel and Distributed Computing Handbook. McGraw-Hill, New York (1995) 25. Linz, P.: An Introduction to Formal Languages and Automata, 4th edn. University of California, Jones & Bartlett Publishers, Davis, California (2006) 26. Sousa, P., et al.: Applying the Zachman Framework Dimensions to Support Business Process Modeling. In: Digital Enterprise Technology Perspectives and Future Challenges 2007, pp. 359–366. Springer US (2007) 27. Krogstie, J., Sølvberg, A.: Information Systems Engineering - Conceptual Modeling in a Quality Perspective Trondheim, Norway, Kompendiumforlaget (2003) 28. Spewak, S., Steven, H.: Enterprise Architecture Planning: Developing a Blueprint for Data, Applications and Technology. Wiley-QED Publication, Chichester (1992) 29. List, B., Korherr, B.: A UML 2 Profile for Business Process Modelling. In: Akoka, J., Liddle, S.W., Song, I.-Y., Bertolotto, M., Comyn-Wattiau, I., van den Heuvel, W.-J., Kolp, M., Trujillo, J., Kop, C., Mayr, H.C. (eds.) ER Workshops 2005. LNCS, vol. 3770, pp. 85– 96. Springer, Heidelberg (2005) 30. Caetano, A., Silva, A.R., Tribolet, J.: Business Process Model Decomposition with Separation of Concerns. In: 25th Annual ACM Symposium on Applied Computing, ACM SAC 2010. ACM, Sierre (2010) 31. Sousa, P., et al.: An Approach for Creating and Managing Enterprise Blueprints: A Case for IT Blueprints. In: Albani, A., Barjis, J., Dietz, J.L.G. (eds.) CIAO! 2009. LNBIP, vol. 34, pp. 70–84. Springer, Heidelberg (2009)
A Quality-Oriented Business Process Meta-Model Farideh Heidari1, Pericles Loucopoulos1, and Zoubida Kedad2 1
MSIS Research Group, School of Business and Economics, Loughborough University, Loughborough, LE11 3TU, United Kingdom 2 Laboratoire PRiSM, Université de Versailles 45, avenue des Etats-Unis 78035 Versailles, France {f.heidari,p.loucopoulos}@lboro.ac.uk,
[email protected] Abstract. Business process modeling is an important part of information systems design. Business process modeling techniques provide a standard way of presentation and communication of business processes. One important problem in this context is to assess the quality of business processes as well as their ontological constructs, which raises several issues, such as the identification of business process constructs as well as the quality dimensions and factors relevant to these constructs. In this paper, our goal is twofold. First, we present a business process meta-model containing all possible constructs of a business process. Second, after discussing a set of quality factors suitable for business processes constructs, we present a quality oriented meta-model resulting from the enrichment of the business process meta-model with quality related information. Keywords: Business process, Business process modeling, Quality, Qualityoriented meta-model.
1 Introduction One of the most valuable characteristic of an organization is its ability to adapt to the dynamic environment in which it operates. Implementing process orientated structures helps organizations to be more responsive to an increasingly changing environment [28]. Business process modeling plays a very important role in establishing a processoriented environment, culture and technology [31]. In other words, business process modeling techniques assist organizations to develop uniform and standard business process models. Presentation of business processes in form of models helps organizations to communicate them in a standard way. This will facilitate improving business processes and lead to having more efficient organizations in higher level of performance. Considering the role of business process and business process modeling in organizations' performance, it is increasingly common to describe organizations as sets of business processes that can be presented, analyzed and improved by approaches such as business process modeling [33]. J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 85–99, 2011. © Springer-Verlag Berlin Heidelberg 2011
86
F. Heidari, P. Loucopoulos, and Z. Kedad
The approach of describing organizations in terms of business processes not only helps organizations to be more responsive to environmental changes but also helps them to overcome the problems due to functional differentiation [33]. This also helps organizations to have more integrated information systems as the process view provides the basis for integration [41]. Both researchers and practitioners recognize the importance of business process modeling in understanding and designing accurate software systems [6] and their corresponding information systems. Capability Maturity Model Integration (CMMI) approach in software engineering is based on such recognition [9]. Since an organization’s current performance depends upon its business processes’ collective ability to achieve its fundamental objectives [43], qualified business processes can be considered as a foundation of high performance organizations. Moreover, qualified business processes have direct impact on quality of information systems in organizations and software to be developed based on these models. Even though quality plays a central role in business process management, systematic processing of quality requirements is still missing. In the field of business process management, quality alignment is still not addressed sufficiently, compared to the effort already spent in software engineering [1]. According to these authors, to this day, for instance, there is no established business process notation that covers the explicit definition of quality requirements. According to [21], the quality dimension of a business process is often neglected in business process modeling and design, and there is only little general work on business process quality. Our goal is to provide a support for business process quality evaluation. We assume that a business process is represented by a model and that some quality requirements are expressed. Our ultimate goal is to assess the quality of the business process through the model and considering the quality requirements. To achieve this goal, we need to investigate and analyze quality dimensions of a business process and assign them to the ontological constructs of a business process. In this paper, our contributions are threefold: (i) proposing a business process meta-model encompassing several business process modeling languages, (ii) investigating business process quality dimensions and factors and (iii) building a quality-oriented business process meta-model resulting from the enrichment of the business process meta-model with quality information corresponding to the analyzed quality dimensions and factors. This meta-model is a first step towards effective business process quality management, and will serve as a basis for both business process quality evaluation and analysis. This paper is organized as follows. Section 2 presents some related works. In section 3, a business process meta-model will be presented. Quality dimensions and factors for business processes are presented in section 4. Section 5 presents quality oriented meta- model. A conclusion is provided in section 6 with a number of suggestions for future work.
2 Related Works Quality has been the topic of research in several disciplines such as manufacturing, software engineering, information management, and services management. As a result
A Quality-Oriented Business Process Meta-Model
87
a variety of standards and frameworks have been introduced to define, manage, assure, control and improve quality [21]. Different levels of granularity can be considered for realizing and measuring quality in an organization. It can start from organizational level in the highest level to ontological constructs of a business process in the lowest level. In Total Quality Management (TQM) [10], general guidelines and recommendations for quality have been proposed as well as ISO quality standards at the organization level rather than the business process level. Consequently, no dimensions or factors have been introduced by these approaches. Business performance measurement systems try to realize performance factors in organization level or organizational unit levels [26], [14] and [24]. The works that have been done so far on business process performance measurements systems tried to provide guidelines in developing process performance measurement systems. As a result no quality dimensions and factors were introduced in these levels. We believe that quality should be built from lowest level of an organization which consists of its ontological constructs of a business process. Some guidelines suggested in developing process performance measurement systems [26] and [20], but again neither dimensions nor factors have been offered. Quality tools and techniques [10] and tools for process improvements such as Kaizen Blitz, Poka-Yoke and process simulation [14] are provided to assist stakeholders in improving their processes and presenting output of quality measurements without realizing quality dimensions or factors. System dynamics method was implemented in order to measure and control business processes in [40] and [2]. Both works focused on area of supply chain and production and used system dynamics software for modeling business processes. In both works, no generic quality factors were introduced. From our point of view, using quality tools and techniques and system dynamics approach demands for recognizing quality factors in first instance. The investigation of analysis was limited to some performance measures such as “shipping rate” and “product inventory”. There are works such as [45] and [19] that tried to adapt quality factors from software engineering in quality of software field to the area of business process. However, such kind of works tried to focus on quality of business process model rather than business process itself. In a work focused on area of requirement engineering, a method for realizing quality factors was introduced in a subjective way [1]. There was also focus on quality of software rather than quality of a business process in [5], [7], [11], [18] and [30]. These works tried to investigate software requirements regarding to context of some business models. We believe that the quality of the business process should be considered before the quality of the software or the model. In our view, assessing the quality of processes is a prerequisite for assessing the quality of the software. Some quality dimensions of task as a component of a workflow have been realized in area of quality of service [8]. However, these quality dimensions can be adapted to activity as a business process construct. Thus, there is a need for realizing a holistic set of quality dimensions for all possible ontological constructs of a business process that quality dimensions and factors can be assigned to.
88
F. Heidari, P. Loucopoulos, and Z. Kedad
The focus of industrial engineering area such as [4], [25] is on realizing and measuring performance and efficiency dimensions and factors. Though, quality requirements a business process have been neglected. Capturing quality dimensions of a business process with the aim of building a holistic framework have been considered in similar works offered by [21] and [22]. Based on related works from software engineering, they identified thirteen quality dimensions for functions, based on related works on software engineering, product quality and quality-of-services for web services, they identified quality dimensions of non-human resource category and finally based on some literature review, they identified quality dimensions for the two other recognized categories: input-output and human resource. In these works, quality factors of business processes have not been realized for all possible constructs of a business process. There is a need for a systematic consideration of quality requirements for business processes and for tools and approaches enabling effective evaluation of business process quality. Consequently, the systematic representation of business process quality dimensions and their relationships with the different constructs of business processes is required. To this end we propose in this paper a quality oriented metamodel, resulting from the enrichment of a business process meta-model with all the quality information required to effectively evaluate a set of quality factors.
3 A Meta-Model of Business Process The first step in developing a business process meta-model is to identify the ontological constructs provided by different modeling techniques. Unlike some of the existing meta-models which focus on one modeling language such as the BPMN meta-model [38], or some proposals considering generic definitions regardless of existing notation [29], we will build our meta-model considering a set of existing business process modeling languages. We have investigated the following modeling techniques that use graphical as well as textual notations in order to build an integrated business process meta-model: 1. 2. 3. 4. 5. 6.
Business Process Modeling Notation (BPMN) [46]; Integrated Definition for Function Modeling (IDEF0-IDEF3) [15], [32] ; Role Activity Diagram (RAD) [35]; Unified Modeling Language Activity Diagram (UML-AD) [12], [13]; Structured Analysis and Design Technique (SADT) [47] ; Event-driven Process Chain (EPC) [42].
We have used the UML class diagram [13] to represent the meta-model. Due to the size of the meta-model, we have divided it into six parts (Fig. 1 to 5) to be more readable. As it can be seen on the different figures, shared constructs are represented in gray classes. Fig. 1 illustrates the different types of elements of a process and the different types of connectors between these elements, as well as the different types of gateways. Besides, it illustrates different types of sequence flows, their relationship with gateways.
A Quality-Oriented Business Process Meta-Model
Fig. 1. Business process meta-model –Part 1
Fig. 2 illustrates different types of event as well as their role in a process.
Fig. 2. Business process meta-model –Part 2
89
90
F. Heidari, P. Loucopoulos, and Z. Kedad
Fig. 3 illustrates different types of activities of a process, which can be either atomic or compound.
Fig. 3. Business process meta-model –Part 3
Fig. 4 describes swimlane’s and the activities that are grouped in the swimlane. Besides, instantiation and behavior concepts are presented and linked to activities.
Fig. 4. Business process meta-model –Part 4
A Quality-Oriented Business Process Meta-Model
91
Fig. 5 illustrates the relationship between activities, input sets and output sets. Besides, it shows that both input and output sets group incoming artifacts (which can be a data object). It also describes possible types of artifacts.
Fig. 5. Business process meta-model –Part 5
The proposed meta-model is a generic one which has been designed considering seven different business process modeling techniques (BPMN, IDEF0, IDEF3, RAD, UML-AD, SADT and EPC). Its derivation was based on integrating the concepts existing in each of these techniques. This provides a language-independent metamodel. As we will see in section 5, this meta-model will be used as a base-line upon which quality factors will be established.
4
Business Processes Quality Factors
According to ISO 9000:2000 [23], quality is the degree to which a set of inherent characteristics fulfill the requirements [17]. In other words, Quality is meeting the customer requirements, and this concept has been expressed in many other ways [10][36]. Quality requirements can be classified into functional and non-functional requirements of a business process. A set of classification rules for distinguishing between non-functional requirements and functional requirements in system engineering was proposed in [17]. In this classification, the concept of non-functional requirements can be defined as: requirements about timing, processing or reaction speed, input set volume or throughput as well as specific quality of ontological constructs or business process as a whole. Quality of a business process naturally affects quality of the business to which it belongs since it delivers some kinds of outputs. Different areas were investigated in order to extract and adapt quality dimensions to make it suitable and applicable for a business process. Similarly to [39] quality factors are grouped into quality dimensions, each dimension representing a facet of business process quality. A quality factor represents a particular aspect of a given dimension. A quality factor is associated with a set of metrics allowing to effectively evaluating it.
92
F. Heidari, P. Loucopoulos, and Z. Kedad
We have surveyed quality factors and dimensions, sometimes adapted them and assigned them to the different construct of a business process, namely, events, input sets, output sets and activities. In the present work, we have considered the following quality dimensions: performance, efficiency, reliability, security and availability. Our approach can be extended to other quality dimensions existing in the literature. In this section, we will describe each of the selected dimensions. The result of our investigation is summarized in Table 1. Quality dimensions and their corresponding quality factors are provided in this table. The grey cells show that the corresponding quality factors apply to related constructs. Consider for example the Reliability dimension; in existing works, two factors have been proposed to deal with this dimension: maturity, which is the ability of a process to avoid failures and recoverability, which is the ability to restart after a failure. The former was defined in business and management [34], software engineering [27] and workflows [37]. The latter has been proposed for tasks in workflows [37]. Both can therefore apply to the activities of a process. We have also proposed to adapt the recoverability factor to input sets, which represents the ability to restart after input set shortage. In each of the following subsections we will describe a specific quality dimension of the table, along with the corresponding quality factors. Table 1. Quality dimensions and factors and their corresponding business process ontological constructs
Dimension Performance
Efficiency Reliability Security Availability
Factor
Event
Ontological Constructs Output Input Activity
Throughput Cycle Time Timeliness Cost Resource Efficiency Time Efficiency Cost Efficiency Maturity Recoverability Security Availability
4.1 Performance While some authors considered performance dimension as primary operating characteristics of a product [16], in [37] performance makes reference to the timeliness aspects of how software systems behave; this includes different types of quality of service characteristics such as latency and throughput. Sometimes it refers to the relationship between the services provided and the utilization of resources. Considering the role of business processes in transforming input sets to output sets, factors such as throughput, execution time (cycle time), timeliness and execution cost were considered as quality factors of performance dimension in this paper.
A Quality-Oriented Business Process Meta-Model
93
Throughput: Throughput refers to the number of events handled during an observation interval by an activity. This value determines a processing rate [37]. Beside event throughput, throughput can be adapted for input as it calculates the number of input sets processed by an activity in a desired time unit. The Throughput of an output also indicated the number of output delivered by an activity in a given time unit. Execution time (Cycle time): Time is a common and universal measure of performance. The first measure of time is activity response cycle time. Activity response cycle time corresponds to activity instance execution time [8]. Timeliness: Quality of information includes having information timely and available when required [34]. This requirement was translated to response time. Response time of a system is the interval between a user’s request and corresponding system’s response [27]. Response time can be adapted for the time that an input set/an output set required to be delivered as well as activities that should be executed in a due time. Cost: Activity execution cost represents the cost associated with the execution of an activity in a business process. Cost is an important factor, since organizations need to operate according to their financial plan [8]. Besides activity cost, input acquisition cost also should be considered in calculating cost of a business process. Input acquisition fixed cost as well as input acquisition variable cost should be considered as elements of input acquisition cost in this calculation. 4.2 Efficiency Efficiency is considered as one of the fundamental elements of a well-designed process besides effectiveness and flexibility [44]. In this paper, efficiency as a quality dimension includes the resource efficiency (none-financial resources), time efficiency and cost efficiency quality factors. Resource efficiency: Utilization was considered as one of the quality factors that should be assigned to resources [36]. This can be translated to resource efficiency factor of an activity which shows how much an activity is successful in using a resource(s) (input set(s)) in an efficient way. Time efficiency: For executing any activity in a business process, the goal is to spend the planned time for its execution or even less. This quality factor is reflected in activity time efficiency. Cost efficiency: In area of manufacturing, process cost efficiency is measured in terms of total processing cost. The idea is to develop, produce, and deliver products at the lowest possible cost [3]. For a business process, cost efficiency can be calculated separately for activity execution cost and input acquisition cost. 4.3 Reliability The basic objective in reliability engineering is to predict when a system will fail, be it a probe to Mars, your website, a banking transaction, or the space shuttle [27].
94
F. Heidari, P. Loucopoulos, and Z. Kedad
Therefore, regarding the importance of business process in delivering business goals, this quality dimension should be considered, defined and calculated for a business process. Maturity and recoverability are the factors of this quality dimension. Maturity: Maturity of software is the capacity of the software to avoid failures caused in the software itself [37]. In another definition, maximum number of errors in an interval evaluates the maturity. Considering definition of maturity and adapting it to a business process with respect to expectations from a business process, this quality factor can be adopted for assigning to activity as a business process ontological construct. Recoverability: The recoverability of a system is the capacity to re-establish its adequate level of performance with minimum loss of data. The time to recover and the time required to restart the system are the elements of recoverability [37]. This quality factor is related to activities and input sets of business processes. 4.4 Security Quality of information includes several items such as having information accessible to appropriate parties [34]. Security also was considered as a quality factor for a resource [36]. This can be translated that an input set whether in form of a piece of information or a raw material, etc. just can be used by authorized activities. This titled as input set security. Therefore, security of an input set will be violated in case of being used by a non-authorized activity. The concept of security can be adapted to activity as well, meaning that some actors have the right to execute an activity. This titled as activity security. Thus, security of an activity will be violated in case of being executed by a non-authorized actor(s) (swimlanes). 4.5 Availability The availability is defined as a measure of readiness for usage in quality of service domain [37]. Availability was categorized as customer requirement in TQM approach [36]. Availability is the measure of the probability the system will be up [27]. The two elements that impact availability are [27]: • Frequency of outages/Mean Time To Failure (MTTF) • Duration of outage/ Mean Time To Repair (MTTR) Regarding this concept of availability, this quality dimension can be adopted to input set as one of the ontological constructs of a business process. The quality dimensions and factors we have identified and adapted in this section explicitly incorporated a wide variety of requirements. We have presented quality dimensions and factors as a set of concepts directly related to specific components of the generic business process meta-model. The identification of these quality dimensions and factors will help in assessing the quality of business processes. In the following section, we will describe our quality oriented meta-model.
A Quality-Oriented Business Process Meta-Model
95
5 Quality-Oriented Meta-Model Enriching business process meta-model with quality information provides us with a unified and formal expression of the quality of a business process. In order to build a quality-oriented meta-model, there is a need for assigning the corresponding quality information to the corresponding business process constructs. For each quality dimension considered in the previous section, we will enrich the business process meta-model with quality information that describes the different factors of the considered dimension. The resulting meta-model is shown in Fig. 6. We have used UML class diagram to represent our quality-oriented meta-model (Figure 6). Business process constructs are shown in white classes in Figure 1. Relationships between business process constructs are shown via different associations. Quality factors are shown in grey classes. Different types of these quality aspects were shown via inheritance relationships.
Fig. 6. Quality-oriented meta-model
96
F. Heidari, P. Loucopoulos, and Z. Kedad
Quality-oriented business process meta-model as a formal representation of quality requirements of business process constructs not only provide us with a unified view of all possible constructs of a business process and their related quality dimensions and factors but will also serve as a basis for business process quality evaluation. It will be used for quality modeling and business process redesign and will help the practitioners to consider quality requirements of a business process in earliest stages.
6 Conclusion and Future Work In order to assess the quality of business processes, one has to understand the goals and quality requirements as articulated by different stakeholders in first instance. The work presented in this paper is based on this premise. To achieve this goal, we have first built a business process meta-model considering concepts of several business process modeling techniques. This provided us a language-independent business process meta-model. By investigating the areas of workflow, business and management, and software engineering in next step, we have then identified and/or adapted different quality dimensions and factors and we have assigned them to the different constructs of a business process model. These quality dimension and factors explicitly incorporated a wide variety of requirements and will serve as a basis for their evaluation. Finally, we have proposed a quality oriented business process meta-model as a formal representation of quality requirements of business process constructs by enriching our initial business process meta-model with all the quality information required to effectively evaluate a set of quality factors. This quality-oriented metamodel is beneficial in area of quality modeling, quality evaluation and business process redesign. Future works include the implementation of an environment for business process quality evaluation based on our quality meta-model and conducting experiments to validate our approach. Another aspect we are interested in is quality analysis, consisting in exploiting the results of previous quality evaluations to characterize the possible relationships existing between the different quality factors.
References 1. Adam, S., Reigel, N., Doerr, J.: The Role of Quality Aspect for the Adequacy of Business Process and Business Information Systems. International Journal of Business process Integration and Management 4, 124–133 (2009) 2. An, L., Jeng, J.J.: On Developing System Dynamics Model for Business Process Simulation. In: Proceedings of the 2005 Winter Simulation Conference, Orlando, FL, USA, pp. 2068–2077 (2005) 3. Angeles, R.: Anticipated IT Infrastructure and Supply Chain Integration Capabilities for RFID and their Associated Deployment Outcomes. International Journal of Information Management 29, 219–231 (2009) 4. Anupindi, R., Chopra, S., Deshmukh, S.D., et al.: Managing Business Process Flows. Prentice-Hall, Inc., Upper Saddle River (1999)
A Quality-Oriented Business Process Meta-Model
97
5. Bachmann, F., Bass, L., Klein, M.: Moving from Quality Attribute Requirements to Architectural Decisions. In: Second International Software Requirements to Architectures (STRAW 2003), Portland, USA (2003) 6. Barjis, J.: The Importance of Business Modeling in Software Systems Design. Science of Computer programming 71, 73–87 (2008) 7. Boehm, B.: Aids for Identifying Conflicts among Quality Requirements. In: International Conference on Requirements Engineering, ICRE 1996, Colorado, USA (1996) 8. Cardoso, J., Miller, J., Arnold, J.: Modeling Quality of Service for Workflows and Web Service Processes. LSDIS Lab, Computer Science, University of Georgia. #02-200 (2002) 9. CMMI Product Team: Capability Maturity Model Integration, CMMI SM for System Engineering and Software Engineering. 1.1 edn. Carnegie Mellon University. CMU/SEI2002-TR-001, ESC-TR-2002-001 (2002) 10. Dale, B.G., van der Wiele, D.T., van Iwaarden, J.: Managing Quality. Blackwell Publishing Ltd., Singapore (2007) 11. Donzelli, P., Bresciani, P.: Improving Requirements Engineering by Quality Modelling – A Quality-Based Requirements Engineering Framework. Journal of Research and Practice in Information Technology 36, 277–294 (2004) 12. Eriksson, H., Penker, M.: Business modeling with UML: Business Patterns at Work. Wiley Publishing, New York (2000) 13. Eriksson, H., Penker, M., Lynos, B., et al.: UML 2 Toolkit. Wiley Publishing, Indianapolis (2004) 14. Evans, J.R., Lindsay, W.M.: The Management and Control of Quality, 6th edn. SouthWestern College Publishing (Thomson Learning), Cincinnati (2004) 15. Feldmann, C.G.: Practical Guide to Business Process Reengineering Using IDEF0. Dorest House Publishing, New York (1998) 16. Garvin, D.A.: Competing on the Eight Dimensions of Quality. Harvard Business Review 65, 101–109 (1987) 17. Glinz, M.: On Non-Functional Requirements. In: 15th IEEE International Requirement Engineering Conference, Delhi, India, pp. 21–26 (2007) 18. Glinz, M.: Improving the Quality of Requirements with Scenarios. In: Proceedings of the Second World Congress for Software Quality (2WCSQ), Yokohama, pp. 55–60 (2000) 19. Guceglioglu, A.S., Demirors, O.: Using Software Quality Characteristics to Measure Business Process Quality. In: van der Aalst, W.M.P., Benatallah, B., Casati, F., Curbera, F. (eds.) BPM 2005. LNCS, vol. 3649, pp. 374–379. Springer, Heidelberg (2005) 20. Heckl, D., Moormann, J.: Process performance management. In: vom Brocke, J., Rosemann, M. (eds.) Handbook on Business Process Management, vol. 1, pp. 115–135. Springer, Berlin (2010) 21. Heravizadeh, M., Mendling, J., Rosemann, M.: Dimensions of business processes quality (QoBP). In: Ardagna, D., Mecella, M., Yang, J. (eds.) Business Process Management Workshops. Lecture Notes in Business Information Processing, vol. 17, pp. 80–91. Springer, Heidelberg (2009) 22. Heravizadeh, M., Mendling, J., Rosemann, M.: Root Cause Analysis in Business Processes. Qut eprint, Queensland University of Technology (2008) 23. International Organization for Standardization (ISO): ISO 9000:2000, Quality Management Systems - Fundamentals and Vocabulary (2005), http://www.Iso.org/iso/catalogue_detail?csnumber=29280 24. Kaplan, R.S., Norton, D.P.: Putting the Balanced Scorecard to Work. Harvard Business Review 71, 134–147 (1993)
98
F. Heidari, P. Loucopoulos, and Z. Kedad
25. Khan, M.I.: Industrial engineering. New Age International Pvt Ltd Publishers, New Delhi (2009) 26. Kueng, P.: Process Performance Measurement System: A Tool to Support Process-Based Organizations. Total Quality Management 11, 67–85 (2000) 27. Laird, L.M., Brennan, M.C.: Software Measurement and Estimation: a Practical Approach. In: Bernstein, L. (ed.) Quantitative Software Engineering Series. John Wiley & Sons, Hoboken (2006) 28. Lindsay, A., Downs, D., Lunn, K.: Business Processes—Attempts to Find a Definition. Information and Software Technology 45, 1015–1019 (2003) 29. List, B., Korherr, B.: An Evaluation of Conceptual Business Process Modelling Languages. In: SESSION: Organizational Engineering (OE), Proceedings of the ACM Symposium on Applied Computing, Dijon, France, pp. 1532–1539 (2006) 30. Loucopoulos, P., Garfield, J.: The Intertwining of Enterprise Strategy and Requirements. In: Lyttinen, K., Loucopoulos, P., Mylopoulos, J., et al. (eds.) Design Requirements Engineering: a Ten-Year Perspective, pp. 352–375. Springer, Cleveland (2009) 31. Luo, W., Tung, Y.A.: A Framework for Selecting Business Process Modeling Methods. Industrial Management & Data Systems 99, 312–319 (1999) 32. Mayer, R.J., Menzel, C.P., Painter, M.K., et al.: Information Integration for Concurrent Engineering (IICE): IDEF3 Process Description Capture Method Report (1995) 33. Melao, N., Pidd, M.: A Conceptual Framework for Understanding Business Process and Business Process Modelling. Information Systems Journal 10, 105–129 (2000) 34. Moeller, R.R.: Sarbanes-Oxley Internal Controls: Effective Auditing with AS5, CobiT and ITIL. John Wiley & Sons, NJ (2008) 35. Murdoch, J., McDermid, J.A.: Modeling Engineering Design Processes with Role Activity Diagrams. Journal of Integrated Design and Process Science 4, 45–65 (2000) 36. Oakland, J.S.: Total Quality Management Text with Cases, 3rd edn. Elsevier ButterworthHeinemann, Oxford (2004) 37. Object Management Group: UMLTM Profile for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms Specification. 1.1 edn. formal (April 5, 2008) 38. Object Management Group: BPMN Execution Level Metamodel: Simple Control Flow Partition (2002), http://www.Bpmn.org/Documents/NWG-2002-01-04R2_ BPMN_Metamodel.Pdf 39. Peralta, V., Goasdoué-Thion, V., Kedad, Z., et al.: Multidimensional Management and Analysis of Quality Measures for CRM Applications in Electricity Company. In: Proceedings of the 14th International Conference for Information Quality (ICIQ), Potsdam, Germany (2009) 40. Powell, S.G., Schwaninger, M., Trimble, C.: Measurement and Control of Business Processes. System Dynamics 17, 63–91 (2001) 41. Scheer, A.W.: Business Process Engineering, 2nd edn. Springer, Berlin (1994) 42. Scheer, A.W., Thomas, O., Adam, O.: Process Modeling Using Event-driven Process Chains. In: Dumas, M., van der Aalst, W.M.P., ter Hofstede, A.H.M. (eds.) (Hrsg.): Process-Aware Information Systems: Bridging People and Software Through Process Technology, pp. 119–145. Wiley, Hoboken (2005) 43. Shaw, D.R., Holland, C.P., Kawalek, P., et al.: Elements of a Business Process Management System Theory and Practice. Business Process Management 13, 91–107 (2007) 44. Trischler, W.E.: Understanding and Applying Value-Added Assessment: Eliminating Business Process Waste. ASQC Quality Press, WI (1996)
A Quality-Oriented Business Process Meta-Model
99
45. Vanderfeesten, I., Cardoso, J., Mendling, J., et al.: Quality Metrics for Business Process Models. In: Fischer, L. (ed.) BPM & Workflow Handbook 2007, pp. 179–190. Future Strategies Inc., Lighthouse Point (2007) 46. White, S.A., Miers, D.: BPMN Modeling and Reference Guide. Future Strategies Inc., Lighthouse Pt (2008) 47. Zgorzelski, M., Zeno, P.: Flowcharts, Data Flows, SADT, IDEF and NIAM for Enterprise Engineering. In: Doumeingts, G., Browne, J. (eds.) Modeling Techniques for Business Process Re-engineering and Benchmarking, 1st edn., pp. 71–81. Chapman & Hall, London (1979)
Can BPMN Be Used for Making Simulation Models? Giancarlo Guizzardi1 and Gerd Wagner2 1
Computer Science Department, Federal University of Espírito Santo (UFES), Av. Fernando Ferrari, s/n29060-970 Vitória, Espírito Santo, Brazil
[email protected] 2 Institute of Informatics, Brandenburg University of Technology, P.O. Box 101344, 03013 Cottbus, Germany
[email protected] Abstract. We investigate the question if BPMN can be used for simulation modeling by evaluating it against ABDESO, a foundational ontology for agentbased discrete event simulation. Since a simulation model is intended to capture a real-world system, BPMN, if used as the modeling language for making the simulation model, should have a “real-world semantics” based on a foundational ontology for agent-based discrete event simulation. Keywords: BPMN, agent-based simulation, foundational ontology.
1 Introduction Business process management (BPM) includes both business process modeling and business process simulation. Often, the animation of a business process model is considered to be a business process simulation. However, such a simulation is not really business simulation in the full sense, since this is rather understood as a simulation of the business system, and not of just one of its processes. A business system is a social system (an organization) having one or more actors that are involved in zero or more business processes at any time. Since actors are essential for business systems, it is natural to use agent-based simulation for business simulation. The Business Process Modeling Notation [1] is today’s de-facto business process modeling standard. It is considered to be understandable by all kinds of users, from the business analysts who create the initial drafts of the business processes, to the technical developers responsible for writing the software applications that will perform those processes, and finally, to the business people who will manage and monitor them. BPMN can be used both for making intuitive, non-executable business process models and for making executable models, such as needed for business process simulation. In this paper, we investigate the question if a business system simulation model can be obtained by a set of executable BPMN models, which exhaustively describe its process types together with the actors participating in them. We approach this question by evaluating BPMN against ABDESO, a foundational ontology for agentbased discrete event simulation that has been proposed in [11]. Since a simulation model is intended to capture a real-world system, BPMN, if used as the modeling J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 100–115, 2011. © Springer-Verlag Berlin Heidelberg 2011
Can BPMN Be Used for Making Simulation Models?
101
language for making the simulation model, should have a “real-world semantics” based on a foundational ontology for agent-based discrete event simulation. In recent years, there has been a growing interest in the application of foundational ontologies (also known as upper level, or top-level ontologies) for providing realworld semantics for conceptual modeling languages, and theoretically sound foundations and methodological guidelines for evaluating and improving the models made using these languages. While the value of an ontologically well-founded conceptual modeling language is widely acknowledged in the areas of information system and software system engineering, as indicated by the great number of recent publications in this area, the issue of investigating the ontological foundations of simulation languages did not yet receive much attention in the scientific literature. While there are several research papers on the ontological foundations of organization and business process modeling (see section 2), there has been no attempt yet to demonstrate the value of an ontologically well-founded modeling language for ABS. The main benefit obtained from establishing the onto-logical foundations of the core concepts of agent-based modeling languages is a clarification of their real world semantics. An ontological semantics of a simulation modeling language leads to a higher overall quality of the simulation models expressed in that language with respect to comprehensibility, maintain-ability, interoperability and evolvability. In a series of publications [6], [7], [8], [9] we have reported about our project for developing a foundational ontology called “UFO” (for Unified Foundational Ontology) by employing theories from Formal Ontology, Cognitive Psychology, Linguistics, Philosophy of Language and Philosophical Logics. The core of UFO has been established through the development of an ontology of endurants by the first author in [5] This foundational ontology has been successfully applied in the analysis of several important conceptual modeling constructs such as Roles, Types, PartWhole Relations, Attributes, and Datatypes, among others. While the ontological foundations of basic DES have been analyzed in [10], using the discrete event system ontology DESO based on the UFO layers A and B (about objects and events), the ontological foundations of agent-based DES have been analyzed in [11], using the agent-based discrete event system ontology ABDESO based on the UFO layer C about agents. The remaining of this article is organized as follows. In section 2, we discuss some related work. Section 3 contains a summary of UFO, and of ABDESO. Then, in sec-tion 4, we summarize the essentials of BPMN, and finally, in section 5, we use ABDESO for evaluating the suitability of BPMN as a business simulation modeling language.
2 Related Work In [3], using the Web ontology language OWL, an ontology defining an agent-based simulation framework is presented and possibilities for using OWL’s automated reasoning capabilities are discussed. In [12], it is proposed to use ontologies (in the sense of conceptual domain models) for making the scientists’ conceptual models more coherent with the simulation program code. This amounts to making an explicit conceptual model (using UML and/or OWL) before starting to code a simulation. However, although the paper refers to philosophical work on ontologies, foundational ontologies are not considered.
102
G. Guizzardi and G. Wagner
There is a large body of work, in which foundational ontologies are used for evaluating business process modeling languages, see, e.g [4]. As an example of more recent work on investigating the ontological foundations of multi-agent systems, see [2], in which the ontological modeling of organizations is discussed. So, while there have been several proposals about how to use ontology engineering technologies, such as OWL, in agent-based simulation engineering, and there is a large body of work on using foundational ontologies for evaluating business process modeling languages, including BPMN, we were not able to find any work on the evaluation of BPMN as a business simulation language.
3 UFO and ABDESO Since the development of UFO is an ongoing project, we use a simplified version of it, called Essential Unified Foundational Ontology (eUFO), which restricts both the breadth and the depth of UFO, and simplifies its philosophical terminology, harmonizing it with informatics terminology as much as possible. In this section, for making the present paper self-contained, we briefly summarize the base layer of eUFO, called eUFO-0, as well as its layer eUFO-A about substance individuals and trope individuals, and its layer eUFO-B about events, using UML class diagrams. These layers of eUFO have been more extensively discussed in [10]. eUFO-0 defines a number of basic ontological categories, as depicted in Figure 1 below, making a fundamental distinction between individuals, which are things that exist in time and space in “the real world” and have a unique identity, and universal, which are feature-based classifiers that classify, at any moment in time, a set of individuals with common features.
Fig. 1. eUFO-0 − the base layer of eUFO
We distinguish between three kinds of individuals: substance individuals, trope individuals and events. As opposed to substance individuals, trope individuals can only exist in other individuals, i.e., they are existentially dependent on other individuals. The distinction between substance individuals and events can be understood in terms of their relationship to time. Substance individuals are wholly present whenever they are present, i.e., they are in time. Events happen in time, they may have temporal parts.
Can BPMN Be Used for Making Simulation Models?
103
3.1 Substance Individuals, Attributions, Relationships and References Examples of substance individuals are: the person with name “Gerd Wagner”, the moon, or an amount of sand. Examples of events are: today’s rise of the sun, my confirmation of an e-commerce purchase order through clicking the OK button, or the Second World War. Examples of trope individuals are: the redness of John’s T-shirt, Giancarlo’s employment with UFES, or my daughter’s belief in God. The ontology of substance individuals and trope individuals forms the UFO layer A, which is depicted in Figure 2, while the ontology of events forms the UFO layer B, which is depicted in Figure 3. There are two kinds of trope individuals: (a) Intrinsic trope individuals can be qualities such as an individualized color or a temperature, and modes such as a skill, a belief, or an intention; (b) Relational trope individuals or relators: a medical treatment, a purchase order, or a social commitment. While qualities and modes depend on one single individual (their bearer), in which they inhere, relators depend on two or more individuals (their relata), which they mediate. We distinguish between the color of a particular apple (as a quality of the apple) and the color data value that we associate with this quality in an attribution (with the help of an attribute). This data value is a member of the value space of the data type of the attribute. As an example, consider the attribute hairColor, which is applicable to persons, and associated to a datatype with a value space consisting of color names. Then, the triple <john, hairColor, grey> represents an attribution that makes the sentence “The hair color of John is grey” true. While a formal relationship, such as [Brandenburg is part of Germany], holds directly, for a material relationship, such as [Paul is being treated in the medical unit M], to exist, something else, which mediates the involved individuals (Paul and M), must exist. Such a mediating individual with the power of connecting individuals is called a relator. For example, a medical treatment connects a patient with a medical
Fig. 2. eUFO-A − an ontology of substance individuals
104
G. Guizzardi and G. Wagner
unit; an enrollment connects a student with an educational institution; a covalent bond connects two atoms. In general, relators are founded on events. In a correspondence theory of truth (such as Tarski’s semantics of predicate logic), attributions, references and relationships are considered as “truth makers” (“facts”) that make corresponding sentences true. 3.2 Events Events are individuals that may be composed of temporal parts. They happen in time in the sense that they may extend in time accumulating temporal parts. An event cannot exhibit change in time like a substance individual.
*
Fig. 3. eUFO-B − an ontology of events
Figure 3 depicts the core fragment of the eUFO-B ontology of events, which can be atomic or complex, depending on their mereological structure. Events existentially depend on their participants in order to exist. For instance, in the event of Caesar being stabbed by Brutus, we have the participation of Caesar himself, of Brutus and of the knife. Each of these participations is itself an event (an object participation event), which existentially depends on a single object. Special cases of object participation events are object creation, object change and object destruction events. Events may change the real world by changing the state of affairs from a pre-state situation to a post-state situation. Each situation is determined by a set of associated object snapshots and a set of associated material relationships holding between the involved objects, where an object snapshot is a set of attributions and references of a particular object. 3.3 Universals Universals classify individuals, which are said to be their instances. The set of all instances of a universal is called its extension. We consider seven kinds of universals: event types, object types, quality universals, attributes, relator universals, reference properties and material relationship types. There are other kinds of universals, but these seven are the most relevant for conceptual modeling.
Can BPMN Be Used for Making Simulation Models?
105
Fig. 4. eUFO-U − an ontology of universals (types)
While the notions of attribute, relationship type and reference property are wellknown in computer science in the area of information and database modeling, their ontological foundation in connection with quality universals and relator universals is not well-known. Different Kinds of Object Types We distinguish between the different kinds of object types shown in Figure 5.
Fig. 5. The different kinds of object types of eUFO-U
While all object types carry a principle of application, only sortal types carry a principle of identity for their instances. A principle of application allows to judge whether an individual is an instance of that object type. In contrast, a principle of identity allows to judge whether two individuals are the same. Non-sortal types, such as RedThing, are called mixin types. Within the category of sortal types, we make a further distinction based on the formal notions of rigidity and anti-rigidity: A sortal type U is rigid if for every instance x of U, x is necessarily (in the modal sense) an instance of U. In other words, if x instantiates U in a given world w, then x must instantiate U in every possible world w’. In contrast, a sortal type U is anti-rigid if for every instance x of U, x is
106
G. Guizzardi and G. Wagner
possibly (in the modal sense) not an instance of U. In other words, if x instantiates U in a given world w, then there must be a possible world w’ in which x does not instantiate U. We call a rigid sortal type a base type. For any anti-rigid object type A, there is a unique ultimate base type B, such that: (i) A is a subtype of B; (ii) B supplies the unique principle of identity obeyed by the instances of A. There is a specialization condition SC such that x is an instance of A iff x is an instance of B that satisfies SC. A further clarification on the different types of specialization conditions allows us to distinguish between two different kinds of anti-rigid object types: roles and phase types. Phase types constitute possible stages in the history of an individual. For any role (e.g. Student) there is an underlying binary material relationship type or reference property (e.g. students) such that the extension of the role (e.g. the set of current students of an educational institution) is the range of that reference property. Quality Universals and Attributes A quality universal classifies individual qualities of the same type. A quality universal can be associated with one or more datatypes, such that any particular quality corresponds to a specific data value from the value space of the datatype. The association between qualities from some quality universal and the corresponding data values from an associated datatype is provided by an attribute, which is a universal that classifies attributions. A quality universal can be captured by one or more corresponding attributes, each of them based on a different datatype. E.g., the quality universal “hair color” could be captured by an attribute with the range of RGB byte triples or by an attribute with the range of natural language color names. Consequently, we may have more than one attribution for a particular quality, one for each associated attribute. Relator Universals, Material Relationship Types and Reference Properties A relator universal classifies individual relators of the same type. The material relationship type R induced by a relator universal R classifies all material relationships induced by relators from R. Since each material relationship corresponds to a tuple, R also has a tuple extension (i.e. a relation in the sense of set theory). A material relationship type is a universal that classifies material relationships, which are ‘truth makers’ for material relationship statements. A reference property represents a binary material relationship type, corresponding to a relator universal whose instances mediate exactly two individuals. Its tuple extension is a subset of the Cartesian product of the extensions of the two involved types. The first type is called the domain, and the second one the range of the reference property. 3.4 DESO - A Foundational Ontology for Basic DES We summarize DESO, a foundational Discrete Event System Ontology on the basis of eUFO, proposed in [10].
Can BPMN Be Used for Making Simulation Models?
107
The Run-Time Ontology DESO-I
Fig. 6. The categories of individuals, as defined by DESO-I
In DESO-I, for simplicity, we assume that there are only binary relationships, which are represented by references specifying an object as the value of a reference property. An atomic fact is either a reference or an attribution, as depicted in Figure 6. Notice that in conceptual modeling, and in simulation modeling, we are not really interested to consider all the things that constitute a real-world system. We call those things, in which we are interested, entities, including: physical objects, events and certain material relationships. This choice implies that we do not want to include more abstract concepts, like relators or qualities, in a simulation model. All these kinds of entities are classified with the help of entity types, as explained in the next Subsection. Entity types allow describing the entities classified by them with the help of attributes and reference properties. Since we also want to be able to describe certain material relationships in this way, it is natural to subsume them under the concept of entities. The Design-Time Ontology DESO-U At design-time, we describe a discrete event system by defining the various entity types, the instances of which are part of the running system. In addition to the base concept data type from eUFO-0, also the concepts of (physical) object types, attributes and reference properties from eUFO-U are needed in DESO for allowing to represent abstractions of discrete event systems. In particular, the concepts of object types and event types are needed. Being special kinds of entity types, both object types and event types have attributes and reference properties, as depicted in Figure 7.
108
G. Guizzardi and G. Wagner TransitionRule
* *
1
*
* triggering EventType 1 type Event
Datatype
*
resultingEventTypes
1
participants
type
Object
* *
* Attribute
EventType *
range
domain
* 1
participantTypes
ObjectType *
1
1 PhysicalObjectType *
domain
*
type PhysicalObject
range
EntityType
1
1 *
Reference Property
Fig. 7. The categories of types, as defined by DESO-U
3.5 ABDESO - A Foundational Ontology for ABS We now summarize ABDESO, our agent-based discrete event system ontology, which extends DESO by adding the concept of agents and other concepts related to agency. Clearly, agents are special objects subsuming not only human beings, but also all kinds of living beings (including insects and bacteria), social systems (such as organizations), and also certain artificial systems (such as robots). All these objects are interactive systems that are able to interact with passive objects in their environment, or with each other, in a purposeful way. The question what constitutes interaction is closely related to the question of what is an action. In philosophy, this question has been approached by asking how to distinguish “the things that merely happen to people − the events they undergo − and the various things they genuinely do”, as [13] has put it. We define actions to be those events that are the direct result of the purposeful behavior of an interactive system. Notice that this definition does not exclude higher-level action concepts such as intentional actions, which we consider to be a special case of our more general action concept. So, we do not require an agent to have a mental state with beliefs and intentions, as it is common in ‘realistic’ philosophical theories of humans as cognitive subjects, and also in Artificial Intelligence approaches to multi-agent systems, in particular in the popular Belief-Desire-Intention (BDI) approach. Rather, we want to be able to characterize interactive systems as special objects that are distinct from passive objects, no matter if an interactive system can be considered intentional or not. It is obvious that we have to include in our account of interactive systems the concepts of perception and action. We include both of them as special kinds of events, viz perception events and action events. For being able to model communication as a special kind of interaction between agents, we introduce the concepts of a message and a communication event. The influence of perceptions on the actions of an agent is given by its reactive behavior, which is based on behavior patterns in the form of reaction rules. A perception event may lead, via a reaction rule, to a resulting action of the agent in
Can BPMN Be Used for Making Simulation Models?
109
response to the event, or to an update of the agent’s information state, which may include beliefs. We assume that beliefs are expressed as belief statements in the agent’s belief representation language. The influence of actions, and other events, on the perceptions of an agent is given by the causal laws of the agent’s environment, taking the form of transition rules, (depicted in Fig. 7 about DESO-U), which determine the caused perception events.
Fig. 8. The basic categories of ABDESO
Beliefs are part of the agent’s information state, which is the agent’s basis for making action decisions. Simple belief statements take the form of entity-propertyvalue triples, which are special cases of atomic sentences of predicate logic. These concepts are depicted in Figure 8. A communication event is a complex event consisting of an in-message event (being a special case of a perception event) and an out-message event (being a special case of an action event). This is described in Figure 9.
Fig. 9. In-message events and out-message events
110
G. Guizzardi and G. Wagner
We claim that these seven concepts: perception events, action events, messages and communication events, consisting of out-message events and in-message events, as well as beliefs, as depicted in Figures 8 and 9, form the foundation of an ontological account of agents as interactive systems, no matter if agents are intentional or not. In the next section, we add a few more concepts to this foundation, for being able to account for business systems, or organizations, as institutional agents. Organizations as Institutional Agents An agent type is associated with reaction rules, which define the reactive behavior of agents of that type. When a reaction rule is triggered by a perception event, this may result in zero or more action events. Any agent has exactly one agent base type and, in addition, may have zero or more agent roles representing roles defined by an institutional agent (such as an organization) and played by the agent as a subagent of the institutional agent. The role's reactive behavior rules define implicit duties to react to certain events (resp. incoming messages). The institutional agent's reactive behavior rules define the delegation of processing incoming messages to subagents.
Fig. 10. Agent role types and institutional agents
4 Soundness and Completeness of Simulation Languages In order for an ABS model M to faithfully represent an agent-based discrete event system abstraction A, the simulation language L used to make M should faithfully represent the conceptualization of -based discrete event systems used to conceive the abstraction A. An ABS language can be evaluated by comparing a representation of its concepts (typically provided by a metamodel of the language) to an ontology of
Can BPMN Be Used for Making Simulation Models?
111
agent-based discrete event systems. The stronger the match between them, the easier it is to communicate and reason with models made in that language. Since ABDESO represents a general conceptualization of agent-based discrete event systems, it can also serve as a reference ontology for evaluating the simulation languages of ABS frameworks. For any given ABS language L, we may consider (1) a representation mapping from the concepts of ABDESO to the elements (or modeling primitives) of L and (2) an interpretation mapping from the elements of L to the concepts of ABDESO. If these mappings are far from being isomorphisms, this may indicate deficiencies (soundness and completeness problems) of L. There are four properties of an ABS language to be checked in its evaluation: 1.
2.
3.
4.
Soundness: L is sound wrt ABDESO iff every element of L has an interpretation in terms of a domain concept from ABDESO. The degree of soundness can be measured relatively as the number of L elements that have an ABDESO interpretation divided by the total number of L elements. Completeness: L is complete wrt ABDESO iff every ABDESO concept is represented by a modeling primitive of L. The degree of completeness can be measured relatively as the number of ABDESO concepts that are represented by an element of L divided by the total number of ABDESO concepts. Lucidity: L is lucid wrt ABDESO iff every element of L has at most one interpretation in ABDESO. The degree of lucidity can be measured relatively as the number of L elements that have at most one interpretation in ABDESO divided by the total number of L elements. Laconicity: L is laconic wrt ABDESO iff every domain concept from ABDESO is represented by at most one element of L. The degree of laconicity can be measured relatively as the number of ABDESO concepts that are represented by at most one element of L.
The lower these degrees are for a given ABS language, the more problems may be expected from using a model expressed in it, e.g. by communicating incorrect information and inducing the user to make incorrect inferences about the semantics of the domain. We now apply the described method for providing a brief evaluation of the soundness and lucidity of BPMN.
5 BPMN In this section, we provide a brief summary of the essential BPMN constructs (which are described in the metamodel shown in Figure 8). BPMN defines Business Process Diagrams, which may describe processes of different types. We focus on modeling proprietary (also called “private”) business processes, i.e. processes that allow a complete pre-scriptive specification of their workflow since they happen within one domain of control. Notice that what is called a Process in BPMN, is, in fact, rather a process type or process specification. The same terminological looseness also holds for most other BPMN terms (e.g. an Event is an event type).
112
G. Guizzardi and G. Wagner
A Process may be associated with a Pool, which is visually rendered as a rectangular container and corresponds to the business actor, or Participant, “owning” the process. A Pool may be compartmented into several Lanes, informally representing associated actors, each containing some part of the Process associated with the actor under the same domain of control. A Process essentially consist of ‘flow objects’ (Events, Activities and Gateways), ‘connectivity objects’ (Sequence Flows, Message Flows and Associations) and ‘artifacts’ (like Messages and Data Objects).
Fig. 8. BPMN core elements
Events (rendered as circles) and Activities (rendered as rectangles with rounded corners) are sequenced with the help of Sequence Flows (rendered as solid arrows) and Gateways (rendered as diamonds), which allow for AND, XOR as well as OR splits and joins of control flow branches. Activities subsume Tasks, which represent atomic Activities (defined with the help of an attribute called taskType), and Sub-Processes. Tasks can be assembled into SubProcesses, for allowing reuse. Pools are connected through Message Flows that represent message exchange patters. Since BPMN is a process modeling language, a full simulation model may be obtained by combining an information model (e.g. in the form of a UML class model) with one or more BPMN process models.
6 Evaluation of BPMN We evaluate BPMN by considering 1) the interpretation of its core elements in ABDESO, and 2) the representation of the ABDESO core concepts with BPMN. Since we do not consider the issue of event composition in this preliminary analysis, we exclude Sequence Flows and Gateways from the core concepts under consideration. We also exclude the abstract super-concepts Flow Object, Event, Activity and Connectivity Object, which are non-terminals in the abstract syntax tree defined by the BPMN metamodel, and, therefore, do not really count.
Can BPMN Be Used for Making Simulation Models?
113
6.1 Evaluating Soundness and Lucidity As a result of our preliminary evaluation of BPMN, Table 1 lists the elements of a relevant BPMN subset together with their interpretation in ABDESO. Table 1. The ABDESO interpretation of BPMN elements BPMN element Pool Participant Lane Process Task Sub-Process Activity Start Event Intermediate Event End Event Message Message Event Message Flow Data Object Soundness (Lucidity)
ABDESO concept(s) Agent (Type), Physical Agent (Type) Agent (Type), Physical Agent (Type) Sub-Agent (Type) Complex Event Type Action Event Type Complex Event Type Event Type Event Type Event Type Message Type In-Message Event Type, Out-Message Event Type Communication Event Type Object Type 100% (70%)
As we can see from this table, the considered core subset of BPMN is 100% sound wrt ABDESO, since all elements of it have an ABDESO interpretation. It is 70% lucid with respect to ABDESO, since 4 out of 13 elements have more than one ABDESO interpretation. 6.2 Evaluating Completeness and Laconicity When evaluating the completeness and laconicity of BPMN with the help of a representation mapping, we do not include the abstract concepts of ABDESO (Entity, Fact Triple, Entity Type, Agent Type and Mental Mode). In general, such abstract concepts (or language elements) correspond to non-terminals in the abstract syntax tree defined by the ontology metamodel. They serve as auxiliary super-concepts, so they do not count as much as the concrete concepts, which are terminals. As we can see from Table 2 below, the considered core subset of BPMN is 60% complete wrt ABDESO, since 15 out of 25 ABDESO concepts can be represented in BPMN. It is 32% laconic wrt ABDESO, since 8 out of 25 ABDESO concepts have a unique representation. The high degree of incompleteness of BPMN results mainly from BPMN’s shortcomings in its information modeling capabilities. Unfortunately, the designers of BPMN decided to ignore object-oriented information modeling concepts, as defined by UML class diagrams. Therefore, BPMN does not support the concepts of attributes and reference properties for its Data Objects, which correspond to object types in weak sense, only.
114
G. Guizzardi and G. Wagner Table 2. The representation of ABDESO concepts in BPMN
DESO concepts (11) Object type Physical object type Attribute Datatype Reference property Atomic event type Complex event type Object destruction event type Object change event type Object creation event type Transition rule ABDESO concepts (14) Agent (base type) Agent role Physical agent (base type) Physical agent role Institutional agent (type) Sub-Agent (Type)
Action event type Perception event type Message type Communication event type Out-message event type In-message event type Belief (entity) type Reaction rule Completeness (Laconicity)
BPMN (4/2) Data object Data object
Start Event, Intermediate Event, End Event Process, Sub-Process Activity
BPMN (11/6) Participant, Pool Participant, Pool Participant, Pool Participant, Pool Participant, Pool Lane Task Message Message Flow Message Event Message Event
60% (32%)
7 Conclusions Using the Agent-Based Discrete Event Simulation Ontology (ABDESO), extending the Discrete Event Simulation Ontology (DESO), and derived from the Unified Foundational Ontology (UFO), we have evaluated the suitability of BPMN as a business simulation language. The preliminary result of 100% soundness suggests that the core elements of BPMN have been well-chosen. However, the results of only 70% lucidity, 60% completeness and 32% laconicity suggest that there are quite a few ambiguous elements, missing concepts, and redundant elements in BPMN. Our results are preliminary, since we did not yet investigate all relevant BPMN 2 elements, but only a core part of BPMN. In future work, we plan to extend our analysis to a more complete core fragment of BPMN and also discuss each identified deficiency in some detail.
Can BPMN Be Used for Making Simulation Models?
115
Acknowledgments. The research of the first author has been partially supported by FAPES (Grant #45444080/09) and CNPq (Grant #481906/2009-6 and Productivity Grant #309382/2008).
References 1. BPMN, The Business Process Modeling Notation, http://www.omg.org/spec/BPMN/ 2. Bottazzi, E., Ferrario, R.: Preliminaries to a DOLCE Ontology of Organizations. International Journal of Business Process Integration and Management 4(4), 225–238 (2009) 3. Christley, S., Xiang, X., Madey, G.: An Ontology for Agent-Based Modeling and Simulation. In: Proceedings of the Agent 2004 Conference (2004) 4. Green, P., Rosemann, M.: Business Systems Analysis with Ontologies. Idea Group Publishsing, USA (2005) 5. Guizzardi, G.: Ontological Foundations for Structural Conceptual Models, PhD Thesis, University of Twente, The Netherlands (2005) 6. Guizzardi, G., Falbo, R.A., Guizzardi, R.S.S.: Grounding Software Domain Ontologies in the Unified Foundational Ontology (UFO): The Case of the ODE Software Process Ontology. In: XI Ibero-American Workshop on Requirements Engineering and Software Environments (IDEAS 2008), Recife (2008) 7. Guizzardi, G., Wagner, G.: A Unified Foundational Ontology and some Applications of it in Business Modeling. In: Grundspenkis, J., Kirikova, M. (eds.) Proceedings of the CAiSE 2004 Workshops. Faculty of Computer Science and Information Technology, June 7-11, vol. 3, pp. 129–143. Riga Technical University, Riga (2004) 8. Guizzardi, G., Wagner, G.: Towards Ontological Foundations for Agent Modelling Concepts Using the Unified Fundational Ontology (UFO). In: Bresciani, P., Giorgini, P., Henderson-Sellers, B., Low, G., Winikoff, M. (eds.) AOIS 2004. LNCS (LNAI), vol. 3508, pp. 110–124. Springer, Heidelberg (2005) 9. Guizzardi, G., Wagner, G.: Using the Unified Foundational Ontology (UFO) as a Foundation for General Conceptual Modeling Languages. In: Poli, R. (ed.) Theory and Application of Ontologies. Springer, Heidelberg (2010) 10. Guizzardi, G., Wagner, G.: Towards an Ontological Foundation of Discrete Event Simulation. In: Johansson, B., Jain, S., Montoya-Torres, J., Hugan, J., Yücesan, E. (eds.) Proceedings of the 2010 Winter Simulation Conference, Baltimore. MD, USA, pp. 652– 664 (December 2011), http://www.informs-sim.org/wsc10papers/059.pdf 11. Livet, P., Müller, J.-P., Phan, D., Sanders, L.: Ontology, a Mediator for Agent-Based Modeling in Social Science. Journal of Artificial Societies and Social Simulation 13(1) (2010), http://jasss.soc.surrey.ac.uk/13/1/3.html 12. Wilson, G.: Action. In: Zalta, E.N. (ed.) The Stanford Encyclopedia of Philosophy (Fall 2009), http://plato.stanford.edu/archives/fall2009/entries/action/ 13. Guizzardi, G., Wagner, G.: Towards an Ontological Foundation of Agent-Based Simulation. In: Jain, S., Creasey, R.R., Himmelspach, J., White, K.P., Fu, M. (eds.) Proceedings of the 2011 Winter Simulation Conference, Phoenix, Arizona, USA (December 2011)
Performance Improvement in Healthcare Processes Reza Widjaya1, Frans van der Horst2, and Mamadou Seck1 1
Systems Engineering Section, TPM Faculty, Jaffalaan 5, 2600 BX Delft, The Netherlands 2 Reinier de Graaf Groep, Medical Laboratory, 2600 BX Delft, The Netherlands
[email protected] [email protected] [email protected] Abstract. This paper discusses the redesign of the clinical test order processes at a medium-sized Dutch hospital in the context of the extension of the Digital Order Entry information system. In the study, the waste in the current process is identified and quantified, and finally an alternative business process is proposed and assessed using modeling and simulation. The proposed approach led to the identification of substantial gain areas and provided additional insight in the requirements of the future information system. Keywords: Healthcare, business process redesign, modeling and simulation.
1 Introduction In 2008, healthcare costs represented up to 20% of the nation’s total public expenditure [1, 2]. It follows that an increase in healthcare costs can considerably affect public expenditure and can have a negative effect on people’s purchase power. Increasing labour productivity in the labour-intensive healthcare sector is one way to keep healthcare affordable. This can be realized in various ways. A frequent practice is the implementation of labour-saving innovations. However, technological developments have a price tag and are often considered a prime cause of increases in health expenditure. Another approach is to increase the efficiency of the working processes. Although this might seem an obvious and straightforward way, healthcare organizations only slowly adopt methodologies, such as Lean Six Sigma (LSS), Theory of constrain (TOC) and Business Process Redesign (BPR) for the improvement of business processes. This is caused by several reasons. A dominant factor is that the processes are optimized from a perspective of the healthcare professionals and hospital departments, to ensure high efficiency and productivity. Waiting queues have a beneficial effect on the latter aspects. So from a practical and economical view, healthcare organizations do not have strong arguments to improve their internal and patient logistics. From a patient perspective, however, waiting queues can be considered to be largely unnecessary and avoidable, apart from being very annoying. This requires a critical assessment of the efficiency of processes leading to products and services. J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 116–129, 2011. © Springer-Verlag Berlin Heidelberg 2011
Performance Improvement in Healthcare Processes
117
Because of the liberalization of healthcare ‘market’, economical aspects and patient satisfaction have become more prominent factors. For these reasons, hospitals last years started to adopt LSS, TOC, BPR and other less well defined methodologies to improve (patient) logistics. Although several cases of significant improvements have been observed, most hospitals do not structurally apply these reengineering tools for the improvement of working processes and patient logistics. This is mainly due to the fact that healthcare professionals generally are unfamiliar with the above mentioned tools needed for the reengineering of the business processes. It takes a lot of effort to implement these methodologies in daily practice of healthcare organizations. Therefore, in many hospitals these optimization projects rely on simple spreadsheets and static flowcharts, which do not give an adequate insight in the dynamics of and dependencies within complex multi-departmental and multi-actor processes. As a result of this, many of these projects do not meet the expectations. Another way to improve the efficiency of logistics could be the implementation of Electronic Patient Record (EPR) systems in hospitals. In spite of what might be expected, currently these systems in general do not lead to such an improvement. This is due to the fact that most EPR systems are of the so-called Gartner second generation. This means that the main focus of the EPR system is on registration and consulting of patient related information. These second generation systems do not include support of patient logistics. Such a function is only present in higher generations, which are scarcely implemented in hospitals. Typically, the introduction of EPR systems mainly leads to the adoption of existing processes to the (lack of) functionalities of the installed EPR. The improvement of the processes because of the introduction of an EPR is less often seen due of a lack of an organizational infrastructure to do so. The board of the medium-sized teaching hospital ‘Reinier de Graaf Group (RdGG)’ adopted the concept of Lean Six Sigma in 2009, as a method to structurally improve the required operational efficiency of the hospital. For this reason extensive ‘green-belt’ trainings were given to healthcare professional, to ensure optimal implementation of this concept. Based on the first results that were obtained, it was seen that in our hospital LSS was most successful to reduce waste in relatively simple and straightforward logistic workflows where the number of actors and departments are limited, such as with planned hip replacement surgery. In these cases, redundancy in activities, unnecessary use of resources and reduction of waiting time are the most abundant types of waste and therefore well suited for the methodology of LSS. In the beginning of 2009 the digital order entry (DOE) of laboratory diagnostics was introduced in RdGG as part of the EPR. Traditionally, laboratory testing is ordered by using paper forms. A straightforward routine diagnostic process is completed within several hours and at least nine actors and three departments are involved. That is, in the patient ward the physician decides what tests should be ordered for a patient, a nurse takes notes which are transferred by a ward secretary onto an ordering form. At the phlebotomy ward this information is transferred to the Laboratory information system. Next, a phlebotomist draws blood, which is transported to the central lab and processed by a lab technician. Finally, the results are authorized by a lab specialist, e.g. clinical chemist. This chain of actions is even more complex in the case of urgent samples and aberrant, potentially life threatening results.
118
R. Widjaya, F. van der Horst, and M. Seck
It is observed in the daily routine, that part of the ordering requests appears to be redundant. That is, from the point of view of the laboratory specialist there were no contextual arguments why an order was placed. It was considered that this type of redundancy (or ‘waste’ in LLS terms) might be reduced with the bed site introduction of digital order entry. Another obvious presumption was that with the introduction of DOE, the administrative chain of actions to place an order, could significantly be simplified by DOE. To be able to minimize these types of waste with DOE, without inflicting unwanted loss of quality, it is necessary to have a good insight into the causal relations within the processes. If these functional requirements are not known in advance, it is very plausible that with the implementation of DOE not all waste is removed. For the analysis of the current situation the recently introduced LSS methodology was used. This led to a good understanding and quantification of operational waste in the existing context. On the other hand the LSS approach seemed not to be suited to analyze the impact of the implementation of DOE on the future test ordering processes. This is mainly due to the fact that healthcare professional do have difficulties to describe the impact of the future use of DOE on the daily practice. This phenomenon is aggravated because of the complex multi-actor and multi-departmental characteristics of these ordering processes. It was reasoned that the impact of the digital workspace on the future processes could be analyzed with the use of discrete simulation modeling. The waste of the future situation could be quantified and minimized with the combination with LSS methodology. In this study we explored the validity of such a “waste-based” simulation in the complex multi-actor multi-departmental situation of digital order entry of clinical chemistry testing in a clinical ward of a middle sized hospital. Based on past user experience, the study mainly focused on two types of waste. Firstly, the prevalence of unnecessary blood draws. These are patient unfriendly and cost intensive. Secondly, redundant activities within the ordering chain, because minimizing the number of actions will increase efficiency of the process and reduce errors and thereby improving the quality of the care provided to the patient. In section 3, we give a more thorough description of the actors being studied and their role in the process. The design of the new system will be discussed in section 4. In section 5, we will present a simulation study to quantitatively assess the alternative design. Finally, section 6 will conclude and reflect on the findings.
2 Theoretical Background The problem tackled in this research is the performance improvement of a healthcare business process through an innovation in the supporting information system environment (IT). This requires a background on IT in the healthcare sector, business process re-design and quality improvement methodologies. Besides the core operational tasks, medical staff are burdened with various organizational tasks. Medical procedures have to be planned and prepared; subjects (samples, medical resources, or the patients themselves) have to be at the right place at the right time. This may require time consuming inter-departmental cooperation.
Performance Improvement in Healthcare Processes
119
These organizational tasks often lead to a significantly high administrative workload for clinicians [3]. As these tasks are still carried out manually to a large extent, many errors result and unwanted effects occur. Patients may have to wait because resources are not available at the designated timeslot. Medical procedures may become impossible to perform if critical information is missing. As a result, hospital stays are often longer than required, and costs of treatment are unnecessarily high. Although Information Technology (IT) is seen as an enabler of change for healthcare organizations, adoption decisions are complex given a multitude of technologies, stakeholders and potential levels of analysis [4]. Healthcare operations are characterised by numerous medical disciplines and specialised departments that rely heavily on information and knowledge related to the patient and processes. Exchange of information and knowledge management are required for successful interdisciplinary cooperation and coordination. Marrow, in [5], describes several common themes of what IT can offer in hospitals: information integration and sharing; training and/or learning; tracking and/or resource management. Lenz and Reichert [3] elaborated on both the potential and the limitations of IT support for healthcare processes. They identified different levels of process support in healthcare, and distinguish between organisational processes and the medical treatment processes. A medical treatment process comprises observation, reasoning, and action. Availability of the most up to date relevant information is a precondition for medical decisions. A typical organizational process is, for example, medical order entry and result reporting, emphasising the principle communication channels between a doctor and the medical laboratories. The difficulties in hospital information system deployment lay not in technical issues but rather with the users: their reaction to system introduction and the need to acquire new skills [6] (Harrison 1991). Heathfield et al [7] suggest that this is due to the complex and autonomous nature of the medical discipline and to the paradigm mismatch between the medical and IT specialists. Information systems need to be adapted or developed to meet the requirements of the new structures and processes [8]. Identifying application scenarios for IT requires taking into account a series of problems that are relevant to IT as they are to some other areas of application – scalability, timeliness, user-friendliness, security, accuracy, robustness and privacy seem particularly important [5]. The introduction of IT goes in pair with a radical rethinking of an organization’s business processes. Davenport and Short define business process as "a set of logically related tasks performed to achieve a defined business outcome” [9]. Business Process Redesign (BPR) is "the analysis and design of workflows and processes within and between organisations” [9]. Hammer and Champy define BPR as “fundamental rethinking and radical redesign of business processes to achieve dramatic improvements in critical, contemporary measures of performance, such as cost, quality, service, and speed” [10]. Malhotra [11] suggests that business activities should be viewed as more than a collection of tasks. IT capabilities should support business processes, and business processes should be designed in terms of the capabilities IT can provide.
120
R. Widjaya, F. van der Horst, and M. Seck
Mintzberg used the hospital as an example of a professional bureaucracy organisation with the standardization of skills as a primary coordination mechanism. What frequently emerge in the professional bureaucracy are parallel coordination hierarchies; one bottom-up for the professionals and a second machine bureaucratic top-down for the supporting staff. Mintzberg also observed that in professional bureaucracy, the controlling bodies for these professionals tend to be conservative and reluctant to change their well-established ways, and innovative ideas are not easily accepted [12]. “In the professional bureaucracy, with operator autonomy and bottom-up decision making, and in the professional association with its own democratic procedures, power for strategic change is diffuse. Everybody must agree on the change. So change comes slowly and painfully, after much political intrigue and shrewd manoeuvring by the professional and administrative entrepreneurs” [12]. To have a successful BPR, a top-down participation is needed [9], which implies the need for structural change within the organisation. This requires a clear communication, motivating, and educating professionals. Change acceptance can be improved by an effort toward clear and objective communication on the impact of the change. In this research, we consider that modelling and simulation can be the medium for that lucid and objective communication effort. Simulation is often used in BPR projects to present and evaluate the impact of different design alternatives. The system of interest can be conceptualized, specified, validated, and experimented with in silico. However, the simulation methodology in itself is not a quality improvement approach. For that purpose, we adopted Lean Six-Sigma. Lean and Six-Sigma have separate origins. While Six-Sigma (Define, Measurement, Analyse, Improve and Control) was started as an approach to reduce operational variation and defects, the key thinking behind the Lean approach is to produce what is needed for the customer, when it is needed, with the minimum amount of resources by limiting 8 types of muda (Japanese word for “waste”). These waste activities are undesirable, as they do not bring any added value to the product or service [13]. In our analysis of the current situation of the business process and to identify our design priorities, we will adopt a Lean Six-Sigma worldview and focus on identifying waste.
3 The Current Process The business process is executed by a number of actors. There are three types of doctors: specialist, resident and student doctors. They can all request orders but only specialists have unique ID in the current information system. The nurse writes these orders down on paper. These orders are later are entered into the information system by the secretary. Blood draws for urgent orders are performed immediately by the nurse, whereas normal orders are planned for one of the phlebotomist‘s rounds. Afterwards the blood samples are sent to the lab through a pipeline system. In the laboratory the blood samples are sorted in different queues depending on the requested type of tests to be handled by different lab resources. The lab coordinator communicates the results of urgent tests to the secretary who will in turn contact the
Performance Improvement in Healthcare Processes
121
responsible doctors by phone. Sometimes, the secretary calls the lab coordinator to request additional tests. Previously we introduced the notion of waste. In this case there are 4 relevant type of waste; waiting, redundant, rework, and over processing. These activities typically happen in order to compensate for the structural flaws of the current business process and IT system. These structural flaws are shown by the yellow colored boxes in figure 1. Ordering laboratory test in clinical setting Doctor
Nurse
Secretary
Lab coordinator
Clinical Chemist
Analyst
Preparing Phlebotomy rounds
Visiting patient
Ordering test
Phlebotomist
Writing down order
Printing label Correcting / Cancel orders?
No Finish visiting?
Yes
No Processing Doctor’s orders
Yes
No
Placing label on container + check-in
Terminating faulty orders
No Patient found? Yes
All info available?
Collecting specimens at scheduled times
Yes Order entry Correcting order No Cito?
Yes Printing label
Placing label on container Checking unready result
No
Yes
Result ready ?
Sending specimens to Lab/ COVS Check in specimens Yes Already checked -in? No
Collecting specimens
Manual entry
Distribute specimens
Sending specimens to Lab/ COVS
Receiving call for additional order
Checking result
Results clinically logical?
No
Yes
Automatic Authorisation
Info available?
Yes
No
Calling for additional order Receiving extreme results
Testing specimens
Authorise results Passing extreme results
Passing extreme results
Information Systems Environment
Fig. 1. Process flow of the current “clinical patient visit process”
Table 1 gives the summary of waste activities performed by the corresponding actors.
122
R. Widjaya, F. van der Horst, and M. Seck Table 1. Waste activities per actor Actor \ Waste Doctor
Waiting calling for additional order
Redundant unnecessary order
Nurse
writing down order
writing down order, unnecessary order order entry, passing extreme result, unnecessary order unnecessary order
Secretary
Phlebotomist Lab coördinator Lab resources
receiving call for additional order
passing extreme result, unnecessary order unnecessary order
Rework correcting order
Over processing unnecessary order, checking unready result unnecessary order
correcting order
unnecessary order
correcting order terminating faulty order
unnecessary order unnecessary order unnecessary order
These waste activities are affecting the efficiency of human resources, comfort of the patient and operational costs. Besides the qualitative analysis offered here, in the next step of our study we want to quantify the unnecessary orders resulting from the flaws of the current business process. After defining the signature of unnecessary orders (with the help of clinicians), a filter was developed in Visual Basic and executed on the clinical test orders database to automate the data analysis of over 170.000 registered test orders generated by one ward in the hospital over a period of 3 months. As visible on table 2, these filters showed that approximately 8% of draws could have been avoided if a certain piece of information was available to the staff during the decision process of requesting blood draws or tests (PUW, PUM, and PUT refer to subclasses of unnecessary orders by class of missing information at the time of order request). Table 2. Unnecessary test orders per category
Total PUW 1 PUW 2 PUW 3 PUM 1 PUM 2 PUT
Draws 17153 564 294 1030
Tubes 30248
Tests 171863
62 1807 13551
4 The New Business Process Knowing the waste types and their quantity, we can now endeavour to eliminate them by designing a better system. It is found in [14] that traditional design and implementation approaches of IT systems, isolated from user communities, produces users who are either unaware of the technology or perceive it as complex and inappropriate for their needs. Indeed, the involvement of stakeholders in the actual shaping of the activities and the processes
Performance Improvement in Healthcare Processes
123
they are part of is often considered a prerequisite for the success of a change process [8]. Interviews in different functional areas of the organization helped clarify that the perceived weaknesses in the current system stemmed from three causes: -
A lack of coordination or interconnectivity between different information systems, the implicit nature of the information exchanged, And a lack of transparency.
Lack of coordination or interconnectivity between different information systems causes unnecessary corrective actions between the secretary and the phlebotomist. For example, patients could not be found because they were already dismissed, or had an appointment in other departments. This happens because the patient administrative (appointments, dismissal) information is stored by the secretary in one legacy information system, while the phlebotomist is getting the information from another information system. Integration in a single information system will allow the whereabouts of patients to be known at all times. The implicit nature information shared is forcing the lab coordinator to pass information of extreme results to the secretary, who, in turn, will pass this information to the right doctor based on her own implicit knowledge acquired from experience. Technically it is possible to pass this information directly to the doctor that had requested the order. However this requires that every requestor is given unique requestor’s identification code. Lack of transparency when making ordering decisions leads a large amount of potential unnecessary orders. This is because when the ordering decision takes place during patient visit, it is made outside the context of the information concerning the blood draws already scheduled for the phlebotomist. This leads not only to additional costs, but also to decaying patient’s comfort (care quality). This is avoidable if the information on scheduled draws can be made available to the doctor during the ordering process. In addition to these issues, a number of valuable ideas of interventions for reducing the unnecessary tests can be found in literature. For example [15] reported a study of reducing test utilization and stated that a multifaceted education and feedback strategy could significantly and persistently decrease laboratory utilization. In another research [16] found that giving reminders for redundant tests was effective when it was possible to provide them and that cancellation of redundant tests appeared to result in little or no loss of clinical information. Information about a patient’s previous test results, medication history, diagnoses, etc., should be of a major influence on a physician’s test ordering decisions. Obviously this information can influence the physician’s behaviour only to the extent that it is accessible [17]. To this end, [18] performed a study of building a knowledge base of practice guidelines by using “If-Then” rules for knowledge representation. The conditions of the rules can contain a requested test, medical patient information, personal information (age and gender) or a combination of these types of information. A study by Miyakis set to identify factors contributing to laboratory overutilization and to assess the effect of an educational feedback strategy on inappropriate testordering behaviour resulted in restraining the redundant ordering of tests in the
124
R. Widjaya, F. van der Horst, and M. Seck
hospital. They found that almost 68% of the laboratory tests commonly ordered in an academic medicine department could have been avoided, without any negative effect on patient quality of service [19]. Based on these findings, a number of requirements for a better information infrastructure can be devised to deal with the problems of coordination, information implicitness and transparency: -
One platform of information that is accessible for all relevant staffs. Unique identification code for every requestor. Availability of information on scheduled draws during ordering process. Order information entry by the clinical staff themselves
Figure 2 contrast the old and the new information flows.
Fig. 2. Information flows in the current vs. new system
The new design results in less transformation of information between human actors, thus minimizing the chance of human errors. In the former system, the secretary played the role of an information hub, entering information that was previously written on paper, relaying test results from the lab to the doctors, etc… By minimizing human transmission of information, errors are reduced, as well as waste activities i.e. the corrective actions for these errors. Hence, in a more efficient business process there should not be a large amount of corrective actions because everything is correctly done in the first place without unnecessary risk for error due to incomplete or incorrect information. The new business process is the same one as the former situation, will all waste processes removed. These are all secretary activities and the transcription of orders by nurses, and all corrective actions that resulted from errors in the former activities.
Performance Improvement in Healthcare Processes
125
Once this conceptual design is obtained, the question become “how can we make it operational?” We require ubiquitous access of information for very mobile and autonomous actors, i.e. doctors, nurses, and phlebotomists. In order to ensure information availability during decision making, this information has to be accessible for the right person at the right place and at the right time. A possible solution is to equip these actors with mobile devices in the diagnostic and blood draw processes. The user friendliness of the interface becomes then a critical factor for its efficiency. The easiness of use and information interpretation for the user has to be such that it ensures acceptance and usage. Further in the analysis of the proposed solution through simulation, we consider two scenarios for the user friendliness of this interface. o
o
DOE 1 (Conservative DOE): it is assumed that the speed of entering orders by doctors will be the same as the speed of entering orders by secretaries into the computer system in the current situation. DOE 2 (Optimistic DOE) it is assumed that orders are placed within 45 seconds to one minute’s time.
5 Simulation The simulation model aims to capture the interactions and duration of activities by the different actors. These actors are the doctor, nurse, ward secretary, phlebotomist, labcoordinator, and other lab-resources. Since the system modelled in this discrete event simulation study is analyzed in previous chapter, a large part of the conceptualisation is already done in the form of information and activity flow models shown in section 3 and 4. We first replicate the situation as-is to calibrate the model, and then alter it to represent the new design. Figure 3 shows a screenshot of the simulation model developed in the simulation package Arena.
Fig. 3. Simulation screenshot, phlebotomist process
126
R. Widjaya, F. van der Horst, and M. Seck
Eleven initial patients were created at the first simulation day. This corresponds to the amount of patients of the internal medicine ward which we chose as a pilot case. Patients have a unique attribute as a patient identification number (PIN) and stochastically generated attributes representing their expected duration of stay. This duration of stay is calculated based on real data distributions obtained for the data base. In period of study between July 1st 2009 and September 30th 2009 there are 213 different patients who occupied beds in the ward. Six patients stayed twice, so there are 219 records. In 95% of the cases, patients stayed no longer than 16 days. We excluded the outliers and used the Arena Input Analyser to fit a stay time distribution. We obtained a beta distribution with sample mean of 4.44 and sample standard deviation of 3.75 with a minimum value of 1 and a maximum value of 16. To design a simulation model for a non-finite system as the ward, we have to consider a warm-up time because the statistics at the start of the simulation will not be representative of the real system in steady state. At the first day of simulation run, there were 11 patients and 3 draws counted, which resulted in 0.27 draw per patient. After about 2 weeks of simulation run, the average draw per patient stabilized in around 5 draws per patient. The warm-up time of the simulation model is thus set to 14 days. This is shown on figure 4. We set the run length of the simulation experiments to 3 months. Warm-up Period 6
Draw per Patient
5 4 3 2 1 0 1
4
7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 Days
Fig. 4. Warm-up time of the simulation
Historical data is used for model calibration purposes. A summary of the replicative validity of the simulation model is given in table 3. Table 3. Replicative validation of the curent situation
Draw per Patient Total Orders Total Draws Total Collected
Tubes
Data (92 days) 5,30 1179,0 0 1126,0 0 2081,0 0
Data (78 days) 5,30 999,59
Arena (78 days) 5,40 999,20
954,65 1764,33
Differenc -0,10 0,39
Difference Square/Expected 0,00 0,00
928,50
26,15
0,72
1689,3 0
75,03
3,19
e
Chi Square
3,91
Performance Improvement in Healthcare Processes
127
Chi-square 0.05 by 3 degrees of freedom is 7.81 which is higher than our chisquare value of 3.91. This gives us confidence that the simulation model is able to replicate the current process. Other methods taken to validate this model are Structural Validation and Expert Validation. By giving extreme values on input variables, we observed whether the model behaves according to expectations. Expert visual validations sessions were also conducted with clinical doctors from the modelled ward. From the simulation results on table 4, we see that the unnecessary orders have serious impact on the total time spent by lab resources, which made the most significant non-value added time. Table 4. Simulation of the total wasted hours per actor Total Hours
Time Spent by Doctor Time Spent by Nurse
Waste Unnecessary Total Waste (Excl. Orders (10%) Waste % Unnecessary Hours Orders) Hours 96,69 10,82 9,67 20,49 21,19% 96,6
10,36
Time Spent by Secretary
49,39
49,39
Time Spent by Phlebotomist
97,22
9,79
5,1
5,1
5315,67
0
Time Spent by Lab Coordinator Time Spent by Lab Resources
9,66
Cost/Hour
Waste Costs
€€ 130,00
€€ 2,7*103
€€ 25,00
€€ 0,5*103
20,02
20,73%
4,94
49,39
100,00%
€€ 25,00
€€ 1,2*103
9,72
19,51
20,07%
€€ 25,00
€€ 0,5*103
0,51
5,1
100,00%
€€ 25,00
€€ 0,1*103
531,57
531,57
10,00%
€€ 25,00
€€ 3 13,3*10 €€ 3 18,3*10
Total Waste Costs Current Situation
Note that the activities modelled in the simulation for secretary and lab-coordinator only consists of waste activities. This does not mean that they are dispensable, because they have other added value activities which are out of the scope of this research. In a final experiment (table 5), we evaluate the potential savings for the proposed design under the conservative and optimistic assumptions explained in the previous section. Table 5. Simulation of the annual cost savings fort the new design under conservative and optimistic assumtions DOE 1
DOE 2
Annual Costs Savings RdGG (in K€ € )
70
350
Annual Reduced Blood Draw s RdGG
7603
7590
6 Conclusion This paper discusses the daily life challenges of business process redesign in the healthcare sector especially in the context of the introduction of a new digital workspace.
128
R. Widjaya, F. van der Horst, and M. Seck
An adequate redesign and improvement of processes requires a good insight of these processes, with respect to workflow and inefficiencies. A methodology to analyze and improve such aspects in existing processes is Lean Six-Sigma. In the few cases this methodology has been applied to healthcare organizations, it is shown to be well suited for this purpose in projects involving a limited amount of actors, departments and steps. On the other hand, it is a well known phenomenon that (healthcare) professionals have difficulties in expressing their expectations regarding the required functionalities of a future and non existing digital workspace. As a consequence of this lack of a functional context, many IT systems that are built do not meet the user satisfaction after implementation. This means that in the case of the reengineering of workflows by introduction of a novel digital workspace, the LSS methodology fails to predict type and amount of waste produced by this environment, unknown to the end user. We combined LSS with a discrete simulation model to enable the optimization of a future digital workspace prior to actual implementation. Such an approach appeared to work properly to predict the impact of process changes on waste within the ITsystem itself. During the course of the study however it became clear that the impact of the user interface and the behavior of the professionals have a prominent role in the modulation of the type and amount of inappropriate test orders and redundant blood draws. We advocate that in actor dominated situations, the impact of the user interface should be incorporated into the simulation model, due to its prominent role in subsequent workflow. Such evaluation and optimization involves a largely empirical setting, using mock up versions of candidate interfaces. In the daily practice of hospitals, studies on utility of such a combined use of LSS, discrete modeling and user interfacing for the optimization of future digital workspace prior to implementation, is still an unexplored area. Because of its expected beneficial impact on the quality and efficiency of business process redesign, with the use of digital workspaces, we believe such studies should be initiated in the near future. Subsequently, such an approach should routinely be applied to the daily practice in healthcare organizations. Simulation applied in the healthcare sector provides peculiar challenges in terms of data analysis and validation. Furthermore, in flow based simulations, entities tend to be considered as passive objects, and resources as a bundle of capacity driven by the process. This is clearly not the situation in a healthcare business process. Patients have emotions and feelings, and doctors are highly deliberative and autonomous. This must be taken into consideration when developing the next generation of simulation languages.
References [1] van der Horst, F.A.L.: Efficiëntere patiëntenzorg door online aanvragen Laboratorium diagnostiek: Op weg naar papier-arm werken. Medische Laboratoria Reinier de Graaf Groep (2008) [2] Westert, G.P., van den Berg, M.J., Koolman, X., Verkleij, H.: Dutch Health Care Performance Report 2008 (RIVM). National Institute for Public Health and the Environment (2009)
Performance Improvement in Healthcare Processes
129
[3] Lenz, R., Reichert, M.: IT Support for healthcare processes – premises, challenges, and perspectives. Data & Knowledge Engineering 61, 39–58 (2006) [4] Spil, T.A.M., LeRouge, C., Trimmer, K., Wiggins, C.: IT Adoption and Evaluation in Healthcare: Evolutions and Insights in Theory, Methodology, and Practice. International Journal of Healthcare Information Systems and Informatics 4(3), 69–96 (2009) [5] Marrow, P.: An Industrial Perspective on Future ICT in Hospitals. Pervasive ICT Research Centre (2005) [6] Harrison, G.S.: The Winchester experience with the TDS hospital information system. British Journal of Urology 67(5), 532–535 (1991) [7] Heathfield, H., Pitty, D., Hanka, R.: Evaluating information technology in healthcare: barriers and challenges. BMJ 316(7149), 1959–1961 (1998) [8] de Vreede, G.J.: Collaborative Business Engineering with Animated Electronic Meetings. Journal of Management Information Systems 14(3), 141–164 (1998) [9] Davenport, T.H., Short, J.: The New Industrial Engineering: Information Technology and Business Process Redesign. Sloan Management Review, 11–27 (1990) [10] Hammer, M., Champy, J.: Reengineering the Corporation: A Manifesto for Business Revolution. Reed Business Information, Inc. (1993) [11] Malhotra, Y.: Business Process Redesign: An Overview. IEEE Engineering Management Review 26(3) (1998) [12] Mintzberg, H.: Structure in fives: designing effective organisations. Prentice-Hall, Inc., Englewood Cliffs (1983) [13] Does, J.M.M., de Koning, H., de Mast, J.: Lean Six Sigma: Stap voor stap. Beaumont Quality Publications BV (2008) [14] Adams, A., Blandford, A., Attfield, S.: Implementing digital resources for clinicians’ and patients’ varying needs. In: BCS Healthcare Computing, pp. 226–233 (2005) [15] Bunting, P.S., van Walraven, C.: Effect of a Controlled Feedback Intervention on Laboratory Test Ordering by Community Physicians. Clinical Chemistry 50, 321–326 (2004) [16] Bates, D.W., Pappius, E., Kuperman, G.J., Sittig, D., Burstin, H., Fairchild, D., Brennan, T.A., Teich, J.M.: Using information systems to measure and improve quality. International Journal of Medical Informatics 53(2-3), 115–124 (1999) [17] Wilson, G.A., McDonald, C.J., McCabe Jr., G.P.: The Effect of Immediate Access to a Computerized Medical Record on Physician Test Ordering: A Controlled Clinical Trial in the Emergency Room. American Journal of Public Health 72(7), 698–702 (1982) [18] Bindels, R., Winkens, R.A.G., Pop, P., van Wersch, J.W.J., Talmon, J., Hasman, A.: Validation of a knowledge based reminder system for diagnostic test ordering in general practice. International Journal of Medical Informatics 55(3), 199–209 (2001) [19] Miyakis, S., Karamanof, G., Liontos, M., Mountokalakis, T.D.: Factors contributing to inappropriate ordering of tests in an academic medical department and the effect of an educational feedback strategy. Postgrad Med. J. 82, 823–829 (2006)
Supporting Enterprise IS Modelling Using Ontological Analysis Robert Pergl Department of Information Engineering, Faculty of Economics and Management, Czech University of Life Sciences, Prague, Czech Republic
[email protected] Abstract. The goal of this contribution is to show that incorporating ontological analysis into modelling of enterprise information and knowledge systems during the software engineering process may bring considerable benefits. Necessary terms related to ontological analysis are defined, the most important being the Concept Map of the Domain (CMoD). The BORM method is then analysed from the ontological point of view and the ontological analysis is showed in the context of the layered Model Driven Architecture approach. Possible gaps that may occur between the layers in practice are studied. Two methods how to incorporate the ontological analysis into the modelling process to overcome those gaps are presented and discussed. Keywords: ontologies, ontological analysis, enterprise systems modelling, BORM method, Model Driven Architecture.
1
Goal
The goal of this contribution is to show that incorporating ontological analysis into modelling of enterprise information and knowledge systems during the software engineering process may bring considerable benefits. The concept is shown using the BORM method. Theoretical foundations and methodological aspects are provided as well.
2
Methodology
Necessary terms related to ontological analysis are defined, the most important being the Concept Map of the Domain (CMoD). The BORM method is then analysed from the ontological point of view and the ontological analysis is showed in the context of the layered Model Driven Architecture approach. Possible gaps that may occur between the layers in praxis are showed, and their J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 130–144, 2011. c Springer-Verlag Berlin Heidelberg 2011
Supporting Enterprise IS Modelling Using Ontological Analysis
131
consequences are discussed. Two methods how to incorporate the ontological analysis into the modelling process to overcome those gaps are presented and their additional benefits together with drawbacks are discussed. The more complex of the methods is presented on a practical example. In the end some related work is mentioned and conclusions are future work are formulated.
3
Motivation
Modelling is a crucial part of the software engineering process. Its goal is to create a set of models that in the end result in technical specification of the system and enable a successful implementation by technical experts (database architects, programmers, designers, etc.) that typically have just a vague knowledge about the problem domain. For the modelling to be the most effective and efficient, consistency of elements in the models must be maintained. This may be a hard task, because often we need to put the same elements into various diagrams of the same type and there are elements in different diagram types that are closely related to each other. Changes made to diagrams during the model evolution thus may provide very painful tasks of consistency maintaining. Consistency of diagrams is crucial for requirements traceability. It ensures and documents that the life cycle is being followed [4], because – It demonstrates the relation between the modelling inputs and outputs. – It ensures that every model is based on some predecessor that has its foundation in some requirement. – It contributes to model validation. Consistency and requirements traceability offer these additional benefits [20]: – – – – – – – –
Certification support Impact analysis Maintenance Project traceability Changes to older systems Reusability Risks mitigation Testability
Moreover, as put in [15], pure software-engineering conceptual modelling may be short in many areas, ontology modelling among many others. We also felt somehow motivated by the statement published in [6]: Without ontologies, or the conceptualizations that underlie knowledge, there cannot be a vocabulary for representing knowledge. Thus, the first step in devising an effective knowledge-representation system, and vocabulary, is to perform an effective ontological analysis of the field, or domain. Weak analyses lead to incoherent knowledge bases.
132
4 4.1
R. Pergl
Definition of Terms Ontology
The word ontology comes from the Greek ontos (“being”) and logos (“word”). It generally studies the categories of things that exist or may exist in some domain [18]. Ontologies are used in a wide range of scientific and engineering applications and thus there are several definitions that stress various facets of ontologies. We will present a few that are closely related to our goal: Definition 1. Ontology is a specification of a conceptualization. [11] This definition stresses the modelling nature of ontologies: Conceptualization means an abstract, simplified view of the world consisting of concepts, objects and other entities that are assumed to exist in an area of interest, and the relationships that exist among them. Specification means a formal and declarative representation. Definition 2. Ontology is a set of knowledge terms, including the vocabulary, the semantic interconnections, and some simple rules of inference and logic for some particular topic. [12] This definition includes the term vocabulary which we will utilise for referring to the terms in a subject area. Definition 3. Ontology is the basic structure or armature around which a knowledge base can be built. [19] For us, ontology will be a basic structure or armature around which a model of an information or knowledge system can be built. 4.2
Concept Map
Definition 4. Semantic network (or concept map) is knowledge representation technique that attempts to reflect cognition [5]. Concept map is one way how to express ontology [9]. We will use concept maps as a convenient and visual way of ontology description. Let us introduce it formally: Definition 5. Concept map is a directed graph GCM , where – VCM is a set of vertices that represent terms of the domain. Each vertex is denoted by the corresponding term identifier. – ECM is a set of edges that represent relations between the terms. Each edge is denoted by the relation identifier. – MCM is a mapping that assigns an ordered pair of vertices (v1 , v2 ), v1 , v2 ∈ VCM to every edge e ∈ ECM .
Supporting Enterprise IS Modelling Using Ontological Analysis
133
Similarly to the Model Driven Architecture [8], we specify several layers of ontologies: Definition 6. Concept map of domain D (CMoD) is a concept map, where vertices represent terms from domain D and edges represent relations between the terms. Definition 7. Concept map of domain model DM (CMoDM) is a concept map, where vertices represent elements of domain model DM and edges represent relations between the elements. Definition 8. Concept map of metamodel M M (CMoMM) is a concept map, where vertices represent elements of metamodel M M and edges represent relations between the elements. According to the “industry standard” for information and knowledge systems modelling, the UML notation [7], we may distinguish structure diagrams and behaviour diagrams, which represent two main views of a model. We will stick to this categorisation, however we selected the BORM method [13] for our purpose, because it encompasses business modelling and has a strong emphasis on conceptual correctness and consistent gradual transformation of terms [14]. For our purpose we will consider the ontology of a model in the BORM method as depicted in Figure 1. This is not a complete ontology, just a simplified subset that contains concepts and relations crucial for our needs.
Fig. 1. Concept map of a BORM model (partial)
Data Flow as a concept can not be consistently drawn into the presented concept map. Formally, Communication is a relation between two activities whose
134
R. Pergl
meaning is “Activity X communicates to activity Y”. This relation has two attributes: Input Data Flows and Output Data Flows, each being a set of Data Flows (Figure 2). Unfortunately this cannot be expressed using just the graph theory formalism1 .
Fig. 2. Concept map of Communication
The whole architecture of models including ontologies is depicted in Figure 32 . Lower-level elements are linguistic instances [3] of higher-level elements.
Fig. 3. Layered architecture of ontologies
This model maintains consistency in each layer and consistency between the layers. However, in real-life modelling we usually need to put more elements representing the same model term – e.g. Employee may be a participant in both 1 2
Formally this would lead for instance to two mappings from the set of Communications into the set of Data Flows. For our purpose, we do not need the fourth, meta-metamodel layer.
Supporting Enterprise IS Modelling Using Ontological Analysis
135
the scenarios Ordering and Invoicing. The situation is depicted in Figure 4. Various elements of the same modelling term require to keep track of the representationOf relations in the model to maintain the identity: Definition 9. We say that the model element x is ontologically equivalent to the model element y if and only if there exist relations representationOf (x, t) and representationOf (y, t), where t is an element of the CMoD. We denote this x y. The absence of representationOf relations in the model then leads to element identity loss, which leads to inconsistencies in models. When for instance the user wants to rename Employee to Company Employee and renames just one representation of it. Element identity loss also paralyses reportings and simulations. Unfortunately, most CASE tools do not support maintaining of representationOf relations. There is partial support e.g. in the Craft.CASE tool (www.craftcase.com), but it is not complete3 .
Fig. 4. Ontology maintaining the identities
The consistency between layers M1 and M2 makes no problem in practice, since every model element is instantiated from its class when put to model, and CASE tools track this relation. However, the consistency between layers M0 and M1 is usually practically omitted during modelling. The author does not know any CASE tool that would e.g. keep track that the class Employee and the participant Employee are two representations of the domain term Employee. 3
More about this will follow later.
136
R. Pergl
Without the explicit concept map of a domain and due to omitting the represenationOf relations between the layers M0 and M1, the term identity loss occurs. This may result in inconsistencies of the terms in the M1 layer. On the other hand, maintaining the identity of terms in the M1 layer through the represenationOf relations from the M0 layer enables sophisticated consistency checks, reporting and change management. 4.3
Semantics of the Concept Map
As mentioned in 3, an important role of ontology is to specify a vocabulary of a domain, specifically a controlled vocabulary that provides a finite list of terms together with an unambiguous interpretation of those terms. Every use of a term from a controlled vocabulary then denotes exactly the same thing in the domain. While the M1 and M2 layers are implied by the used methodology (here BORM), the M0 layer is a subject to domain conceptualizations and, consequently, domain ontologies are established by the consensus of the domain experts. The terms used to express these domain ontologies must be rooted in a domain independent philosophically and cognitively well-founded system of real-world categories, i.e. a foundational (upper-level) ontology [10]. In ontological analysis, we may distinguish two categories of terms according to the modelling context: Terms with the domain context – Those terms are uniquely identified by the context of the domain. For the BORM method those are: – Business Architecture Diagram • Function • Scenario – Class Diagram • Class – OBA Diagram • Participant Role • Data Flow “Being uniquely identified by the context of the domain” means that for example the class Employee or the scenario Issue and order are unique terms in the domain of Trading company X. Terms with the model context – As opposed to the first category, these terms are uniquely identified in their context only. In the BORM method those are: – Attribute, Method – identified in the context of the Class. Thus the name of a Company is a different term than the name of an Employee. – State, Action – identified in the context of the Participant Role. – Communication – identified by the pair (Source Action, Destination Action)
Supporting Enterprise IS Modelling Using Ontological Analysis
137
We use dot-notation for denoting the context4 : Company.name, Employee. name, Employee.waits, Employee.sends and we call such term a fully qualified term. Labels of activities and states may consist of several words and even several sentences. In such case we may enclose the terms in quotes, e.g. Employee."sends the invoice", which is mandatory if the term label contains dots. Quotes in the label must be escaped using the backslash character, which is a well-known mechanism from programming languages5. BORM OBA diagrams permit to make nested process inside a participant state6 . In this situation the context of nested states and activities would be the full context from the participant to the state/activity, e.g. Employee."prepares an order"."collects requirements".consults
5
CMoD: The Method
We will present two possible methods for creating and maintaing a Concept Map of a Domain. 5.1
Vocabulary Method
This is a method that brings the least possible additional activities to the modelling process while offering the benefit of identity maintaining. This approach is aligned with the Agile Modelling [2] in a sense that the ontological analysis is performed just in the most necessary extent. The method is based on on-demand introduction of terms into the concept map. It may be summarized into several points: 1. Start with an empty CMoD. 2. Perform the usual modelling in the M1 layer and elaborate the necessary diagrams and their elements. 3. If there occurs a need to reuse an element e in some other context (diagram), i.e. to create the element e’ that is a copy of element e: (a) Insert an element t into the CMoD representing some domain term. (b) Create the relation representationOf (e, t). (c) Create the relation representationOf (e , t). 4. If there occurs a situation where you create a new element y of class u in the layer M1 and there exists an element x of class v in the same layer such that u is ontologically equivalent to v: (a) Insert an element t into the CMoD representing some domain term. 4 5 6
This is just a matter of choice, another schemes like using slashes, arrows, etc. work the same. Again, this issue may be solved using various approaches. This is depicted in Figure 1 by the “contains” relation between two States and a State and an Activity.
138
R. Pergl
(b) Create the relation representationOf (y, t). (c) Create the relation representationOf (x, t). An example of this situation may be Employee of class Participant and Employee of class Class. The names, however, may generally differ, although it is not recommended from the ontological point of view. In this method we omit relations between the terms and the resulting CMoD is a flat controlled vocabulary and may be represented just using the set of terms. 5.2
Complete Ontological Analysis
In this method we create a (more or less) complete CMoD including the relations. Conceptual maps then serve not just as an identity maintaining device, but as a stand-alone knowledge formalisation and representation technique that helps to understand, record, share, communicate and validate knowledge of the domain. Models of the domain are then built upon the previously created CMoD(s). Figure 5 depicts the position of ontological analysis and the created CMoDs in the context of Ambler’s software development process ([1]). Ontological analysis is performed during the Initate and Construct phases, whereas the resulting concept maps may be utilised during the whole project life cycle7 . In the typical iterative development process, OA will be performed during every iteration.
Fig. 5. Ontological analysis in the software development process
A simple example of CMoD is in Figure 6. It represents a (partial) ontology of an internal company supply store. We denote the terms by unique capital letters enclosed in square brackets and relations between the terms by unique small letters enclosed in round brackets, so that we may easily express the representationOf relations. 7
Concept maps may be updated during any stage of course, e.g. if an error or ambiguity is detected.
Supporting Enterprise IS Modelling Using Ontological Analysis
139
Fig. 6. Example: ontological analysis of an internal company supply store
This CMoD may be have been created during the requirements gathering and initial modelling sessions with the future IS customer. Standard BORM analysis and modelling then follows (refer to [?] for details). During this analysis, the Business Architecture diagram (Figure 7) is created that depicts the process architecture.
Fig. 7. Business Architecture diagram of the example
There are two scenarios identified and a transition relation between them. The representationOf relations with the elements of the CMoD are presented. As we may see, all the CMoD elements and relations are covered, i.e. this is a surjective mapping. This is not a coincidence. The mapping represented by the representationOf relations should be always surjective. We may informally “prove” this theorem using absurdum proof: If the mapping is not surjective, it would mean that there exists at least one element t in the CMoD such that there is no mapping represenatationOf (e, t), where e is some element of the BA diagram8 . This would mean that the domain term represented by the element t is 8
Or the union of all BA diagrams if there are more in the model.
140
R. Pergl
not related to any scenario and thus would be needless. This represents a simple inter-layer consistency check. If the mapping happens to be non-surjective, then either: – The term is needless and should be thus removed from the CMoD. – Or the term is crucial and thus represents some requirement that should result in relating it to some scenario. Next we may elaborate the ORD diagram for each scenario (Figure 8 and Figure 9).
Fig. 8. ORD of the scenario “Ordering of Store Items”
Again, the elements and relations of the diagrams are related to the elements and relations of the CMoD. Moreover, the set of inter-layer relations for each diagram should be equal to the set of relations of the corresponding scenario. This provides a kind of elements transistion check (see [16] for a discussion about the importance of maintaining transitions between model concepts)9 . Figure 10 finally shows the class model (without attributes) of the example and its representationOf relations. As we may see, every diagram adds some details that are not depicted in the CMoD – ORD diagrams add process and collaboration details, while class diagrams add details about the relations and attributes (which we ommited in Figure 10) – and at the same time it omits some terms and relations from the CMoD as it represents a certain limited view.
9
The absurdum “proof” may be done here as well.
Supporting Enterprise IS Modelling Using Ontological Analysis
141
Fig. 9. ORD of the scenario “Delivering Store Items”
Fig. 10. Class diagram of the example
6
Discussion and Conclusions
Ontological analysis may be performed in an “agile style” by just building the controlled vocabulary (subsection 5.1) along with the usual modelling. This approach means minimum overhead and brings the support for – – – – –
identity maintaining, models refactoring, consistency checks, elements transistions checks, impact analysis during the change management.
142
R. Pergl
If we perform a complete ontological analysis (subsection 5.2), i.e. we analyse also relations between the term, we deepen the above benefits. Apart from them, a complete ontological analysis may take advantage of wide variety of ontology engineering tools for the created concept maps: validations, reasoning, model transformations, knowledge bases utilisation, prototyping, problem-solving and inference tools and others. On the other hand, a thorough ontological analysis increases elaborateness of analysis phase and brings higher demands on analysts. As for the model refactorings support and consistency maintenance, we would propose the following two approaches that may be implemented into a CASE tool: – If e is a model element, t is the CMoD element (domain term) and there holds representationOf (e, t), then the name of e would be taken from the name of t (let us denote e.name = t.name). This may not, however, be always suitable, thus assigning a flag to the representationOf relation that would be used to switch this feature on and off as needed would be necessary. – If the name is not taken, whenever t.name is changed, the user is presented with the list of the related elements (i.e. the set of elements E = e1 , e2 , . . . , en , where there exists representationOf (ei , t)) that may be affected by this change. The same would happen if the user is about to remove the term t from the CMoD. The BORM method distinguishes between the terms Participant and Participant Role, where Participant is an entity from the domain that plays (typically several) roles (like “performs”, “is informed”, “is responsible”, etc.) in various scenarios and it may even play several roles in one scenario. This distinction is very useful, because it enables us to keep track of the Participant identity related to its several roles. However, if we introduce the concept of maintaing the representationOf relations between the layers M0 and M1 (Figure 3), we may omit the concept of Participant. Ontological analysis concept supporting the modelling process was presented on the BORM methodology, however it may be used for any modelling method and notation, like UML, OMT, SA/SD and others and similar benefits may be expected.
7
Related Work
Craft.CASE is the most advanced CASE tool for the BORM method10 known to the author. Some glimpses of the concepts presented in this paper are implemented in the tool: – The Sketch tool supports drawing of free elements, which may be used to draw concept maps, however, their utilisation in the future modelling steps is limited. 10
Precisely speaking, Craft.CASE implements the C.C method, which has however the same syntax of the diagrams and the semantics differs just in slight details.
Supporting Enterprise IS Modelling Using Ontological Analysis
143
– Craft.CASE maintains the identity of data flows by putting them into a controlled vocabulary, which ensures consistency when renaming and this concept is also succesfully utilised in reporting. – Craft.CASE elements follow the concept of Model-View. One element may be copy-pasted into several places while maintaining a simple identity. This assures automated renaming and property changes, however extensive use is limited by the absence of the controlled vocabulary. These features bring considerable advantages over the tools that do not support them, but unfortunatelly, they are just separate ideas without the proper formal and methodological framework, which limits their benefits and also brings some unpleasant side-effects11 .
8
Future Work
The research continues both on the formal, methodological and practical levels. One vast topic is the method of creating the concept maps and related questions: How to identify the crucial terms? Which relations should be captured and which should be omitted? Is it possible to make some standardized set of relations? . . . Many answers to the ontological analysis questions and methods may be found in the existing literature about ontological engineering, however they are usually too general or directed towards knowledge management or semantic web development, not to enterprise systems modelling. Another field is utilisation of the presented concepts and methods. Some of the most imporant utilisation possibilities were listed above, however there are definitely many more: e.g. we are now working on the multi-language support for modelling using concept maps. And last but definitely not least – practical utilisation of the presented concepts requires a quality CASE tools support. This is probably the most appealing topic and we are working on a CASE tool prototype for the BORM method that would incorporate ontological analysis as described, and bring its benefits into practice. Acknowledgements. This contribution was elaborated with a support of grant no. 201011130043 of Grant Agency of The Faculty of Economics and Management of the Czech University of Life Sciences in Prague.
References 1. Ambler, S.W.: Process Patterns: Building Large-Scale Systems Using Object Technology. Cambridge University Press, Cambridge (1998) 2. Ambler, S.W.: The Object Primer – Agile Model-driven Development with UML 2.0. Cambridge University Press, Cambridge (2005) 11
Mostly with the respect to the C.C scripting language implemented in the tool for elements manipulations.
144
R. Pergl
3. Atkinson, C., K¨ uhne, T.: Model-driven development: A metamodeling foundation. IEEE Software 20(5), 36–41 (2003) 4. Baldwin, D.: Software Development Life Cycles: Outline for Developing a Traceability Matrix. The Regulatory forum, http://www.regulatory.com/forum/article/tracedoc.html 5. Barr, A., Feigenbaum, E.A. (eds.): The Handbook of Artificial Intelligence. William Kaufmann, Los Altos (2003) 6. Chandrasekaran, B., Josephson, J.R., Benjamins, V.R.: What are ontologies, and why do we need them? IEEE Intelligent Systems 14(1), 20–26 (1999) 7. Fowler, M.: UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd edn. Addison-Wesley Professional, Reading (2003); ISBN 9780321193681 8. Frankel, S.D.: Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley, New York (2003) 9. Gasevic, D., Djuric, D., Devedzic, V.: Model Driven Engineering and Ontology Development, 2nd edn. Springer, Heidelberg (2009) 10. Guizzardi, G.: The Role of Foundational Ontology for Conceptual Modeling and Domain Ontology Representation. In: Companion Paper for the Invited Keynote Speech, 7th International Baltic Conference on Databases and Information Systems, Vilnius, Lithuania (2006) 11. Gruber, T.R.: A translation approach to portable ontology specifications. Knowledge Acquisition 5(2), 199–220 (1993) 12. Hendler, J.: Agents and the semantic web. IEEE Intelligent Systems 16(2), 30–37 (2001) 13. Knott, R.P., Merunka, V., Polak, J.: The BORM methodology: a third-generation fully object-oriented methodology. Knowledge-Based Systems 16(2), 77–89 (2003) 14. Knott, R.P., Merunka, V., Polak, J.: The BORM Method: A Third Generation Object-Oriented Methodology. In: Liu, L., Roussev, B. (eds.) Management of the Object-Oriented Development Process, pp. 337–360 (2006); ISBN 9781591406044 15. Molhanec, M.: STEP standard - Perspective and futurity. In: 29th International Spring Seminar On Electronics Technology, 495-499. International Spring Seminar on Electronics Technology, ISSE. 345 E 47TH ST, IEEE, New York (2006); ISBN 978-1-4244-0550-3 16. Picka, M., Pergl, R.: Gradual modeling of information system: Model of method expressed as transitions between concepts. In: ICEIS 2006 - Proceedings of the Eighth International Conference on Enterprise Information Systems: Databases and Information Systems Integration, Paphos, Cyprus, pp. 538–541 (2006) 17. Selic, B.: The pragmatics of model-driven development. IEEE Software 20(5), 19– 25 (2003) 18. Sowa, J.F.: Knowledge Representation: Logical, Philosophical and Computational Foundations. Brooks Cole, Pacific Grove (2000) 19. Swartout, W.R., Tate, A.: Guest editors’ intruduction: Ontologies. IEEE Intelligent Systems 14(1), 18–19 (1999) 20. Wiegers, K.E.: Software Requirements, 2nd edn. Microsoft Press (2003)
Instance-Level Modeling and Simulation Using Lambda-Calculus and Object-Oriented Environments Vojtěch Merunka 1
2
Czech University of Life Sciences in Prague, Faculty of Economics and Management, Department of Information Engineering
[email protected] Czech Technical University in Prague, Faculty of Nuclear Sciences and Physical Engineering, Department of Software Engineering in Economy
[email protected] Abstract. We present instance-level modeling and simulation approach and related software environments. First part of this paper describes the role of the instance-level modeling and simulation in the area of software engineering and presents our approach affiliated with lambda-calculus theory. Next, a supporting tool we developed is discussed. Instance-level modeling and simulation is based on manipulation with particular object instances containing real data in similar way as in database querying. This enables to validate, verify and refine the conceptual model even before its final software implementation. The idea of object-level modeling is already being implemented in several educational or development tools, however these tools are too much oriented to target programming environment (typicaly mainstream C-based languages like Java or C#) and are focused on class-level models of software implementation. This is why in the second part we propose to work with ODMG-compliant object databases and also describe our own modeling and simulation tool. Our approach has been used for rapid prototyping in our software development projects and in formal design and software engineering courses at several european and U.S. universities. Interesting outcomes of this experience are not only related to application development, but also to business engineering, where instance-level models refines the business process design. Keywords: instance-level modeling and simulation, lambda-calculus, object-oriented programming, ODMG standard, OQL, OCL, Smalltalk.
1
Introduction
Usual approach to software development considers testing as a part of project’s implementation phase. As many modern methodologies (eg. MDA) start from abstract, human elabored specifications, it is necessary to test the emerging design right in its conceptual phase long way before the project is implemented. J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 145–158, 2011. c Springer-Verlag Berlin Heidelberg 2011
146
V. Merunka
This allows us to simulate, validate, verify and refine the conceptual model and thus greatly reduces the need for further changes in the implementation phase. Haworth et al. have mentioned that object-oriented software development is centered on class-based definitions. [14] Objects are produced by instantiation of classes. Objects interact with other objects by invoking their methods. These interactions made by methods make data-dependent behavioral connections among objects, which must be verified and tested. This is the domain where object level testing takes its place. The paper presents our approach to the instance-level modeling and simulation used in business projects and also introduces this approach as a part of software engineering courses at several universities. This goes hand in hand with our endeavor to apply Mayer’s “objects first” approach [17] in education. Moreover, instance-level modeling and simulation is an interesting supplement to the agile development methods and software complexity estimation methods. As put in [19], for the effective communication between developers and customers, the agile software development requires the possibility of easy generating a working prototype of the developed system in order to quickly and effectively negotiate functional requirements and estimate their workload [24].
2
Instance-Level Modeling and Simulation
Instance-level modeling and simulation is the approach to start modeling the system as a set of example objects, that behave like real objects, contain real data and are able to respond on messages. Those objects make a network connected by object behavioral interactions and data structure relationships. As Haword writes in [14], such a network of objects represents the simulation (or prototype) of future software and thus could serve as verifying and validating platform for software development. More information about the process-based sofware development is also in Liu’s monography [16] and Ambler’s book [3]. According to [18], class-only based modelling is short in areas as database design, business modelling, ontology modelling, enterprise modelling, among many others. Instance-level approach describes with elegance the behavior of a collection of objects that simulate a prototype of the future target information system. It could also well serve as an education platform. Trainees are enabled to model the situation of their software and corresponding software users as a set of interconnected real objects and immediately see the results of their work without need to finalize any complex software application for these objects. 2.1
Formal Background
Theoretical computer science is the mathematical study of models of computation. It has been originated in 1930s, far before the presence of modern electronic computers by the work of mathematicians and logicians Church, Kleene, Turing and others. This early work had a strong influence on the practical and theoretical development of the computer engineering and software engineering. But
Instance-Level Modeling and Simulation Using Lambda-Calculus
147
our experience together with [4] says, that this work of the computing sciences pioneers are typically unknown for present users and practitioners. It is obvious, that lambda-calculus is the theoretical foundation of all highlevel programming languages, and it has direct influence to the expresive power of programming languages Lisp, Smalltalk, Java, Javascript, Ruby, Python, OQL, OCL and many other. Although there already are several theoretical works like Abadi’s and Cardelli’s work [1] or [9], which individually demonstrate feasibility to formal description of the object computational paradigm. But based on our long-term experience, formal approaches such as Turing machine, finite-state machines and lambda-calculus are comprehended without any relation to the modern object-oriented programming. The consequence of this common situation is a certain misinterpretation of theoretical computer science tools. The lambda-calculus and similar approaches are regarded almost as pieces from the history of computing having no affiliation and usability to the modern software development. Thereafter our practitioners and trainees are very surprised by the knowledge of direct influence of this ”obsolete” peculiar matter to the syntax and semantics of modern programming and simulation environments.
3 3.1
Tools for Object-Level Modeling and Testing BlueJ
Michael Kölling primarily developed BlueJ learning environment in late 1990s as the reaction to then unsatisfactory status of development environments used for teaching programming languages. It was called Blue system and consists of the special object-oriented language developed for teaching. This environment was later transferred to Java and called BlueJ. The project is now maintained by Deakin University, Melbourne, Australia, and the University of Kent in Canterbury, UK [8]. BlueJ visualizes the class structure and also allows visually modifying the class definition (see fig. 1). After this the environment itself generates the source codes. BlueJ also allows to instantiate the classes and sends the methods to newly created objects to verify the designed model. While BlueJ was primarily intended for teaching the principles of object oriented programming in Java, it could also serve as a platform for verification and validation of the analytical model in the early phases of software development process as described is [8] and [2]. 3.2
.NET Object Test Bench
Inspired by the success of the BlueJ, Microsoft implemented the Object Test Bench into their Visual Studio .NET. This tool (see fig. 2) also enables the user to create objects based on the class definition and execute designed methods and work with their data [20]. However both of these environments are based on the approach where class diagram and class hierarchy must be created before real object can live. This
148
V. Merunka
Fig. 1. BlueJ
Fig. 2. Object Test Bench
requires a higher level of the abstract way of thinking. That’s the big disadvantage of these tools. In the optimal way, modelers must have possibility to create objects at the very first moment and class model should be automatically derived as a result of objects properties and simulations.
4
Our Approach: Data Modeling and Simulation Using Lambda-Calculus
As Michaelson [21] and also Barendregt [5] write, the lambda-calculus is a surprisingly simple yet powerful instrument. In mathematical logic and computer science, lambda-calculus, also written as λ-calculus, is a formal system designed to investigate function definition, function application and recursion. It was introduced by Alonzo Church and Stephen Cole Kleene in the 1930s as part of an investigation into the foundations of mathematics, but has emerged as a useful tool in the investigation of problems in computing sciences. Lambda-calculus and Turing machine are instruments having direct influence to computers’ evolution. Moreover, lambda-calculus can be used for description of the behavior of the Turing machine and vice versa. The lambda-calculus can be thought of
Instance-Level Modeling and Simulation Using Lambda-Calculus
149
as an idealized, minimalistic programming language. It is capable of expressing any algorithm. This instrument is established with the ideas initiated by the ancient pythagorean school going through the european medieval philosophy towards the modern philosophy. The main idea behind is an endeavour to describe the world by mathematical logic. (e.g. “To understand, how the God is doing his things.”) Lambda-calculus is based on function abstraction, to generalize expressions through the introduction of names, and function application, to evaluate generalized expressions by giving names particular values. The lambda-calculus has a number of properties, which suit it well for describing high-level programming languages. First of all, abstraction and application concepts are all that are needed to develop representations for arbitrary programming language constructs. Thus, lambda-calculus can be treated as an universal abstract code for programming languages. Furthermore, there are well-developed proof techniques for the lambda-calculus and these can be applied to descriptions of other programming languages. Finally, because the lambda calculus is adequately simple, it is quite easy to be implemented as it is discussed by Fegaras in [13]. 4.1
Algorithm Examples
Michaelson writes, that Lambda-calculus can be interpreted as the very abstract and formal programming language [21]. We will demonstrate three examples. First example is the signum function from figure 3, which can be written in lambda-calculus as 1 −1 0 x>1 sign = λx . (1) x=0
y
1 0
x
-1 Fig. 3. Signum function
In this example of the signum function we can see the compatibility of the lambda-calculus with the common mathematical syntax. Lambda-calculus extends standard mathematical form of function by the possibility to write functions not only using their symbolic names, but also using their entire computational mechanism. This is obvious from the following example of concrete numeric argument of the signum function:
150
V. Merunka
0 λx
sign(5) =
1
−1 x>1
x=0
(5) .
This expression can be subsequently reduced as 1 −1 1 −1 0 0 x>1 5>1 λx = 5 =⇒ =⇒ 1. x=0 5=0
(2)
(3)
Fig. 4. Euclid’s algorithm in Nassi-Schneidermann Chart in Smalltalk [22]
Another example is at figure 4. This non-trivial example shows the Euclid’s algorithm of the greatest common divisor in the visualized programming language, which looks in the lambda-calculus1 as ⎜ bigger ⇐ b bigger ⇐ a ⎜ ⎜ smaller ⇐ a smaller ⇐ b ⎜ λaλb ⎜ a 0 ⎪ ⎪ ⎟ ⎪ ⎪ ⎪ ⎪ ⎠ ⎪ ⎪ ⎪ ⎪ ⎩ ⎭
(4)
The third and the last example demostrates the possible recursive definition of the factorial function: 1 x · f actorial(x − 1) f actorial = λx . (5) x≤1 1
Round brackets are used for the sequence, curly brackets are used for the iteration.
Instance-Level Modeling and Simulation Using Lambda-Calculus
4.2
151
Objects, Messages and Object Interface
In our approach, we use standard non-typed form of the lambda-calculus for describing object behavior. This behavior consists of object methods and operations with objects. Complex definition of various calculi for objects is described in Abadi’s and Cardelli’s book [1]. For better use of this simple form of calculus, we need to introduce the operator of message send as follows: 1. Operator , which expresses the message μ sent to an object a as send(a, μ) = aμ. 2. Variable σ, which refers to an object, who is the owner of the context, where a lambda-expression containing this variable is present. (It is formal abstraction of variables this or self, well known from object-oriented programming languages.) This self-inflicted extension of the standard lambda-calculus by "self " is referred by Di Gianantonio in [15]. For example, if we have a concrete object customerX of class Customer, which can be written as class(customerX) = Customer, then we can write messages which access some real data from this object like customerX name ⇒ John. customerX surname ⇒ Green. customerX birthdate ⇒ 6/20/1968. customerX address ⇒ Boston. 4.3
Object Interface and Methods
The interface of an object is a set of messages, which this object is able to receive. More formally, by an interface we define, which are object properties/attributes. A method is an algorithm directly associated with its object. Methods contain knowledge, how to react at received messages. In lambda-calculus a method is an ordered pair consisting of a method header and a method body as header, body, which is capable to be implemented using the lambda-calculus as well. Let us have an example of interf ace(customer) = [name , surname , address , birthdate , age], where the attribute age is implemented as a method. Then, if we send the message customerage, we expect to obtain a value, how the object is old. This value could be generated from the lambda-expression from the body of following method: age, ((today − σbirthdate)/365.2422) ∈ methods(customer).
(6)
The self symbol σ in this example is used for accessing the internal value of the birthdate.
152
V. Merunka
More formally, we define a message send μ to an object a as a formula, which uses the lambda expression Λ from method bodies as follows aμ
4.4
=
Λ(a) ∅ . μ, Λ ∈ methods(a)
(7)
Manipulations with Objects Using Lambda-Calculus
Object-level modeling and simulation is based on the work with real object instances. We prefer the style analogous to database querying. There is analogy in selection, projection and other database operations, but in contrast to the standard database technology, there is no strong dependence on concrete programming environment, storage problems, client-server deployment etc. We together with Barry [6] and Blaha [7] believe, that manipulations with collections having objects are the best way how to validate and verify the system design. In computer science, a collection is a grouping of several data items (objects) that have some shared significance to the problem being solved and need to be operated upon together in some controlled fashion. Bruce [9] writes, that there are many collections in recent programming languages and collection library is the most essential component of modern programming languages. Collection operations are aimed for mass data manipulations. This is the only tool for database querying, but is also very appropriate for simulation purposes. There can be used many operations from the set algebra for our object collections such as intersections, unions, Cartesian product, difference etc., but we also need to introduce following three specific operations selection, transformation and projection: select(A, Λ) = A // Λ = {a ∈ A |Λ (a) }
(8)
transf orm(A, Λ) = A Λ = {Λ (a) |a ∈ A }
(9)
project(A, Λ) = A [attr1 , ..., attrn ] = A (λx | [xattr1 , ..., xattrn ]) (10) Of course, the lambda-calculus we introduced here is capable to express these manipulations. For example, if we have set of contracts named Contracts, we can write selection for contracts on price bigger that 50$. Lambda-expression in this example defines the selection rule: Contracts // (λx | xprice > 50)
(11)
Another example is a transformation of the set of contracts to the set of addresses of producers of products within these contracts: Contracts (λx | xproduct producer address)
(12)
Lambda-expression in this example defines the transformation of each contract to the product producer’s address ordered by this particular contract. It is obvious, that these examples can be written in programming languges. Hence we write the same examples in the OQL and Smalltalk language:
Instance-Level Modeling and Simulation Using Lambda-Calculus
153
SELECT * FROM Contracts x WHERE x 50; SELECT x [:x | x product producer address].
5
EyeDB and the Standard ODMG
EyeDB is an Object Oriented Database Management System (OODBMS) based on the ODMG-93 specification, developed and supported by the French company SYSRA. A first prototype of EyeDB was developed at Genethon laboratories for the Genome View project. EyeDB provides an advanced object model (inheritance, collections, arrays, methods, triggers, constraints, reflexivity), an object definition language based on ODMG ODL, an object query and manipulation language based on ODMG OQL and programming interfaces for C++ and Java. [12] Catell writes in [10], that the ODMG standard describes the database management system that supports the modelling and creation of data as objects known from programming languages. This includes some kind of support for classes of objects and the inheritance of class properties and methods by subclasses and their objects. There is currently no widely agreed-upon standard for what constitutes an ODBMS and no standard query language to ODBMS equivalent to what SQL is to RDBMS (relational DBMS.), but we experienced that the EyeDB implementation of languages ODMG ODL and ODMG OQL have satisfactory expressive power to be used as a tool for instance-level modeling and simulation. Unfortunately we found the pivotal disadvantage of the EyeDB system. It is the fact, that is has only command-line support for interactive computing, it has no support of any graphical user interface and it has very limited import and export facilities.
6
Daskalos
Daskalos2 is a computer program made as a separate parcel of the system VisualWorks/Smalltalk version. This system is free for education and research purposes [11]. 6.1
Smalltalk as the Appropriate Programming Language for Modeling and Simulation
Smalltalk was developed in California in Palo Alto Research Centre (PARC) by a team of guiding scientists, Dr. Alan Kay (team of Learning Research Group) 2
Daskalos means a teacher in the Greek language.
154
V. Merunka
and Dr. Adele Goldberg (team System Concepts Laboratory) in the years 19701980. Subject of the whole research, which was remarkably financed by Xerox, was the project Dynabook for the evolution of the future personal computers having GUI. Smalltalk was the almost completed project in the end of the year 1980. Mostly used concepts for it were from the language LISP, Logo and from the first objectoriented language Simula. Part of the development team remained in PARC and was supervised by A. Goldberg’s company ParcPlace Systems (now fused with Cincom), which develops and enhances Smalltalk till today. Others together with A. Kay moved to Apple Computers, where they afterwards introduced in the market the first popular personal computers Lisa and Macintosh with graphical user interface. Contemporary Smalltalk is mainly used in the USA. Except for the commercially worldwide used Cincom VisualWorks, there are also two high-quality freeware implementations: Smalltalk/X and Squeak. Squeak is very popular and supported in the north-American universities. It continues the original idea of the Dynabook and is also popular as an experimental platform for research of innovative 3D GUI and distributed operation systems. 6.2
Language Examples
Smalltalk is fully integrated with its programming environment. Everything is accessible in its source code (and this happens also in commercial implementations). The system acts like the unique large-scale collection of living objects. Important parts of the Smalltalk language are blocks of expressions. Block closures are straightforward implementation of lambda-expressions. A block is an independent object, can be assigned to a variable, several messages can be sent to it, and can be used in other expressions (messages) as a parameter. Block closures are also used in the implementation of Smalltalk methods. The following example shows a block closure, which is stored to an object with the name B. The block closure includes code, which raises the input value to square and adds the value of the object A: formally Smalltalk
B ⇐ (λx | x2 + A). B := [:x | (x ** 2) + A].
This block can be then used as example: A B A B
:= 10. value: 3. := 5. value: 4.
makes the result 19 as 32 + 10, makes the value 21 as 42 + 5.
Other interesting feature of the Smalltalk language is the message perform. It is a message, which sends another entire method to the receiving object. For example an expression M := #factorial. 5 perform: M.
which returns result 120,
Instance-Level Modeling and Simulation Using Lambda-Calculus
155
is equal to invoking method factorial on object 5 as 5 f actorial. Thanks to the huge library of Smalltalk classes it is possible to use Smalltalk as database query language. This is obvious from the following example: formally Smalltalk
[ 2, 3, 6, 5, 4, 7, 8] // (λx | x > 5). #[2,3,6,5,4,7,8] // [:x | x > 5].
which returns result #[6,7,8]. 6.3
Daskalos Application
We developed Daskalos as an application encapsulating original Smalltalk programming environment. In Daskalos it is possible to create classes, solitaire object instances and collections of objects in visual manner. All objects are displayed in UML standard. Methods and other expressions can be written in simplified form of Smalltalk language. This our subset of Smalltalk has the same functionality as the language OCL (part of UML as well). Moreover, syntax of our language is very similar to syntax of OCL.
Fig. 5. Classes and methods
Daskalos allows working with separate real objects in independent windows. This feature is inspired by the Self system as it is described in [23]. For example, mouse clicks invokes methods, data can be manipulated using drag and drop (Fig.6). There is also a workspace panel designed for mass manipulation with objects in manner of setting queries over object collections (Fig. 7).
156
V. Merunka
Fig. 6. Particular object instances in independent windows
Fig. 7. Expression Contracts (λx | xproduct producer address)
Fig. 8. Panel with diagram
Instance-Level Modeling and Simulation Using Lambda-Calculus
157
In Daskalos, the UML class diagram is generated automatically from the database of tested objects, which must exist. (This is Daskalos’ unique feature in comparison to other systems.) This means that analysts should start with particular objects having real data and messages. Generated UML diagram then concurrently shows the actual stage of this analysis process (Fig.8). Moreover, Daskalos saves everything (code, data and diagrams) in HTML format.
7
Conclusion
Our approach and tool has been used for software development projects managed by agile methods. These were project for the state government, regional management, muncipal systems and also information system for the new faculty at a university. Moreover it has been used in courses of formal design and software engineering at 4 european universities and one in the USA. Interesting outcome of our experience is not only related to the software systems development, but also to the area of business and organization management analysis. When organizational or business process models are created using some BPMN or similar tool, these structures are subsequently refined into separate objects and actions, which we can to design and simulate on the instance level. Of course it is true that today’s modeling tools allow the simulation process, but we also need to track value and state changes of essential objects (participants of processes) during business processes are performed. Our future work will be concentrated to interconnection of our matter with a mainstream CASE tools based on the UML and BPMN in order to link their diagramatic process-based simulation with our instance-level simulation.
References 1. Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1996); ISBN 0387947752 2. Ambler, S.: The Object Primer., Agile Model Driven Development with UML 2, 3rd edn. Cambridge University Press, Cambridge (2004); ISBN 0-521-54018-6 3. Ambler, S.: Building Object Applications That Work, Your Step-By-Step Handbook for Developing Robust Systems Using Object Technology. Cambridge University Press/SIGS Books (1997); ISBN 0521-64826-2 4. Ambler S.: Object Orientation – Bringing data proffesionals and application developers together, http://www.agiledata.org/essays/objectOrientation101.html 5. Barendregt, H., Barendsen, E.: Introduction to Lambda Calculus. Technical report, Department of Computer Science, Catholic University of Nijmegen (July 1991) 6. Barry, D.: The Object Database Handbook: How to Select, Implement and Use Object–Oriented Databases (1997); ISBN 0471147184 7. Blaha, M., Premerlani, M.: Object–Oriented Modeling and Design for Database Applications. Prentice-Hall, Englewood Cliffs (1996); ISBN 0-13-123829-9 8. BlueJ Project homepage, www.bluej.org 9. Bruce, K.B.: Foundations of Object-Oriented Languages: Types and Semantics. MIT Press, Cambridge (2002); ISBN: 978-0262025232
158
V. Merunka
10. Catell, R., et al.: The Object Data Management Standard: ODMG 3.0. Morgan Kaufmann, San Francisco (2000); ISBN 1-55860-647-5 11. Cincom Smalltalk, www.cincom.com/visualworks 12. Viara, E., et al.: Distributing CORBA Views From an OODBMS. In: International Database Engineering and Applications Symposium 2002, Edmonton, pp. 116–129. IEEE publications, Los Alamitos (2002) 13. Fegaras, L., Maier, D.: Towards an Effective Calculus for Object Query Languages. In: SIGMOD 1995, pp. 47–58 (1995) 14. Haworth, B., Kirsopp, C., Roper, M., Shepperd, M., Webster, S.: Towards the Development of Adequacy Criteria for Object–Oriented Systems (1997) 15. Di Gianantonio, P., et al.: A lambda calculus of objects with self-inflicted extension. ACM SIGPLAN Notices 33(10) (October 1998) 16. Liu, L., Roussev, B.: Management of the Object-oriented Development Process. Idea Group Publishing, USA (2005); ISBN 1591406048 17. Meyer B.: Towards an Object–Oriented Curriculum, Object Currents, www.sigs.com/publications/docs/oc/9602/oc9602.c.meyer.html 18. Molhanec, M.: STEP standard - Perspective and futurity. In: International Spring Seminar on Electronics Technology, ISSE, pp. 495–499. IEEE, Los Alamitos (2006); ISBN 978-1-4244-0550-3 19. Molhanec, M.: Towards an Agile Project Management in Product Design. In: 32th International Spring Seminar on Electronics Technology, ISSE, pp. 682–685 (2009); ISBN 978-1-4244-4260-7 20. MSDN: Object Test Bench, http://msdn.microsoft.com/en-us/library/c3775d98%28VS.80%29.aspx 21. Michaelson, G.: An Introduction to Functional Programming Through Lambda Calculus. Addison-Wesley, Reading (1989); ISBN 0201178125 22. Scanlan, D.: The structured flowchart niche: strenth of preference. In: ACM Annual Computer Science Conference, Atlanta (1988); ISBN 0-89791-260-8 23. Self, http://selflanguage.org 24. Struska, Z., Pergl, R.: BORM-points: Introduction and results of practical testing. In: Filipe, J., Cordeiro, J. (eds.) Enterprise Information Systems. LNBIP, vol. 24, pp. 590–599. Springer, Heidelberg (2009)
Conceptual Normalisation Formalised Martin Molhanec Czech Technical University in Prague Faculty of Electrical Engineering, Department of e-Technology
[email protected] Abstract. This article aims to put a basis for formal definitions of conceptual normalisation. In the following it briefly describes our approach, and then proposes the definitions, and eventually shows how relational and object normalisation are connected with it. The primary objective of this contribution is a definition of four basic conceptual forms, both formally and informally. Further it elaborates a connection between them and relational normal forms, on one hand, and object normal forms, on the other hand. In the end, the Author argues for herein proposed ideas and definitions. Keywords: data normalisation, conceptual normal forms, object normal forms, relational normal forms, conceptual modelling, data modelling, ontology.
1 Introduction This article is engaged with the issue of conceptual normalisation. The Author has been concerned with this issue for many years and published his ideas in the past years at different scientific events, for example, at EOMAS international workshop [1, 2], ISD (Information System Development) conference [3] and, as well as many local Czech conferences and seminars; we afford to refer only a few of them [4, 5, 6], so this article is one of many of such disseminating the Author’s opinions in the wider scope of international as well as local expert community engaging in conceptual, object and data modelling. The Author hopes that this contribution can be a good starting point for a wider discussion about these very interesting and serious problems. At the conclusion of this section, we can put also some research questions. Above all, what are the reasons for conceptual normalisation? And next, is it really necessary and beneficial? How can we define it by formal way? And finally, the last question. How can we derive object and relational normalisation from it? The rest of this paper is organized as follows. Next, in Section 2, we start off by motivating the need for conceptual normalisation. Section 3 introduces our presumptions and approach. After that, Section 4 gives the results of our work, i.e., the proposal of definitions, formal and informal, of four conceptual normal forms, and finally, Section 5 summarizes the paper, suggests improvements and discusses future directions for research.
J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 159–172, 2011. © Springer-Verlag Berlin Heidelberg 2011
160
M. Molhanec
2 Motivation and Problem Statement Designing the right and correct data model is a crucial moment of the whole life cycle of a data-intensive software product or informational system. The most important feature of this model is that that it must not to be a redundancy in it. This basic and most essential feature of the model reflects the lack of redundancy of Real World around us. The paradigm of relational normalisation (1st to 3rd normal forms and others that are not so common such as BNCF, etc.) is commonly taught in university courses in the field of database theory and design. There are no doubts about the usefulness and advisability of it. We can refer, for example, the works of Edgar F. Codd [7, 8] and Raymond F. Boyce [9], among others. Regrettably, there are many opinions about the nonsensicality of the normalisation principle in the field of an object oriented paradigm given that object oriented databases do not use the concept of primary and foreign keys. This is false in the opinion of the Author. It is true that issues of right design of data models have been discussed of 70s starting with well-known article by Chen [10]. A special attention to this issue is paid by fact-based modeling approach, for example, in [11] and [12], among others. Nevertheless, the Author’s modern-day approach based on ontology theory and covering conceptual, object and relation modeling paradigm is in some respect different from them, according to the opinion of the Author. Another reason for conceptual normalisation is a need to retain a consistency of gradual models during MDD (Model Driven Development) transformations (see, for instance, [13]). We argued that the need of object normalisation arises from the same reasons as for relational normalisation, i.e., from the needfulness of elimination of a redundancy from our data. The employment of primary and foreign keys in definitions of relational normalisation is, thus, to implement the process of relational normalisation for relational databases. So, for the definition of object normalisation we need a different tool for our endeavour. This approach is also supported by many experts, for example, Ambler [14], Nootenboom [15], Yonghui [16], Tari [17] and Khodorkovsky [18], among others. A brief description of approaches of all these authors is included in Molhanec and Merunka [19]. It is clear that all these authorities agree on necessity of object normalisation, but still, there exist some issues to resolve, such as: • There are no definitively and generally accepted definitions of object normal forms. • Most of the authors have a problem with replacing the concept of relational keys with other correct concept in the definition of object normalisation. • It is not clear if the same count of normal forms exist in the object area as well as in the relational area.
3 Presumptions and Our Approach We start this section with the following, in our view, a fundamental presumption that the relational and object models are specialisations of more common and high level
Conceptual Normalisation Formalised
161
conceptual model, and simu ultaneously, that these models there are not a sub-typess of each other. For that acccount we defend, that both the relational and objject normalisations are specialissation of the conceptual normalisation as well. This sim mple but basic assertion is concissely shown in following Fig. 1.
Fig. 1. Conceptual, Relational and Object models
This basic idea (presump ption, conjecture) can be defined more formally as follow ws: Conjecture (Relational an nd Object Models Inherit from a Conceptual Mod del): Let CM, RM and OM be Conceptual Model, Relational Model and Object Moodel respectively. We assert thatt the following is true: RM َ CM ˄ O OM َ CM ˄ RM ڡOM ˄ OB ڡRM
(1)
Here it should be mentioneed the misguided argument which frequently arises in the course of conversation abo out the necessity of object normalisation and differennces between the object and relaational approaches. “The object approacch has not and does not need any primary and foreignn keys, therefore it is betteer than the relational approach and its normalisation iss thus nonsense.” This argument along with h the idea surrounding normalisation as something tthat relates to the primary and foreign keys implicates an idea that normalisation in the area of an object oriented paradigm p is nonsense. However, as previously mentionned, the normalisation paradigm m is not about the keys, because the keys in the relatioonal area are only the proper devices that define the normal forms, but normalisationn is essentially about redundanccy which rises from the absence of redundancy in the rreal world around us. In sequel, we introduce some conjectures, definitions and lemmas needed to buuild up our approach of concepttual normalisation and conceptual normal forms as well. 3.1 Conceptual Model We start this section by briefly defining the conceptual model that will be used in the following subsections. Firsst of all, it must be notes that the conceptual model (C CM) has nothing in common with w computer technologies, programming or databaases. According to Guizzardi [20 0]:
162
M. Molhanec
“The specification of a conceptual model is, hence, a description of a given subject domain independent of specific design or technological choices that should influence particular telematics systems based on that model. Conceptual specifications are used to support understanding (learning), problem-solving, and communication, among stakeholders about a given subject domain. Once a sufficient level of understanding and agreement about a domain is accomplished, then the conceptual specification is used as a blueprint for the subsequent phases of a system is development process.” Therefore, as quoted above, the CM is a model of concepts which occur in the real world. So, the CM is also an outcome of ontological observation of that, and rises from the ontological model of universe of discourse (see, for instance, Heller & Herre [21]). However, only a simplified conceptual model will be used herein without a dealing with ontology too much. In this work only the following concepts in common sense are used. • • • • • •
Object/Instance Class/Sortal/Entity Inheritance/Type Attribute/Property/Intrinsic Moment Composition/Aggregation/Part-Whole Relationship/Association
3.2 Uniqueness and Identity Our approach conforms to Quine’s dicto “no entity without identity” [22]. The concepts of uniqueness and identity of objects in Real World are most essential for the Author because that are very closely connected with the principle of nonredundancy of Real World as well as with the definitions of the conceptual normal forms discussed and defended by us. Accordingly to Guizzardi [20] we may to formally formulate a following conjecture. Conjecture (Identity and Uniqueness): Let RW be Real World, and, x, y are objects of that. Next, let the predicate id denote identity. We assert that the following is true: ∀(x∈RW) □∃id(x) ∀(x∈RW)(y∈RW) (id(x)=id(y) → x≡y)
(2)
(3)
Simply say, for all objects of Real World there exists necessarily an output value of identity function; as well as if values of identity function of two objects are equal, then these objects are identical. It is clear that these assertions are fundamental. We cannot predicate that any natural world objects have any real internal identifiers. Any unique identification of an object such as a serial number is an artificial property created by a human being for intention of creating a unique identification. But the majority of natural world objects
Conceptual Normalisation Formalised
163
do not have such identification at all. Of course, the unique genetic identification is not taken into consideration. In any case, we can say that natural object identifiers, modelled by means of conceptual model, do not exist in Real World, but all that objects are unique anyway. 3.3 The Conceptual Object and Its Features This section introduces the concept of property of a conceptual object as well as some other important definitions, lemmas and theorems employed in subsequent sections of this work. We start by giving an informal definition of property of the object. Definition (Property): A property is certain a characteristic of an object having a value.
(4)
∎ An example of such a property could be: colour or age. Then, the property can also be a set. We use our term in the same sense as Guizzardi and Wagner use the term intrinsic moment in [23]. They claim that: “Intrinsic Moments: qualities such as a color, a weight, an electric charge, a circular shape; modes such as a thought, a skill, a belief, an intention, a headache, as well as dispositions such as the refrangibility property of light rays, or the disposition of a magnetic material to attract a metallic object.” Thus, a property is a certain abstraction of an object’s characterisation, constituent of its intension and distinguishable or perceivable by a human being. Lemma (Property Uniqueness): Let O be an object, and, p, q, be properties of it, and, predicate in denotes a set of all properties of that object, and, predicate cm denotes a conceptual meaning of that. We assert that the following is true: ∀(p∈in(O))(q∈in(O)) (cm(p)=cm(q) → p≡q)
(5)
It is to say, if two properties of the object have the equal conceptual meaning, thus must be the same. Conversely, the set of object properties is unique in context of it. This lemma can be explained as follows. A car has only one colour property. Of course, the colour of car body is a separate property to the colour of the car’s chassis. Therefore, these two colours are two different properties. Next, a person has only one age property, denominated ’age’, and so on. We can prove the property and the result is that the property is a concept as well. In other words, a real car does not have two colours and a person does not have two ages at the same time. The following theorems proposed by the Author relate to object properties as well. Theorem (Conceptual Property Atomicity): Let PO be a set of all properties of an object O, and, p be a property of it, and, c be a concept, and, finally, predicate cm denotes a conceptual meaning of its argument. We assert that the following is true: ∀p∈ PO → ¬∃c ⊑ cm(p)
(6)
164
M. Molhanec
In other words, a conceptual meaning of any object property is not dividable, i.e., object property is atomic. If we need to work with a part of it, in the sense of conceptual meaning, the part becoming a property of its own and original property turns into a new object, often abstract, in relation to an original object. Finally, it is worth noting, that prospective atomicity of any property depends on domain oriented point of view. Theorem (Conceptual Object Simplicity): Let PO be a set of all properties of an object O, and, s be a subset of it, and, c be a concept, and, finally, predicate cm denotes a conceptual meaning of its argument. We assert that the following is true: ∀s ⊂ PO → ¬∃c = cm(s)
(7)
Alternatively say, there is no any conceptual meaning of any subset of object properties, i.e., all object properties are simple concepts in relation to it. If we need to work with a group of object properties as if it was one concept in itself, the group becoming an object of its own, with its own properties, often abstract, related to an original object. Again, it is worth noting, that prospective conceptualisation of any subset of properties de-pends on domain oriented point of view. A simple explanation of the above introduced theorems with the aid of an example relating to the name of a person is demonstrated in the sequel. So, if we work in the domain of our special-interest always with the whole personal name as a single concept encompassing both first and last personal name, we can comprehend this property as atomic and unique in view of the concept of person. However, if we need to work, in the domain of our special-interest, with the first and last name separately, then the personal name becomes an abstract concept by itself with two properties (the first name property and the last name property). On the contrary, if the concept of person has two properties, a first and last name, and we need to work with this pair of properties any time jointly, the pair becomes a single concept by itself with its own denomination, in others words, the pair is a new named concept. In the end, it is important not to overlook the fact that in the conceptual world it is necessary to think of a conceptual meaning of properties always in the context of just at moment used the domain oriented point of view. 3.4 Property, Object and Class We will continue to elaborate other important concepts that will be employed in the following sections of this work. At first we define informally a conceptual class as follows. (It should be noted that we deal with conceptual classes and not with programmer classes.) Definition (conceptual class): The conceptual class is a named set of properties belonging to each similar object.
(8)
• ∎ We must be aware that in Real World the class is only an abstract concept denoting a set of abstract and real objects which are similar to each other. Thus, the class
Conceptual Normalisation Formalised
165
named ’car’ is only a conceptualisation of the set of objects with such similar properties that we have a need to have a common notation for them. This notation is the name of the class. It is worth noting, that the conceptual class does not exist as a real world object at all. Herein two further definitions are submitted: Definition (Intension of Class): Let C be a class, and, PO be a set of all properties p of an object O. We define a predicate in denoting intension of class C formally as: in(C) ≝ {p | p ∈ PO}
(9)
∎ Simply say, an intension of the class is a set of all possible properties of this class. Definition (Extension of Class): Let C be a class, and, o be an instance of this class. We define a predicate ex denoting extension of class C formally as: ex(C) ≝ {o | o ∷ C}
(10)
∎ In other words, an extension of the class is a set of all possible instances (objects) of the class. It is worth noting, that in contrast to the world of programmers where it is possible to easily define the intension of a certain class and the extension of the class results from this definition, in Real World only real natural objects exist constituting the meaningful extension of similar objects and the intension is constructed on the basis of the investigation of their similarities. 3.5 The Base for Conceptual Normalisation Firstly, we must remind that our approach of conceptual normalisation arises from primary presumption about a non-redundancy of Real World, and all the Author’s subsequent considerations used in this article arise from the basic assumption formally articulated as follows: Axiom (about non-redundancy): There is no redundancy in Real World.
(11)
Let’s appreciate the following facts. All objects in the real world exist only in one occurrence. Each human being is a unique individual and there is only one occurrence of the EOMAS 2011 conference etc. In other words, in Real World there are not any two identical instances of the same object existing in the same time and space. Information systems hold a model of Real World by means of included data, so it is clear that as Real World exists without any redundancy, thus the model of that Real World also has no any redundancy. It is worth noting, that it is not the case of warehouses that use redundancy for the purpose of achieving certain specific features. Similarly, database practises frequently rise above the mentioned principles to achieve an increasing throughput in the database system.
166
M. Molhanec
3.6 Definition of Redundancy We can informally define redundancy as the non-existence of identical objects (concepts) in the system and can be formally defined as follows: Definition (Redundant System): Let S be a system, and, x, y be concepts of it, and, cm be a predicate denoting conceptual meaning of its argument. We define a predicate RS denoting redundant system formally as: RS(S) ≝ □∃x, y ∈ S, cm(x) = cm(y)
(12)
∎ Definition (Non-redundant System): Let S be a system, and, x, y be concepts of it, and, cm be a predicate denoting conceptual meaning of its argument. We define a predicate NRS denoting non-redundant system formally as: NRS(S) ≝ □∀x, y ∈ S, cm(x) != cm(y)
(13)
∎ In other words we can say that redundant system contains at least two concepts with the same conceptual meaning, and, conversely, a non-redundant system has no any concepts with the same meaning. It is assumed that the Real World is a non-redundant system; therefore, all mappings of them to any information system result in a non-redundant system as well. Simply say, the mapping must be isomorphic in the domain of our concern. Finally, it is worth noting, that there are different types of redundancy of system, concerning the level of system or instance scheme. But in detail analysis of this issues falls outside the scope of this work.
4 Results: Proposals of Conceptual Normal Forms (CNFs) In the previous section, we have formally defined the concepts of redundancy and non-redundancy of system. Therefore, we may to propose the definitions of conceptual normal forms which are understood as the rules of redundancy prohibition already introduced above and here altogether mentioned again in the sequel. We start this section with the group of informal definitions directly based on previously submitted assertions. 0CNF: There is no redundancy in the real world. 1CNF: A set of object properties is unique in relation to it. 2CNF: An object property is not dividable, in other words, the object property is atomic. If we need to work with a part of it, the part becoming an object of its own, often abstract, with its own properties. 3CNF: If we need to work with a group of object properties as if it was one concept in itself, the group becoming an object of its own, often abstract, with its own properties. For now, we can formally define these informal definitions as follows:
Conceptual Normalisation Formalised
167
Definition (0CNF): Let WR be Real World and, x, y be concepts of it, and, predicate cm denotes s conceptual meaning of its argument. We define 0CNF formally as: 0CNF(WR)≝□∀x, y ∈ S, cm(x) != cm(y)
(14)
∎ Definition (1CNF): Let WR be Real World, and, O be an object from it, and, predicate in denotes a set of all properties of that object, and, predicate cm denotes a conceptual meaning of these properties. We define 1CNF formally as: 1CNF(WR)≝□ ∀O∈WR, ∀p, q ∈ in(O), cm(p)!=cm(q)
(15)
∎ Definition (2CNF): Let WR be Real World, and, O be an object from it, and, PO be a set of all properties of an object O, and, p be a property of that set, and, c be a concept, and, finally, predicate cm denotes a conceptual meaning of its argument. We define 2CNF formally as: 2CNF(WR)≝□∀O∈WR, ∀p ∈ PO, ¬∃c ⊑ cm(p)
(16)
∎ Definition (3CNF): Let WR be Real World, and, O be an object from it, and, PO be a set of all properties of an object O, and, s be a subset of it, and, c be a concept, and, finally, predicate cm denotes a conceptual meaning of its argument. We define a 3CNF formally as: 3CNF(WR)≝□∀O∈WR, ∀s ⊂ PO, ¬∃c = cm(s)
(17)
∎ The grounds for these conceptual normal forms have been introduced previously. It is the Authors’ belief that the relational and object forms can be derived from these more common conceptual forms. This can be briefly described in the following section. 4.1 CNFs in Relation to Relational Normal Forms (RNFs) The Author of this article suggests that 1RNF arises from herein proposed 0CNF to 2CNF. The basis for this suggestion comes from the fact that 1RNF deals with atomicity of data attributes, prohibition of multi-attributes and the necessity of primary key existence. Evidently the issue of atomicity relates to the herein proposed 2CNF, the prohibition of multi-attributes results from 1CNF and the issue of the necessity of the primary key existence relates to principal 0CNF. Further, the Author suggests that 2RNF is a specialisation, by specific manner, of more common 3RNF, but more detailed discussion of this issue is outside the parameters of this article. This means that both 2RNF and 3RNF follow from above suggested 3CNF. The evidence is based on the consideration that transitive dependency between relational keys at the level of the relation data paradigm is simply an implication of the incorrect recognition of conceptual objects at a higher level of comprehensibility.
168
M. Molhanec
Finally, it is worth notin ng, that the concept of relational keys in relational databbase systems by itself presents only the programmer implementation of the conceptt of functional dependency by the t implication of mutual relationships among concepttual objects. Thus, the incorrecct recognition of objects at the conceptual level leadss to a transitive dependency bettween relational keys in the relational level. The all above mentioned connections betw ween all types of normal forms are intelligibly depictedd in Fig. 2.
Fig. 2.. Connectedness between CNFs and RNFs
4.2 CNFs in Relation to Object O Normal Forms (ONFs) Some authors put emphasiis on right designed object oriented model of informattion system, for instance [24, 25], among others. The BORM methodology [26] as example places emphasis on o normalised object model as well. Currently, there is not any standard or comm monly accepted concept of object normal forrms. Notwithstanding, there are many scientists engaged in this issue. A brief surveyy of these very different conceptts is included in Molhanec and Merunka [19]. Moreover, this work co ontains definitions of object normal forms based onn an approach introduced originally by Ambler in [7] and further elaborated by them. T The overview of informal defin nitions of all ONFs proposed by these authors and bbrief comments of them is shown n in Table 1 as below. Table 1. Definitions D of ONFs by Merunka & Molhanec
Object Normal Form
Definitions by Merunka &Molhanec
Notes
1ONF
A class is in the 1ONF when its objects do not contain group of repetitive attributes. Repetitive attributes must be extracted into objects of a new class.
This definition arisees e directly from our 1CNF F F, because the all members oof the group of repetitivve v attributes surely have thhe h same conceptual meaningg. g
Conceptual Normalisation Formalised
169
Table 1. (Continued) The group of repetitive attributes is then replaced by the link at the collection of the new objects. An object schema is in 1ONF when all of its classes are in 1ONF.
2ONF
A class is in the 2ONF when it is in 1ONF and when its objects do not contain attribute or group of attributes, which are shared with another object. Shared attributes must be extracted into new objects of a new class, and in all objects, where they appeared, must be replaced by the link to the object of the new class. An object schema is in 2ONF when all of its classes are in 2ONF.
3ONF
A class is in 3ONF when it is in 2ONF and when its objects do not contain attribute or group of attributes, which have the independent interpretation in the modelled system. These attributes must be extracted into objects of a new class and in objects, where they appeared, must be replaced by the link to this new object. An object schema is in 3ONF when all of its classes are in 3ONF.
But, it is worth noting, that by us the collection of that is allowed, because in this case we deal in real with the meaning of the collection which is unique within the frame of the class. This definition arises directly from our 3CNF, because the group of shared attributes has undoubtedly its own meaning and must becoming an object of its own, then often abstract. Nevertheless, it is worth noting, that our definition of 3CNF covers more possible issues because we have not need of attribute sharing. Finally, the principle consists in the fact of an independent conceptual meaning of an attribute group. This definition not only arises directly from our 3CNF, but it is also a direct counterpart of it. The authors’ “independent interpretation” is equal to our “independent conceptual meaning”. As defended by us, we count this 3ONF as a more general form than just before mentioned 2ONF. Conversely, the authors’ 2ONF is, thus, only the specialisation of the most common 3ONF.
Despite the fact that authors deal with the object oriented paradigm, the definitions of object normal forms are mostly based on analogical relational forms, i.e., 1ONF is based on 1RNF, and so on. This analogy is not entirely rigorously, because the 2RNF has not a direct counterpart. Furthermore, the fundamental difference of these ONFs definitions in comparison with definitions of RNFs lies in the fact, that these are
170
M. Molhanec
constructed without the use u of relational keys concept naturally. The all above mentioned ONFs by Molhaanec and Merunka and its connections with our CNFs are intelligibly depicted in Fig. 3.
Fig. 3. 3 Connections between ONFs and RNFs
To summarize this sectiion, we can say that these definitions of ONFs are inddeed very similar to the definitio ons of CNFs proposed herein with respect the exceptiions before mentioned and we can c apply the same or very similar argumentation for thheir reasoning. But, it is clear th hat these ONFs do not deal with any analogy counterpparts of our 0CNF and 2CNF. We strongly believe that it is a big lack of these O ONF definitions. Therefore, in the end, we w propose an idea to build proper ONFs by analogy w with CNFs proposed herein. Butt it is clear that we have a necessity to proper reformuulate all that conceptual definitions with the aid of object oriented paradigm terms.
5 Conclusion and Fu uture Works In this paper the Author deals d with the issue of conceptual normalisation, but aalso proposes the formal defin nitions of conceptual formal forms. The formalisationn is based on intensional sorrtal modal logics (i.e., intensional modal logics w with quantification restricted by sortal) with minimum additions to it. Further, the Author also o suggests that relational and object normalisations joinntly arise from the same source, i.e., from the conceptual normalisation. Surprisingly, this principal and serious subjecct matter is not widely discussed in the expert communnity at all. In addition, the neeed for object normalisation that directly arises from the conceptual one is often disp puted. Moreover, it is worth no oting, that this proposal is only a part of the large authoor’s work in this area. The insinuated way of a possible creation of object normal forrms will be developed and argueed in a future work of the Author. Firstly, there is a goaal to
Conceptual Normalisation Formalised
171
build proper ONFs by analogy with CNFs proposed herein. Secondly, we aim to define formal methods of derivation RNFs and ONFs from CNFs. Eventually; we develop a universal ontology based theory of normalization generally. Finally, the Author believes that his contribution in this very interesting and serious subject matter can be a good starting point for the discussion of this issue in the frame of international expert community engaging in conceptual, object and data modelling. Acknowledgments. This research (work) has been supported by Ministry of Education, Youth and Sports of Czech Republic under research program number MSM6840770017, SGS10/267/OHK3/3T/13 and SGS10/162/OHK3/2T/13. Martin Molhanec In Prague, 19 March 2011
References 1. Molhanec, M.: A Contribution to User Interface Modelling Based on Graph Transformations Approach. In: CEUR Workshop Proceedings, vol. 458 (2009); ISSN 1613-0073 2. Molhanec, M.: Towards the Conceptual Normalisation. In: CEUR Workshop Proceedings, vol. 601, pp. 133–141 (2010); ISSN 1613-0073 3. Molhanec, M.: Some Reasoning behind Conceptual Normalisation. In: Information Systems Development 2010, pp. 1–10. Springer, Heidelberg (2010) 4. Molhanec, M.: Úvod do konceptuální normalizace. In: Tvorba softwaru 2010, pp. 141– 149. VŠB - Technická univerzita Ostrava, Ostrava (2010); ISBN 978-80-248-2225-9 5. Molhanec, M.: Krátká úvaha o normalizaci. In: Objekty 2009, pp. 149–160. Univerzita Hradec Králové, Hradec Králové (2009); ISBN 978-80-7435-009-2 6. Molhanec, M.: Ontologické základy konceptuální normalizace. In: Objekty 2006, pp. 81– 90. Technická universita Ostrava - Vysoká škola báňská, Ostrava (2006) 7. Codd, E.F.: A Relational Model of Data for Large Shared Data Banks. Communications of the ACM 13(6), 377–387 (1970), doi:10.1145/362384.362685 8. Codd, E.F.: Further Normalization of the Data Base Relational Model. Presented at Courant Computer Science Symposia Series 6, Data Base Systems, New York City, (May 24-25, 1971); IBM Research Report RJ909 (August 31, 1971) (1972) 9. Codd, E. F.: Recent Investigations into Relational Data Base Systems. IBM Research Report RJ1385 (April 23, 1974); Republished in Proc. 1974 Congress Stockholm, Sweden. North-Holland, New York (1974) 10. Chen, P.: The Entity-Relationship model- toward a unified view of data. ACM Transactions on Database Systems, 9–36 (1976) 11. Benci, E., Bodart, F., Bogaert, H., Cabanes, A.: Concepts for the design of a conceptual schema. In: Nijssen, G.M. (ed.) Modelling in Database Management Systems, pp. 181– 200. North-Holland, Amsterdam (1976) 12. Halpin, T.: What is an elementary fact? In: Nijssen, G.M., Sharp, J. (eds.) Proceedings first NIAM-ISDM Working Conference (1993)
172
M. Molhanec
13. Picka, M., Pergl, R.: Gradual modeling of information system - Model of method expressed as transitions between concepts. In: ICEIS 2006: Proceedings of the Eighth International Conference on Enterprise Information Systems, Portugal, pp. 538–541 (2006); ISBN: 972-8865-43-0 14. Scott, A.: Building Object Applications That Work, Your Step-By-Step Handbook for Developing Robust Systems Using Object Technology. Cambridge University Press/SIGS Books (1997); ISBN 0521-64826-2 15. Jan, N.H.: Nuts - an online column about software design, http://www.sum-it.nl/en200239.html 16. Wu, Y., Aoying, Z.: Research on Normalization Design for Complex Object Schemes. In: Proceedings of ICII 2001 Info-Tech and Info-Net, Beijing, vol. 5, pp. 101–106 (2001) 17. Zahir, T., John, S., Stefano, S.: Object Normal Forms and Dependency Constraints for Object-Oriented Schemata. ACM Transactions on Database Systems 22(4), 513–569 (1997) 18. Khodorkovsky, V.V.: On Normalization of Relations in Databases. Programming and Computer Software 28(1), 41–52 (2002) 19. Molhanec, M., Merunka, V.: Object normalization as the contribution to the area of formal methods of object-oriented database design. In: Advances in Computer and Information Sciences and Engineering, pp. 100–104. Springer Science+Business Media, Berlin (2007); ISBN 978-1-4020-8740-0 20. Guizzardi, G.: Ontological Foundations for Structural Conceptual Models, PhD Thesis (CUM LAUDE), University of Twente, The Netherlands. Published as the book Ontological Foundations for Structural Conceptual Models., Telematica Instituut Fundamental Research Series No. 15, ISBN 90-75176-81-3 ISSN 1388-1795 21. Heller, B., Herre, H.: Ontological Categories in GOL. Axiomathes 14(1), 57–76 (2004) 22. Quine, W.V.O.: Ontological relativity’ and Other Essays. Columbia University Press, New York (1969) 23. Guizzardi, G., Wagner, G.: Some Applications of a Unified Foundational Ontology in Business Modeling. In: Rosemann, M., Green(, P. (eds.) Ontologies and Business Systems Analysis. IDEA Publisher 24. Knott, R.P., Merunka, V., Polak, J.: The BORM methodology: a third-generation fully object-oriented methodology. Knowledge-Based Systems 16(2), 77–89 (2003); ISSN 0950-7051 25. Scott, A.: The Elements of UML(TM) 2.0 Style. Cambridge University Press, New York (2005); ISBN: 0521616786 26. Knott, R.P., Merunka, V., Polak, J.: The BORM Method: A Third Generation ObjectOriented Methodology. In: Liu, L., Roussev, B. (eds.) Management of the Object-Oriented Development Process, pp. 337–360 (2006); ISBN 9781591406044
Modelling and Prototyping of Business Applications Based on Multilevel Domain-Specific Language Robert Pergl Department of Information Engineering, Faculty of Economics and Management, Czech University of Life Sciences, Prague, Czech Republic
[email protected] Abstract. An effective approach to modelling and prototyping of business applications is presented in this paper. The approach is based on three concepts: The concept of data structure abstraction, the concept of a behavioural model based on the dynamic functional approach and a design approach based on creating multiple levels of a domain-specific language. The characteristics of each concept are presented. A technique how to combine them together to create highly detailed descriptive models that may be easily turned to prototypes is shown and demonstrated. Limitations are formulated and benefits over the object-oriented approach are discussed, as well. Keywords: Functional modelling, Prototyping, Domain-specific languages, Abstract data structures, Functional programming languages, Clojure, Lisp.
1
Introduction
Some voices in the computer-science community start to point that computer science development is stuck in the object-oriented approach (OOA) and there is a several-year stagnation in the development of computer science techniques and paradigms. Experience shows that OOA has its considerable limits and that it has failed in may of its promises in practice ([9])1 . New approaches are being called-for that may have a potential to boost flexibility and reusability of software systems. It seems that there is no “silver bullet” in the form of omnipotent approach or paradigm ([7]) and no new revolutionary paradigm is at stage. The development we may do today lies in combination of existing paradigms, some of them almost abandoned in spite of their potential. This is 1
When we speak about object-orientation in this paper, we generally mean the pure object-orientation present e.g. in Smalltalk modelling language that is able to offer as much benefits as may be principally obtained. For a discussion how static and hybrid object-orientation spoils the OOA, see e.g. [7]
J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 173–191, 2011. c Springer-Verlag Berlin Heidelberg 2011
174
R. Pergl
mostly an issue for systems development, however the modelling and prototyping paradigms are touched as well – models and prototypes paradigm should match the implementation paradigm. We present three concepts in this paper that form the necessary foundation needed to develop a basic business application (BA) system model: Data abstraction concept – We present a general abstract model for building data structures in section 2. Behaviour abstraction concept – We present the concept of behavioural model based on a dynamic functional approach in section 3. Architecture concept – We present a concept of multilevel domain-specific language approach in section 4. We discuss each concept separately in each section and their combination for prototyping a practical task is shown in section 7.
2
Data Abstraction Concept
Generally, we may divide data structures into ([1]) – Primitive (numbers, characters, symbols, . . . ), – Compound The key data structures for complex models are the structures that aggregate other data structures, usually called data collections. There are three main classes2 that take many different names: Sequence type class – List, array, vector, sequence: the order of the elements is given by some rule (explicit order, alphabetical order, order based on the time of adding the element, etc.). Equal elements may occur multiple times. These collections are based on the mathematical term of n-tuple. Set type class – This collection is based on the set as defined in mathematics. Each element may be present just once and elements have no order. Associative type class – Associative map, associative list, dictionary: each element has a unique key by which it is identified. There is no order of elements. Typically, various implementations are available in modelling languages (e.g. linked list vs. hash list vs. various trees) that differ in their (performance or memory consumption) characteristics. Various implementations are, however, not important for modelling and prototyping, moreover they may lead from the process of abstraction to optimisation too soon and bring unwanted complexity to the design process. As BA are in their nature very complex, we try to avoid any further sources of complexity in the early stages. Attributes hold the data structures in the OOA. From this view, an object is an associative map where we access data element using its identifier3 . In objectoriented models operations are encapsulated with the data structures. 2 3
The term “class” is used here in its general meaning, not the object-orientation semantics. Which is explicit in the JSON data format.
Modelling and Prototyping of Business Applications
3
175
Behaviour Abstraction Concept: Functional Paradigm
The functional paradigm is one of the “old” paradigms that have been almost forgotten in the realm of business applications. It used to be a domain of academic research or artificial intelligence since its beginnings in 1960s until last few years. However, in recent years (or even months), the functional approach experiences (a deserved) attention from both the community of professional programmers and computer scientists. Clean functional approach may offer many advantages both in the analysis, design and implementation. 3.1
Functional Model
A modelled system may be mathematically formalized as a mapping (function) from the set of inputs I into the set of outputs O. This provides the so-called “black-box” view on the system. To get a “white-box” view, it is necessary to specify the details of how the inputs are transformed to outputs. In the case of the procedural (or imperative) model, the specification consists of a sequence of instructions4 . In the functional model, the specification consists of functions. Using a pure functional model provides some substantial advantages over the procedural model, which will be discussed in this section. The functional model, however, has its limitations, which will be discussed as well.
Fig. 1. Procedural model (taken from [16])
The procedural model achieves complex tasks by executing large numbers of instructions, which sequentially modify a system state until a desired result is achieved. Functional model achieve the same goal through composing nested 4
The object-oriented model is a procedural one in this sense: message sending is performed in an imperative manner.
176
R. Pergl
Fig. 2. Functional model (taken from [16])
functions, passing the result of one function as a parametre to another. All the data is handled through function parametres and return values (see Figure 1 compared to Figure 2). Those are so-called pure functions: they depend upon nothing but their parametres, and they do not perform any side effects, but just return a value. If we manage to model the system in a purely functional way, we get the following considerable benefits for implementation [16]: Easiness to parallelise the algorithm: Since each function is a distinct, encapsulated unit, it does not matter if functions are run in the same process or even on the same machine. High degree of encapsulation and reusability: Each function is effectively a black box. Therefore, understanding the inputs and the outputs makes understanding the function. There is no need to know or care about the inner details. The OO model tries to achieve this through objects, but actually it is impossible to guarantee, because objects have their own state. An object’s type and method signatures can never tell the whole story: it depends on how it manages its state and how its methods impact that state. In a complex system, this quickly grows in complexity and often the advantages of class encapsulation quickly disappear. Especially when class inheritance is used, which breaks encapsulation by exposing some implementation details (protected members, which non-private functions are called by which non-private functions, etc). Easiness to reason about : In a purely functional model, the execution tree is very straightforward. By tracing the function call structure, it is clear what is happening. In order to understand a procedural, stateful model it is necessary not only to understand the code, but all of the possible permutations of state that may exist at any point in time. Easiness to test : Pure functions are very easy to write unit tests for. One of the most difficult aspects of unit testing is anticipating and accounting for all the possible combinations of state and execution paths. Pure functions have well-defined, stateless behaviour that is extremely simple to test. In addition, data structures used are very simple and easy to construct in the place
Modelling and Prototyping of Business Applications
177
they are used without a need for creating mock-up classes and objects implementing given interfaces or instantiating objects and setting their inner state through series of calls of its methods. In practice, we are not usually able to model the system as fully pure functional. We need to introduce imperative instructions for the following situations: – We need to model side effects like disk reading and writing and user interactions. – We need to model order of operations. – We need to model time in the system. These are serious limitations, however in most business systems there is still much space for purely functional modelling that may be used for goal-oriented and constraint-based parts of the system. The key point is to limit the number and size of the parts of the system that have a procedural nature from the rest, that may be modelled functionally. This approach maximises the benefits mentioned above while not limiting the expressive power.
4 4.1
Architecture and Decomposition Decomposition Based on Fundamental Concepts
Decomposition is a famous technique that is used for engineering of complex systems. It means dividing a system into smaller subsystems in a tree-like manner. Thus complex systems are modelled by composing basic building blocks into compound structures, which again are composed into more complex ones. Each paradigm has its own system of building complex structures based on its fundamental concepts: Structured model – procedures/functions Object-oriented model – objects Logic-based model – rules Functional model – functions The decomposition makes it possible to focus just on a necessary level of detail in each single moment. However this plain decomposition does not work in practice as effectively as it seems. When a change needs to be done to a node, generally it brings the need to decompose the whole subtree again. Unfortunately, a lot of changes happen at higher levels of the tree in the BA domain (new customer requirements or changes to the requirements), so this fact may cause intensive restructuring of the whole tree. This results in a non-linear complexity of performing model changes. Another characteristic of BAs is their
178
R. Pergl
evolution: new features are added over the time. The situation is similar: adding a new feature usually results in massive rewrites at all the levels of the tree. Plain decomposition also makes the reusability difficult: it is theoretically possible to reuse the subtrees, however it is hard to find a subtree that may be reused, because every subtree was created only with the respect to the specific parent. It is necessary to mention that today’s most used approach, a decomposition into objects in the object-oriented approach accompanied with heavy encapsulation brings considerable problems as is shown e.g. in [2] and [7]. Clean object-oriented approach makes changes and enhancements more flexible compared to structured decomposition, however its orientation on protocol and communication brings a considerable overhead. For example many design patterns [8] try to deal with various problems trading flexibility in one area for another. Design patterns in the OOA exist because the only way to do any sort of abstraction in OO systems is to define communicating and cooperating objects ([7]). Decomposing problem to object classes implies creating mental model of objects dividing responsibilities they have. This model is built on abstractions the classes represent. However, the abstractions are created rather arbitrarily, especially in the beginning. As the model changes, the responsibilities of the objects move, interfaces change and abstractions may become inconsistent with the mental model, making the model hard to understand. Refactoring[6] is then a common way to create change the model to match a new mental model and abstractions that we may not yet have. Warren Harris, a member of technical staff in the modelling Technology Department of Hewlett-Packard Laboratories, says to this: “. . . the very nature of the dynamics of OOP seems to be making these sorts of refactorizations” [7].
5
Motivation for a Domain-Specific Language Approach
Experience shows that OOA has its considerable limits and that it has failed in may of its promises in practice ([9]). New approaches are being called-for that may have a potential to boost flexibility and reusability of software models and systems. It seems that there is no “silver bullet” in the form of omnipotent approach or paradigm ([7]) and no new revolutionary paradigm is at stage. The development we may do today seems to lie in combination of existing paradigms. Let us present several motivational statements. Most of them are taken from [16], [2] and [7]. – “The truth of the dynamics/evolutionary situation is that you need all the code (and models! Note by the author) in front of you so that you can massage it into the new form you want it to take. ... Minimizing outside dependencies is a good thing, but doing this at the class level is usually just too fine grained.” (Warren Harris in [7])
Modelling and Prototyping of Business Applications
179
– OO approach encourages a high degree of ceremony and bloat. Simple functionality may require several interdependent classes to make a mental model match some “story” about the problem. Most of the bulk of a program is not actual program code, but defining elaborate structures to support it. – Objects require creating communicating entities, which means that the system is modelled by building structures rather than by linguistic expression and description through form, and this often leads to a mismatch of language to problem domain. – 16 out of 23 GoF fundamental design patterns [8] for OO languages are natural primitive constructs in functional languages due to avalability of: • First-class types (6): Abstract-Factory, Flyweight, Factory-Method, State, Proxy, Chain-Of-Responsibility • First-class functions (4): Command, Strategy, Template-Method, Visitor • Macros (2): Interpreter, Iterator • Method Combination (2): Mediator, Observer • Multimethods (1): Builder • Modules (1): Facade 5.1
Multilevel Domain-Specific Language Approach
A multilevel approach based on DSL [12] (ML-DSL) assumes that we have a domain-specific language available for modelling the system at each level of abstraction. Such a language layer is considered the perfect language for formalising a system5 . Using the multilevel domain-specific language approach means that we use this language at a certain level without having it specified in the lower level first. This is the most important difference to the general Domain-Specific Language approach, where there is no strict segregation to levels specified. Multiple levels of the language brings advantages of the decomposition, while maintaining the expressiveness of the language (which is missing in plain top-down approach). For ML-DSL we assume that the set of compound data structures consisting of three classes of data types mentioned in section 2 is available and that there are functions defined above them that provide the lowest level of the DSL for manipulating them. They form the leaves of the decomposition tree. For the functional modelling and programming, they are the primitive functions for manipulating the basic data structures. Further on, we will call them DSL-FL, the domain-specific language of functional language. The complete model should be consistent, i.e. every DSL term should be either the DSL-FL or it should be defined at some lower level. It is not necessary to strictly go from top to down as we do in our example below, however in the end the model should be complete. 5
In OO modelling this approach sometimes leads to the Facade design pattern, however the flexibility of it is limited in the aspect of malleability and extensibility of the pattern.
180
6
R. Pergl
Rapid Prototyping of Functional Models
We need to choose a suitable language for expressing the functional models. The Lisp-style functional programming languages are well-prepared for developing domain-specific languages [16]. The advantage of using a language with an interpreter is the possibility to develop prototypes that may be used for simulations and testing and even for the following implementation of the system. We use the Clojure programming language ([10], [16], [4]) for such purposes, which is a new rapidly-developing very pure dynamic functional language that starts to get a considerable number of fans among programmers both from research and the commercial sector. Its syntax is built on the famous Lisp programming language, but it omits some complexity that has been notoriously causing bad dreams to programmers and on the other hand it adds some powerful data structures and abstract concepts not present in Lisp. All core language functions are side-effect free and immutability “by design” is emphasized over immutability “by convention” used in other Lisp dialects that did not prove sufficient. Clojure is implemented upon the Java virtual machine and the integration with the Java libraries is almost seamless. The performance is reported to be (or can be easily made) the same as the hand-written Java code [10]. We decided to use Clojure for our demonstration because of its transparent syntax and powerful data structures. In Clojure the notation for calling the function with arguments is (as in Lisp): (function-symbol argument1 argument2 ...) We may specify the transformation performed by a certain (sub)system at the highest level like (output (transformation (input *input-data*))) We will call this DSL level Level 0. We may now specify lower-level languages. During the prototyping process we will perform iteratively just a few operations: – Design the DSL to operate the actual level of abstraction. – Design necessary data structures to hold the data of the actual level. – Design primitive DSLs to access and manipulate data structures of the actual level.
7
ML-DSL Prototyping Demonstration
We will present the approach on a simple example of a payments pre-processing system. The system is expected to perform the following transformation: it takes lines that represent payment records as input. Each record (line) has the following structure:
Modelling and Prototyping of Business Applications
181
<Payment code> <Payment amount expression> <Payment type>, e.g. Electricity for the main building 12000 1000 Building costs The payment code specifies the purpose of the payment. It may consist of small and capital letters and spaces. The payment amount expression in the form of a sequence of numbers separated by any number of spaces follows. The rest of the line specifies the payment type (or an account in the accounting terminology). The goal of the transformation is to sum the amounts for the payments with the same code and type, thus Electricity for the main building 1000 13000 Facility costs Salaries 150000 Staff costs Electricity for the main building 1000 1500 500 Facility costs Salaries 2000 2000 Staff costs should produce: Electricity for the main building 17000 Facility costs Salaries 154000 Staff costs Let us now demonstrate the ML-DSL prototyping of our example by implementing it in Clojure. We will show the implementation of the DSL at each level. To stay in the picture, the reader may refer to the Figure 3 during the reading. It depicts each level’s DSL and the relations between the levels. 7.1
Level 0
As mentioned, this level is a trivial one. In our case, we may map the general concepts of input, transformation and output to our domain to get our level-0 DSL: (output-payments (aggregate-payments (read-payments *input-data*))) The read-payments function in our prototype will directly read the input data from a static binding:6 (def *input* ["Electricity for the main building 13000 Facility costs" "Salaries 150000 Staff costs" "Electricity for the main building 1000 1500 500 Facility costs" "Salaries 2000 2000 Staff costs"]) The square brackets denote a Clojure data type vector, which belongs to the class sequence according to the taxonomy in section 27 6 7
In the system’s implementation, it would read the data from some data source like a text file, a database or a network. Actually there is an abstract type called sequence in Clojure that abstracts sequential types like lists, vectors, strings. However this is a language detail that is not important for our purpose.
182
R. Pergl
Fig. 3. The ML-DSL structure. Primitive functions are dark grey.
7.2
Level −1
We dive one level down and we will use a lower-level DSL for working with the DSL of the higher level: functions read-payments, aggregate-payments and output-payments. On the input, there is a sequence of strings representing payments. The reading function thus needs to perform a transformation on all the elements making payments out of strings. (map function sequence) Clojure map function takes a function and a sequence. Its result is a sequence of elements transformed by the function. Thus we may define the function: (defn read-payments [lines] (map payment-from-string lines)) The [lines] expression has the meaning of input parametre to the function. Let us define the transformation now: (defn aggregate-payments [payments] (reduce add-to-category {} payments)))
Modelling and Prototyping of Business Applications
183
The processing means to aggregate payments according to their category. The DSL we need here needs to express the fundamental operation, i.e adding the payment to an appropriate category. The payments input will be represented as a sequence of payments. The processing task is solved by aggregating all payments in the sequence. For this operation we use the Clojure reduce function. (reduce reduce-function accumulator list) Reduce takes the starting accumulator and processes the elements of the list by feeding them to the reduce-function. The reduce-function takes the accumulator and an item and produces a new version of the accumulator in each iteration. We decided to select Clojure map data because it will enable us to locate each payment category effectively by its key. The map data structure has the following syntax in Clojure: {key value key value ...} Keys and values may be of any type. We provide an empty map {} as the accumulator starting value. The output function will in the end transform the map into a plain sequence of aggregated payment categories: (defn output-payments [payments-map] (vals payments-map)) It uses the Clojure vals function to extract all values from the map. Despite the fact that it is trivial, we may start enjoying the REPL-style rapid prototyping. REPL stands for “Read”, “Evaluate”, “Print”, “Loop” which is typical for functional – especially Lisp-like – languages development environments. The interpreter continuously reads and evaluates the input, which makes building functional prototypes feel more responsive and enjoyable: we may play around with small pieces of code that are easy to debug and experiment with various ideas very fast. “When building something thats never been built before, the only way to get it right is to get it right every step of the way, by repairing anything that is new and broken as soon as its written and by making sure that nothing that is already ok becomes broken. In writing, this means proofreading each sentence as soon as its complete, if not sooner. When a paragraph is done, proofread it.” (Richard P. Gabriel in [7]) More about REPL can be found e.g. in [14]. Let us suppose we have some result in the form {"cat1" "payment1" "cat2" "payment2"}
184
R. Pergl
We may evaluate output-payments in the REPL8 : => (output-payments {"cat1" "payment1" "cat2" "payment2"}) ["payment1" "payment2"] Please notice that we still use the most general concept of payment, ignoring even the simplest notions how it may look like! This is a luxury of simplicity that is generally impossible in object-oriented / statically typed environments.
7.3
Level −2
We will implement adding to category required by the upper level now. This function takes a payments map that consists of payments keys and corresponding payments and returns a new map, where the payment has been added to the appropriate category. We need two functions for our DSL at this level: get-payment-category that will provide us a unique key for a payment and add-payments that will merge two payments into one merging whatever needs to be merged. From the DSL-FL we will need the operation of getting the value of the given key from a map and associating a value to the key in the map. Getting the value of a key is trivial in Clojure: calling the map as a function with the parametre that is the key. (map key) The associating is done with the assoc function: (assoc map key value) Thus our function will be: (defn add-to-category [payments-map payment] (let [key (get-payment-category payment)] (assoc payments-map key (add-payments payment (payments-map key)))))
The let form enables to bind expressions to comprehensible names9 . It takes two parametres: a vector with pairs “symbol-expression” and the body that uses these symbols. We may test our DSL prototype in practice now. We may invent our own mockup data structures that will be accessed by those two functions to develop and test the functionality of this level. The simplest data structure we may specify for this purpose is a payment consisting of two values: its category and its value: e.g. ["cat1" 3000]. We may now write trivial functions for working with this data structure: 8
We will depict evaluating an expression in the REPL by “=>” and provide the result of evaluation on the following line.
Modelling and Prototyping of Business Applications
185
(defn get-payment-category [payment] (first payment)) (defn add-payments [payment1 payment2] (if (nil? payment2) payment1 [(first payment1) (+ (second payment1) (second payment2))])) If payment2 is nil, the result is payment1 unchanged. Otherwise, the result is a new payment constructed from the code being the first element of payment1 and the sum of payment amounts being the second elements10 . These functions may be immediately defined and tested in the REPL, however we will not do this, for they are really trivial. These functions will be redefined by real versions later when we deal with the lower DSL level. Now we have a complete DSL for this level and we may test it: => (add-to-category {"cat1" ["cat1" 3000]} ["cat2" 500]) {"cat2" ["cat2" 500], "cat1" ["cat1" 3000]} => (add-to-category {"cat2" ["cat2" 500], "cat1" ["cat1" 3000]} ["cat2" 50]) {"cat2" ["cat2" 550], "cat1" ["cat1" 3000]} 7.4
Level −3
In this level, we will redefine the functions that are used in the higher-level DSL using “ideal” lower-level DSL functions: (defn get-payment-category [payment] [(get-payment-code payment) (get-payment-type payment)]) (defn add-payments [p1 p2] (if (nil? p2) p1 (construct-payment (get-payment-code p1) (+ (get-payment-amount p1) (get-payment-amount p2)) (get-payment-type p1)))) 7.5
Level −3.5
Before dealing with concrete representation of the payment let us implement the function needed in Level -1 payment-from-string. We abstracted payment as a sequence individual payment elements, thus we will construct it from a sequence: 10
Please notice the Lisp-style prefix notation of addition first the function name, then the parametres.
186
R. Pergl
(defn payment-from-string [string] (payment-from-sequence (sequence-from-string string))) payment-from-sequence is trivial: we just need to take 3 first elements from the sequence: (defn payment-from-sequence [seq] (apply construct-payment (take 3 seq))) Which we may test in the REPL: => (payment-from-sequence ["a" 3 "x"]) ["a" 3 "x"] We denoted this level as −3.5 because it has a more local (specific) purpose. 7.6
Level −4
We will implement the DSL used in level -3. This is the level where we first need to consider the representation of the data structure of payment. It implies that changing the structure of payment will not affect levels above −4!
(defn get-payment-code [[code amount type]] code) (defn get-payment-amount [[code amount type]] amount) (defn get-payment-type [[code amount type]] type) These functions are analogous to property getters in object-oriented languages. We used the concept called “destructuring” here, which provides a highly expressive mechanism [3]. The argument passed to get-payment-* functions is the payment vector. However, we directly specify its structure in the parametre. This results in destructuring the elements to the appropriate bindings. Thus construct-payment will now look like: (defn construct-payment [code amount type] [code amount type]) This function is analogous to object constructors in object-oriented languages.
Modelling and Prototyping of Business Applications
7.7
187
Level −5
Now we descend into a pure internal level that maps the specific input format into our higher-level sequence. To make the message of Figure 3 as clear as possible, we did not depict details of this level into it. We may implement this level using any approach and apply various implementation tricks here, because this is the only level that will change if the input format changes (which we consider very probable). All higher levels will remain intact. sequence-from-string may be achieved by the transformation chain string -> split-to-words -> process-words and performing merging of mergeable elements, i.e. amounts that should be summed: (defn sequence-from-string [string] (reduce merge-item [] (process-words (split-to-words string)))) Splitting to words may be achieved simply by Clojure re-seq function that takes a regular expression (denoted as #"exp" in Clojure) and a string and returns a sequence of successive matches of pattern in string: (defn split-to-words [string] (re-seq #"[a-zA-Z_]+|[0-9]+" string)) In REPL this may be tested like: => (split-to-words "Electricity for the main building 1000 1500 500 Facility costs") ("Electricity" "for" "the" "main" "building" "1000" "1500" "500" "Facility" "costs") Processing the words consists of converting each element to a proper type: (defn process-words [seq-of-strings] (map typify seq-of-strings)) The typify function should convert numbers to number type and leave strings intact. We may use a Java class method parseInt of the class Integer to turn strings into numbers. Java class methods (as well as instance methods) may be directly called from Clojure, like => (Integer/parseInt "4000") 4000 thus allowing us to define the typify function: (defn typify [argument] (if (not (nil? (re-matches #"[0-9]+" argument))) (Integer/parseInt argument) argument))
188
R. Pergl
The typify function matches the expression against a regular expression specifying whole positive numbers. If the argument matches the regexp, the parsed integer is returned, otherwise unchanged argument is returned. Merging of the items into an accumulator is implemented in the functional style: – If the accumulator is empty, the result is a new list with the item. – If the last element of the accumulator is string and the item is a string, then the last element of the accumulator is replaced by concatenation of this element, the space and the item. – If the last element of the accumulator is number and the item is a number, then the last element of the accumulator is replaced by the sum of the this element and the item. – Otherwise just append the item to the accumulator without any processing. We provide the complete code together with “test-cases” in comments (denoted by “;;”): (defn merge-item [accu item] (cond ;; (merge-item [] "b") -> ["b"] (empty? accu) [item] ;; (merge-item ["a"] "b") -> ["a b"] (and (string? (last accu)) (string? item)) (conj (pop accu) (str (last accu) " " item)) ;; (merge-item [9] 3) -> [12] (and (number? (last accu)) (number? item)) (conj (pop accu) (+ (last accu) item)) ;; (merge-item [9] "b") -> [9 "b"] :else (conj accu item))) This is relatively a little bit more complex piece of an algorithm. We omit the detailed explanation of the Clojure DSL-FL used here, we present it here to emphasise the fact that this processing resides in the lowest level, so its complexity is hidden to higher levels and may be safely fine-tuned and optimised as needed.
8
Discussion
The presented prototype solution consists mostly of the so-called “one liners”, i.e. very short functions that can be easily comprehended, debuged and easily reused. By combing the ML-DSL approach with the functional concepts, we may achieve the following qualities of a prototype: – The prototype is easy to read and comprehend: Lower levels work with abstract terms without knowing anything about the underlying data structure.
Modelling and Prototyping of Business Applications
189
– Side-effect-free blocks have much simpler lexically-bound context easier to isolate and comprehend. – The prototype is easy to debug: we build simple blocks upon each other; side-effect free blocks can be tested without complicated set-up of the environment state and interacting objects (as in the object-oriented approach) and for the same input it gives the same output. – The prototype achieves flexibility with the respect to input data structures changes: if this happens, we just modify the few functions at a given level that access the data structure. All the higher-level functions will remain intact. One of the greatest benefits of the ML-DSL stated in section 4 is elimination of redesign of subtrees due to low-level format change or new feature implementation. We may demonstrate this situation on our example by updating the input format to support “+” as a word that can be interpreted either as adding two surrounding numbers or as a part of a string. Although this requirement makes the input format more vague as “+” can appear in different context (as a word or as an operator), this change would require just an incremental update of the code in the lowest level: We will change split-to-words to detect the + character as a word character: (defn split-to-words [string] (re-seq #"[a-zA-Z_+]+|[0-9]+" string)) and we will enhance the merge-item function by a new condition branch11 : (and (number? item) (= "+" (last accu)) (not (empty? (pop accu))) (number? (last (pop accu)))) (conj (pop (pop accu)) (+ (last (pop accu)) item)) All higher levels will remain intact as they work with abstract DSL independent on input data structure.
9
Summary and Conclusions
Functional analysis, design and programming of business applications offers an interesting alternative to the object-oriented approach. Its simple and yet powerful paradigm based on pure functions provides considerable benefits in situations where we do not need to model states, time-based behaviour and side effects like user inputs and outputs. The benefits may be achieved also by mere separation of the functional and procedural parts of the system. 11
The Clojure DSL-FL allows any number of predicates as arguments to the and function.
190
R. Pergl
The combination of functional approach, expressive data structures and a suitable syntax is a basis of the presented Multilevel Domain-Specific Language (ML-DSL) approach to modelling and prototyping. This approach is based on decomposition of the system model into layers of domain-specific languages, where each layer may be used without knowing the details of the lower layers. This makes possible to build expressive descriptions of systems and algorithms independently on the underlying data structures. Moreover, changes made to the lower levels do not affect the higher levels, which contributes to prototypes’ flexibility. Thus this approach may be also recommended for use together with Agile methodologies, where flexible management of deliverables is needed [13]. The ML-DLS approach was demonstrated on a case-study of a simple payments-processing system. A ML-DSL prototype implementation was shown using the Clojure programming language that offers a Lisp-style effective syntax on the Java platform together with powerful data types and other modern features. The benefits of using the REPL (Read-Eval-Print-Loop) environment were also demonstrated: a live, responsive development where pieces of the DSL may be tested and demonstrated before building more complex prototypes. When the Clojure programming language is selected also as an implementation language12 a very effective modelling-prototyping-implementation development cycle is achieved, where semantic gaps between the phases almost vanish. Modelling a system using the expressive ML-DSL approach provides a very precise system model (or directly a working prototype), but it takes quite a lot of effort and skills and it may be thus recommended to analysts skilled in abstraction and formal notations. Moreover, the functional approach takes a lot of practice and “unlearning” for those trained exclusively in procedural thinking, which is today still the majority of analysts and programmers. Acknowledgements. This contribution was elaborated with a support of grant no. 201011130035 of Grant Agency of The Faculty of Economics and Management of the Czech University of Life Sciences in Prague.
References 1. Aho, A.V., Ullman, J.D., Hopcroft, J.E.: Data Structures and Algorithms. AddisonWesley, Reading (1983) 2. Ben-Ari, M.: Objects Never? Well, Hardly Ever! Communications of the ACM 53(09), 32–35 (2010) 3. Fogus, M.: Clojure Mini-Languages (2010), http://blog.fogus.me/2010/03/23/clojures-mini-languages 4. Fogus, M., Houser, C.: The Joy of Clojure: Thinking the Clojure Way. Manning Publications (2010) 5. Gamma, E., Helm, R., et al.: Design Patterns: Elements of Reusable ObjectOriented Software. Addison-Wesley Professional, Reading (1994) 12
In spite of its syntax and paradigm quite unusual for today’s programmers, Clojure starts to be used in enterprise-grade programming, see e.g.[11].
Modelling and Prototyping of Business Applications
191
6. Fowler, M., Beck, K.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Reading (1999) 7. Gabriel, R.: Objects have failed: Notes for a Debate (2002), http://www.dreamsongs.com/NewFiles/ObjectsHaveFailed.pdf 8. Gamma, E., Helm, R., et al.: Design Patterns: Elements of Reusable ObjectOriented Software. Addison-Wesley Professional, Reading (1994) 9. Hadar, I., Leron, U.: How intuitive is object-oriented design? Communications of the ACM 51(5), 41–46 (2008) 10. Halloway, S.: Programming Clojure. Pragmatic Bookshelf (2009) 11. Halloway, S.: Clojure in the Field (2010), http://www.infoq.com/presentations/Clojure-in-the-Field 12. Mernik, M., Heering, J., Sloane, A.M.: When and How to Develop Domain-Specific Languages. ACM Computing Surveys 37(4), 316–344 (2005) 13. Molhanec, M.: Towards an Agile Project Management in Product Design. In: 32nd International Spring Seminar on Electronics Technology, ISSE, pp. 682–685 (2009); ISBN 978-1-4244-4260-7 14. Norvig, P.: Paradigms of Artificial Intelligence modelling: Case Studies in Common Lisp. Morgan Kaufmann, San Francisco (1991) 15. Ralph, S.M., et al.: Principles of Information Systems, 6th edn. Thomson Learning (2003) 16. Van der Hart, L., Sierra, S.: Practical Clojure. Apress (2010)
Building towards a Software Based Innovation Modelling Tool *
Paidi O’Raghallaigh , David Sammon, and Ciaran Murphy Business Information Systems, University College Cork, Cork
[email protected] http://www.ucc.ie
Abstract. Management literature is renowned for producing concepts and frameworks but few of these are translated into software-based tools, even when they could be valuable to management. The area of innovation modelling is unfortunately a case in point. Management has heretofore been unable to effectively capture, communicate, and share its innovation models. Owing to the limited cognitive abilities of the human mind and the complexity and ambiguity surrounding innovation in organisations, the role of software-based tools in the future of innovation modelling should not be overlooked. But no standard approach to representing innovation models exists. The objective of this paper is to describe a prototype of an innovation modelling tool that resulted from our 24-month research initiative. We also include descriptions of an ontology upon which the prototype is built and the design science approach through which it emerged. Keywords: Innovation, modelling, design science, design.
1 Introduction Innovation is increasingly regarded as an evolutionary, non-linear, and interactive process involving a focal organisation as well as actors and sources of knowledge from both inside (e.g. R&D, production, marketing, distribution, etc.) and outside (e.g. customers, suppliers, universities, research centres, etc.) its boundaries [1-3]. It is oftentimes viewed as a chaotic, unpredictable, and unstructured phenomenon, which is beyond management’s control [4]. We, in academia, have largely failed in our efforts to explain the phenomenon. For instance, in a recent review of the academic literature, Crossan and Apaydin [5] show how innovation research continues to be fragmented and lacks both a theoretical grounding and an empirical justification. The result is that innovation studies are inconclusive, inconsistent, and characterised by low levels of explanation [6]. Mohr [7] suggests that a major contributory factor to this situation is our insistence on adopting the organisation as the focus of our analysis. The organisation is too multi-dimensional and aggregate to have constant meaning within and across *
Corresponding author.
J. Barjis, T. Eldabi, and A. Gupta (Eds.): EOMAS 2011, LNBIP 88, pp. 192–213, 2011. © Springer-Verlag Berlin Heidelberg 2011
Building towards a Software Based Innovation Modelling Tool
193
innovation studies [8]. Damanpour and Wischnevsky [9] recommend that innovation theory should recognize the substantive differences between organisations at the level of their approaches to innovation. Consistent with this advice, innovation models attempt to abstract from reality a set of features that are useful in describing, explaining, and predicting the reality of the innovation process in organisations [10]. We define the innovation model as a conceptual tool that expresses the logic by which an organisation captures value from combinations of new and existing knowledge. But management has heretofore been unable to effectively capture, communicate, and share its innovation models. In addition, scholars have been unable to propose a standard approach to presenting the innovation models of organisations [11]. Management literature is renowned for producing concepts and frameworks but few of these have been translated into software-based tools, even though they could bring considerable value to management [12]. Because of the limited cognitive abilities of the human mind and the complexity of the problem being addressed, management is likely to benefit from the support of tools for modelling the innovation processes of organisations. The objective of our study was to address this need by focusing on the research question of how to design an artefact to support practitioners in modelling the innovation processes of organisations. In this paper we describe a prototype of an innovation modelling tool that resulted from our research. Aristotle distinguished between four causes, each of which explains an artefact in a very different way but that belong together in defining its nature [13]. Each of these four causes can be applied to the case of the modelling tool being proposed here and together they provide the structure for the remainder of this paper. We begin with the causa materialis, which is a description of the set of concepts and the ontology that provides the language to be used when modelling the innovation processes of organisations. Secondly, the causa efficiens is a description of the design science approach through which the prototype emerged. Thirdly, the causa formalis is a description of the prototype itself. Fourthly, the causa finalis is a description of the set of design principles derived from building the prototype. The paper finishes with a brief conclusion.
2 The Conceptual Foundation for the Tool In this section, we start by introducing a conceptualisation of the innovation process in organisations. We follow this by outlining a loose ontology for describing the conceptualisation. It is important to note the difference between an ontology and a model. An ontology is an agreed “set of concepts e.g. entities, attributes, processes, their definitions and their inter-relationships” used to represent a complex reality [14 p. 5]. On the other hand, a model is "a simplified description and representation of a complex entity or process" [12 p. 4]. In order for an innovation modelling tool to be truly effective, it should be built upon the foundation of the common ‘language’ offered by an ontology shared by a wider community. But this task is far from straightforward as the extant innovation literature has to date provided little continuity in its use of concepts and definitions [15].
194
P. O’Raghallaigh, D. Sammon, and C. Murphy
2.1 A Conceptualisation of the Innovation Process Innovation is the iterative process by which an organisation combines new and existing knowledge to create valuable new combinations [after: 16]. From a pragmatic perspective knowledge is only valuable to an organisation when it is put to some commercial use. The value of knowledge is, therefore, directly related to its commercialisability and this implies that knowledge further advanced in its journey towards market is more valuable than knowledge beginning the same journey. Here we depict the journey of knowledge from its initial conception towards market as an innovation funnel – see Figure 1.
Fig. 1. A Conceptual Framework of the Innovation Process [Source: 17]
Generation, selection, development, and commercialisation represent the evolutionary stages through which the knowledge passes – see Table 1. We do not intend implying a well-behaved single, orderly, and linear journey. While becoming somewhat more structured during its later stages, the journey is more often than not chaotic, unpredictable, and unstructured [4]. As the knowledge proceeds through the funnel it becomes increasingly constrained by different organisational factors such as goals, procedures, resources, etc. [18]. The journey is marked by dead-ends, re-births, and reversals as the knowledge is rejected, re-introduced, or reworked [19]. In this way new and existing knowledge enters and leaves the funnel at its various stages.
Building towards a Software Based Innovation Modelling Tool
195
Table 1. Stages of Knowledge Progression during Innovation [Source: 17] Generation This generates ideas from fragments of knowledge coming together from different internal and external sources.
Selection The pool of ideas generated in the previous stage is funnelled into a smaller number of funded projects.
Development The funded projects are developed into revenue-generating deliverables.
Commercialisation It ensures that deliverables are ‘where they need to be when they’re needed’ and markets them intelligently.
For innovation in any organisation to prosper, the organisation must actively manage its innovation funnel through coordinating and integrating Actions and Resources. This is done through Controls, which periodically monitor the Results emerging from the end of the funnel (as well as the intermediate outputs from each stage within the funnel) and compare these with the Goals of the organisation before deciding on changes to the Actions and the Resources. The Goals are the objectives of the organisation’s innovation efforts. Actions are the activities that seek out knowledge from various proximate and diverse sources in order to create value through new combinations. Actions are essentially the means through which knowledge is moved through the funnel towards market. But Actions are only effective when supported by sufficient Resources. Knowledge emerges from the funnel as Results, which are deliverables with commercial value e.g. products, processes, etc. We next turn to the academic literature in presenting an ontology for innovation modelling. 2.2 An Ontology of the Innovation Process The cornerstone of any ontological approach is a shared conceptual framework for modelling domain knowledge [14]. The ontology presented here is built around the five pillars of Goals, Resources, Actions, Controls, and Results from the conceptual framework in Figure 1. We further decompose these pillars into the building blocks that are necessary when representing the innovation models of organisations. While an organisation’s business model describes what value the organisation offers (or intends to offer) [12], its innovation model explains how the organisation creates (or will create) this value. We, therefore, suggest that the innovation goals of an organisation should be defined in terms of the product, customer interface, and infrastructure elements from the business model of the organisation – see Table 2. Table 2. Building Blocks of the Goals Pillar [Source: 17] Type Product Element
Description This describes the value proposition of the organisation in terms of the goods and services it offers to customers. Customer Interface This describes how the organisation interacts with its customers and what Element kind of relationships it establishes with them. This describes what processes, resources, and partners are necessary to Infrastructure Element support these first two elements.
196
P. O’Raghallaigh, D. Sammon, and C. Murphy
To foster innovation within organisations, resources must be distributed deliberately based on pre-defined goals [18]. Christensen [20 p. xvii-xviii] argues that “organizations successfully tackle opportunities when they have the resources to succeed, when their processes facilitate what needs to get done, and when their values allow them to give adequate priority to that particular opportunity in the face of all other demands that compete for the company’s resources”. We suggest that the innovation resources of an organisation should be defined in terms of the funding, human, facility, and tool resources required by the organization when acting to achieve its innovation goals – see Table 3. Table 3. Building Blocks of the Resources Pillar [Source: 17] Type Funding Human
Facilities
Tools
Description Adequate funding is clearly a critical input into the innovation process and funding may need to be designated to specific activities. People factors include the number and mix (with respect to their cosmopolitanism, propensity to innovate, skills, experience, and education) of people committed to the innovation tasks. Members with higher levels of education and self-esteem from diverse backgrounds increase the effectiveness of innovation project teams. Facilities or physical resources is a broad category that ranges from buildings to computer equipment. Slack resources or unused capacity can in some cases be an important catalyst for innovation, whereby slack provides the opportunity for diversification, fosters a culture of experimentation, protects against the uncertainty of project failure, and allows failures to be absorbed. However, in other cases slack becomes synonymous with waste and is a cost that must be eliminated. Use of systems and tools is an important support for innovation in organisations. Tools can be of various sorts, including tools and techniques for promoting creativity, quality, etc.
The challenge for organisations is to use these resources in order to turn knowledge from both internal and external sources into exploitable knowledge [21]. But the ability of the organisation to do this depends on the proximity of the knowledge sources relative to the existing stock of knowledge in the organisation [22]. Territorial proximity is important as smaller distances facilitate more intense interactions, reduce institutional and culture differences, and thereby promote knowledge transfer - especially of sticky tacit knowledge [22]. On the other hand, cognitive diversity is important in promoting novelty, which can be critical to innovation performance [22]. We suggest that the innovation actions of an organisation should be defined in terms of the different categories of search activities (defined by these dimensions of proximity) required by the organisation to achieve its innovation goals – see Table 4.
Building towards a Software Based Innovation Modelling Tool
197
Table 4. Building Blocks of the Actions Pillar [Source: 17] Type Internal
Interactive
External
Description New knowledge is generated either (1) intentionally by employees assigned the specific task of generating knowledge (e.g. through an R&D department or R&D projects) or (2) unintentionally by employees in going about their day-to-day activities (e.g. solving problems in day-to-day operations). New knowledge is generated by employees through direct (e.g. collaboration) and indirect (e.g. scanning) engagements with either (1) knowledge providers (e.g. private and public research institutes, and universities) or (2) other organisations (e.g. customers, suppliers, competitors, and consultancies). New knowledge is generated through the acquisition of knowledge from the market place either (1) disembodied (e.g. from research organisations, training companies, consultancies, etc.) or (2) embodied e.g. machinery, equipment, software, business units, and organisations, as well as new recruits ) from assets.
Management controls can be broadly categorized into formal and informal controls [23]. Formal controls, which are mostly documented and are explicitly managementauthorised [24], influence behaviour through, for example, budgets, output targets, standards, policies, etc. On the other hand, informal controls, which are mostly unwritten and social controls [23], influence behaviour through organisational culture, norms, values, routines, etc. We suggest that the innovation controls of an organisation should be defined in terms of the different categories of formal and informal controls that are required by the organisation to achieve its innovation goals – see Figure 2. Resources Process Results Formal Allocations of financial (e.g. Enforcement of plans, Enforcement of targets (e.g. budget, quotas, etc.), human procedures, organisational output type - product, (e.g. skills, experience), structures, rules, process, etc., volumes, facilities (e.g. buildings, R&D regulations, policies, and quality, efficiency goals), lab), tools (e.g. equipment, reward systems. statistical reports software) and material (e.g. raw materials) resources. Informal Organisational traditions (stories, rituals, legends, ceremonies), commitment, norms, values, beliefs, and culture
Fig 2. Building blocks of the Controls Pillar [Source: 17]
Innovation is not restricted to technological advances but instead can take place along any dimension of a business model [25]. One or more innovations are generally required in order for the organisation to achieve its innovation goals. For instance a new product that is technologically superior to those of competitors can still fail because it lacks an effective distribution or sales channel. We suggest that the innovation results of an organisation should be defined in terms of the different categories of innovation that are required by the organisation to achieve its innovation goals – see Table 5.
198
P. O’Raghallaigh, D. Sammon, and C. Murphy Table 5. Building blocks of the Results Pillar [Source: 17]
Type Offerings Platform
Solutions Customers
Customer Experience Value Capture Processes Organisation Supply Chain Points of Presence Networking Brand
Description These are goods and services offered by the organisation and that are valued by its customers. This is a set of common components, assembly methods or technologies from the organisation that serve as building blocks for a wider portfolio of offerings. This is the customized, integrated combination of offerings from the organisation that solves a customer problem. This is the discovery by the organisation of new customer segments or the uncovering of unmet (and sometime unarticulated) customer needs in existing segments. This includes everything a customer sees, hears, feels and in general experiences while interacting with the organisation and its offerings. This is the mechanism that the organisation uses to capture revenue streams from the value it creates. These are the configurations of business activities that the organisation uses to conduct internal operations. This is the way in which the organisation is structured, its partnerships, and its employee roles and responsibilities. This is the sequence of agents, activities and resources required by the organisation to move its offerings from source to the customer. These are the channels and the outlets that the organisation employs from which its offerings can be bought or used by the customer. This is the network through which the organisation and its offerings are connected to the customer. This is the set of symbols, words or marks through which the organisation communicates a promise to the customer.
3 The Approach to Designing the Tool The practice of design and the science of design are both problem solving activities whose differences lie in their contributions to the body of design knowledge. The prime focus of design practice is artefact construction through applying existing knowledge, while design science aims at knowledge generation through artefact construction or observation [26]. When undertaking design research (which includes elements of both design practice and design science) abstract design knowledge should be seen as the research end result, while the creation of any instantiations based on it is an intermediary result [after: 27]. The creation of instantiations (which happens in the design practice element of the research) is an exploratory empirical part that justifies the abstract design knowledge (which emerges from the design science element of the research). In other words, design science receives its empirical grounding from design practice, but at the same time design practice receives it theoretical grounding from design science. The abstract design knowledge (generated from design science) should be applicable to a class of situations and audiences, whereas the situational design knowledge (generated from design practice) is
Building towards a Software Based Innovation Modelling Tool
199
particular to individual situations. These two types of knowledge are intrinsically linked in that abstract design knowledge is generalized and extracted from situational design knowledge and on the other side, abstract design knowledge may be adapted and applied to situational instances [27]. Design science contributes to the scientific endeavour by presenting this abstract knowledge in the form of design theories. Design science can be seen either as a preparatory activity before design practice is started, a continual activity partially integrated with the design practice, or a concluding theoretical activity summarizing, evaluating and abstracting knowledge [27]. We, therefore, divide our approach into two distinct design activities separated by their degree of abstraction – see Figure 3. First, design science is focused on generating abstract knowledge to guide the design of an innovation modelling tool. The principal output from this design activity is the set of abstract design principles (presented as a design theory) for an innovation modelling tool. Second, design practice is focused on using abstract knowledge (embodied in the prototype of the innovation modelling tool) to design the innovation models of organisations. The principal output from this design activity is the situational knowledge generated from observing those using the tool and examining the innovation models they produce using the tool. In the case of this research, the design science and design practice activities are tightly integrated whereby output from one influenced the other. In other words, empirical results (from design practice) often inductively resulted in new principles and changes to the prototype (in design science), but theoretical deductions (in design science) in turn influenced situational activities (in design practice) through changes to the tool.
Fig. 3. Our approach to design research
In Table 6 we outline briefly a sample of the methods through which the prototype has to date been evaluated.
200
P. O’Raghallaigh, D. Sammon, and C. Murphy Table 6. Examples of Evaluations of the Innovation Modelling Tool Prototype
Type Work Group Focus Group
Case Studies
Brief Description Purpose of Activity Ten two-hour sessions with a group of sixteen postgraduate Exploratory design of students from a Masters in Innovation programme. The tool the innovation was incrementally designed and refined from week to week. modelling tool A 2-hour session with a group of fourteen postgraduate Confirmatory students from a Masters in Information Systems evaluation of the programme. The students were presented with the prototype. background to the tool and instructions for its use. They next observed a worked example before working in groups using the tool to represent innovation in Lego based on insights from a short video of the company. Using various sources of information (e.g. website material, To evaluate the ability videos, documents, and interviews) twenty organisations of the prototype to (both local and global organisations, such as Siemens, Nike, represent the Lego, Apple, Adidas, Microsoft, etc.) were represented innovation models of a using the prototype. The modelling was performed in some broad range of cases by the lead author of this paper but also postgraduate companies based on students. real life information.
4 The Form of the Tool In this section, we describe a prototype of the innovation modelling tool that hereafter we refer to as ‘The Canvas’. The Canvas is currently a paper-based prototype of what will afterwards be developed into a software-based tool. The Canvas is physically (and conceptually) divided into a number of levels and areas. The base canvas (refer Figure 4) is the first level and consists of three areas: the Goals, Results and Actions areas, which correspond to the identically named pillars of the innovation ontology. The Actions area is a matrix that is divided: vertically to describe the locus of the innovation activities - internal, interactive, and external activities; and horizontally to describe the stage in which the innovation activities takes place – generation, selection, development, and commercialisation. We, therefore, end up with twelve cells that can be used to classify the innovation actions of an organisation. At the second and subsequent levels are one or more semi transparent canvas layers that are superimposed over the base canvas. The resources layer corresponds to the Resources pillar of the innovation ontology and describes the resources required to support the actions in each of the twelve cells. Likewise, the controls layer corresponds to the Controls pillar of the innovation ontology and describes the formal and informal controls applied to actions in each of the twelve cells in order to ensure that the innovation goals of the organisation are met. In this way the Canvas can be extended by any number of additional layers. For instance, a SWOT layer can be used to describe the strengths, weaknesses, opportunities, and threats for each of the twelve cells or for any other element (e.g. goals, results, etc.).
Building towards a Software Based Innovation Modelling Tool
201
Fig. 4. The Base Canvas Template
It can be surprising how the understanding of innovation in an organisation can differ so widely across stakeholders. This difference in perspective can make innovation modelling a difficult proposition but it also promotes creativity through the variety of perspectives that are brought to bear on arriving at an appropriate model. Innovation modelling requires a holistic look at the innovation logic of an organisation and it would, therefore, seem natural that innovation modelling should be a team affair with each member articulating his or her personal thoughts as well as listening to and discussing the opinions of others. Obviously, the choice and number of persons participating depends on the size of the organisation and on the goals and ambitions of the modelling exercise. The Canvas is a hands-on tool that fosters both individual and group articulation and reflection through visual externalization of thoughts. The power of the Canvas originates from: its highly visual nature whereby the canvas is at the centre of the innovation modelling; as well as the simplicity of its use that involves positioning visual elements on the canvas. (See the next section for a discussion of the main design principles that contribute to the effectiveness of the Canvas). 4.1 Guidelines for Use of the Canvas The Canvas is printed out on a large surface so that a team can view the full canvas and the team members can start jointly sketching a model. The elements are presented using sticky notes, stickers and markers, each of which comes in different colours. A team member describes an element by writing a few choice words on a sticky note.
202
P. O’Raghallaigh, D. Sammon, and C. Murphy
The position of the sticky note on the canvas determines the element type (as a goal, result, action, resource or control). Use of colour and hand drawn lines supports the coding and linking of elements across the canvas. For example, in order to link the innovation actions necessary to achieve a certain innovation result, stickers of identical colour are added to the sticky notes corresponding to the related elements. In order to better understand the Canvas and its use, we now describe the steps involved in a typical modelling session whose aim it is to describe, analyse and improve the innovation model of an organisation. In Table 7 we describe step by step how this can be done. At the root of the relatively simple process is a more formal ontological approach to describing innovation models and the strict relationships between areas of the Canvas. Table 7. Steps in using the Canvas to model the innovation processes of organisations1 Steps Kick off
Describe the model
1
Description of Steps The first step is agreeing the composition of a multidisciplinary team with people from different areas and hierarchical levels of the organisation. The rules of engagement for the session are clearly outlined and discussed as are the definitions of key terms such as innovation and innovation model. Each individual must understand and accept the rules and especially those allowing each team member an opportunity to speak and ensuring other members listen. A typical session starts with a large blank template of the base canvas mounted on a wall or whiteboard. The structure of the base canvas is explained as well as the use of sticky notes, stickers, and markers to represent the elements of the model. The members simply start identifying elements by writing on colour coded sticky notes and adding the notes to the areas of the base canvas (or alternatively to the border of the canvas in order to temporarily store them). As the session progresses the sticky notes can easily be moved, grouped or discarded. Sticky notes can also be grouped together or can be replaced by a more generic or refined sticky note. While there is no fixed sequence of steps to follow in completing the innovation model, we have found that some approaches do assist with speeding up the process while not unduly suppressing creativity. For instance, we suggest that the team starts with defining the innovation goals of the organisation before identifying the individual innovation results necessary to meet these goals. For each innovation result, the team should next identify the innovation actions necessary to make it a reality. Finally, the team identifies the resources required by each innovation action and the controls to be applied to ensure the success of the action. We have also used a set of questions (superimposed over the base canvas) that we recommend team members ask themselves and their group in order to ensure that the base canvas is complete.
Influenced by 28. Osterwalder, A., Business Model Manual-How to Describe and Improve your Business Model to Compete Better. 2009, Working paper, La Trobe University in Melbourne, Australia. … and … 29. Osterwalder, A. Methods for the Business Model Generation: how #bmgen and #custdev fit perfectly. 2011 [cited Apr 01, 2011]; Available from: http://www.businessmodelalchemist.com/2011/01/methods-for-the-business-modelgeneration-how-bmgen-and-custdev-fit-perfectly.html.
Building towards a Software Based Innovation Modelling Tool Assess the model
Improve the model
Test the model
203
Once there is a clear description and understanding of the innovation model, the next step is to assess it. This identifies if any element is missing or is ill-defined. One useful way to assess the innovation model is to use storytelling, which can involve team members telling stories from the perspective of different stakeholders e.g. customers, suppliers, competitors, etc. These stories involve the elements and their connections and can, therefore, show missing or unused elements, but also help in communicating the whole model to outsiders. Another way of assessing the innovation model is to undertake a SWOT analysis of each area in turn. This might be achieved by overlaying the areas with colour coded sticky notes e.g. red for weaknesses and green for strengths, etc. By now the team has already completed the two most important steps towards innovation model improvement – an understanding and an assessment of the current innovation model. The assessment of the innovation model should influence the directions through which the model might now be improved. The team must ask itself probing questions about how well the innovation model is aligned with the internal situation of the organisation (e.g. strategy, resources, etc.) but also with the external situation (e.g. market forces, etc.). At this stage it is important that the team does not quickly decide on one design but instead it considers as many alternative designs as possible before deciding to pursue a few in more detail. This phase encourages the team to test an innovation model by designing tests to validate the contents of the model. Each sticky note in the base canvas should be turned into a hypothesis and then tested. Hypotheses can be visually represented as sticky notes on a ‘hypothesis layer’ above the base canvas. Hypotheses are in turn converted into tests which are visually represented as sticky notes on a ‘test layer’ above the ‘hypothesis layer’. An example of a hypothesis might be that a tshirt company could acquire all its t-shirts designs from outside the company and for no more than $3000 per design. There are likely to be many ways to test this hypothesis. For example, field trials can be performed at different levels of commission and the response of artists monitored at each monetary level. Alternatively focus groups could be arranged and the opinion of artists sought. When the team tests the innovation model in this way, it is likely it will lead to changes in the various areas and layers of the model before a final model is arrived at.
4.2 A Worked Example Based on the Canvas We will briefly present an example of the output from the second step – describing the model. The exemplar is produced from a short video2 of an interview with the owners of the US-based company Threadless in which they discuss among other things how the company innovates. The model is not intended to be a complete and accurate representation of innovation in the company but instead illustrates how the Canvas was used in real time to represent the innovation process of the organisation as outlined in the video (and without taking additional sources of information into account).
2
Web2ExpoSF 09: Jake Nickell and Jeffrey Kalmikoff, "A Conversation with the Founders of Threadless" (can be viewed at http://www.youtube.com/watch?v=tFXFe3AQy7M).
204
P. O’Raghallaigh, D. Sammon, and C. Murphy
Fig. 5. Base Canvas for Threadless
The base canvas is depicted in Figure 5 and it shows the innovation goals, results and activities of the company disclosed by the owners of the company. Threadless is an online apparel store run by skinnyCorp of Chicago, Illinois, since 2000. Its stated innovation goal is to produce highly artistic t-shirts from designs submitted by a community of artists. It downplays profit as the main driver of its business and instead the owners state that artists should be supported in producing art even when there is no discernable market for their output. In order to achieve its goal at least two innovation results are discussed. Firstly, there is the innovation surrounding individual t-shirts but also the innovation of the web platform that is necessary to support an online design process. Both of these results depend on undertaking many individual innovation actions that are disclosed in the interview. For instance, members of the Threadless community are enticed to submit t-shirt designs online, the designs are then put to a public online vote, and the winning designs are printed in limited batches and sold through an online store. The winning artists receive a cash prize as well as a store credit note. Likewise, the generation and selection of ideas for improving the web platform is largely driven by the observed and stated needs and desires of the community. The platform aims at creating an environment for nurturing creativity and that is supportive rather than competitive. Designers support each other by offering assistance and feedback on designs. The clustering of actions on the base canvas is interesting in highlighting the crowd sourcing nature of the business. For instance it can be seen that both the generation of innovation ideas and the selection of designs take place outside the boundaries of the organisation and within the Threadless community of one million members. The result is that the company does not need to employ t-shirt designers despite handling
Building towards a Software Based Innovation Modelling Tool
205
150-200 prospective t-shirt designs per day and selling 100,000 t-shirts per month. Instead it secures the right to print t-shirts from its community members who design the t-shirts in return for prize money. It is also noticeable that little or nothing is disclosed about the process through which the ideas are developed into reality. For instance, we are told little about printing, storage, or delivery. There is also a lack of information on commercialisation activities, other than noting the importance of their website and newsletter in their marketing and sales activities. Word of mouth generated from members of the community in popularising their own designs is also important to the success of the company. Reflecting on the model, we can also discern a distinct lack of collaboration with and acquisitions from third parties. The owners recognise this weakness and state that they ‘have not done a good job of determining who to form partnerships with’. Instead the company is built around a group of friends, who having no business experience developed it around an attitude of ‘why not’ and ‘trial and error’ rather than depending on outside help.
Fig. 6. Resources Layer for Threadless
Next we extend the base canvas using layers. The resources layer and the controls layer are depicted in Figures 6 and 7 respectively and show the resources necessary for each action and the controls to be applied to each action to ensure that the innovation goals of the company are achieved. Very little information is provided on either aspect of the innovation process. The company appears to place little emphasis on management controls and instead adopts a laissez faire approach to internal actions and a facilitation approach to managing the community. The owners state that they are there to serve the community. The fact that much of the innovation process is located outside the boundaries of the company may go some way towards explaining
206
P. O’Raghallaigh, D. Sammon, and C. Murphy
the paucity of discussion about the internal resources assigned to the innovation process. Therefore, the power of the model is not just in representing the innovation process but also in highlighting what is missing. Next we discuss some of the main design principles that we have identified as contributing to the effectiveness of the prototype.
Fig. 7. Controls Layer for Threadless
5 Why Should the Tool Work? During the last century, management was dominated by theories “embracing rational choice and decision-making as a primary modus operandi” [30 p. 156]. Managers are typically depicted as decision-makers who address a known problem by selecting from a discrete set of known solutions. The problems and solutions are always perfectly understood by the decision-maker, who uses rational deduction to identify the optimum solution for a situation. But these assumptions are of little relevance to real-world organisations, where most problems are “ill-formulated, where the information is confusing, where there are many clients and decision makers with conflicting values, and where the ramifications in the whole system are thoroughly confusing” [31 p. 15]. These wicked problems have no definitive solutions so that when a solution does exist it cannot be objectively evaluated as being right or wrong but at best it may be deemed to be more or less acceptable than alternative solutions [32]. Management must move beyond inspecting given circumstances and applying already well known solutions, to designing new approaches and creating new solutions [33]. Exclusion of design serves to hamper the role of human ingenuity and
Building towards a Software Based Innovation Modelling Tool
207
intelligence in ensuring the wellbeing of organisations [30]. Innovation modelling is an example of a wicked problem, which involves many diverse stakeholders who have different views on the problem and its solution. Management requires the support of tools that both display graphically the firm's current strategic position, as various stakeholders understand it, but also assist in the ongoing collaborative design of alternative routes to improving that position [34]. Management must be involved not only in the ongoing re-assessment, and improvement of an organisation’s current innovation model but also in the proactive designing and testing of a whole portfolio of potential innovation models. The first design principle, therefore, states that the tool supports the user in designing and testing of innovation models (rather than being simply a decision making tool). The tool must encourage the designer (whether an expert or a novice) to explore as many different models as possible. When using the tool, it must be easy to try things out, and to backtrack when unsuccessful. This implies that the tools must be trustworthy so that users are comfortable trying things. 5.1 The Role of Graphical Externalisations During the design process, the problem and its solution co-evolve whereby the designer must engage in solving the problem in order to reveal its full nature [35]. The process is iterative, progressing from internal representations (i.e. internalisations) to external representations (i.e. externalisations) of thought and back again so that one interacts with the other [36]. Bruner [37 p. 23] states an externalization “produces a record of our mental efforts, one that is ‘outside us’ rather than vaguely ‘in memory’ ... It relieves us in some measure from the always difficult task of ‘thinking about our own thoughts’ while often accomplishing the same end. It embodies our thoughts and intentions in a form more accessible to reflective efforts”. Externalisations reflect not only the thinking of the designer, but also simultaneously serves as a medium for solution development [33]. In addition, graphical externalisations offer a number of important cognitive benefits. Firstly, they decrease the cognitive stress on the scarce memory resources of the designer associated with simultaneously representing multiple problem components [33, 3840]. Secondly, they can make use of the powerful visual system of humans through offering exploitable perceptual effects of a kind that are almost effortless for the designer to take advantage of during problem solving [41]. Thirdly, they are a way of making fleeting thoughts more permanent and making internal thoughts more accessible to others [42]. They provide an external record that does not rely on unreliable human memory but also they divorce ideas from specific individuals, thereby allowing a community to observe, comment on, and revise the ideas, and enact those revisions in further changes to the externalisation [34, 42]. Externalisations are, therefore, immensely important to the design activity [43-46]. The second design principle, therefore, states that the tool supports the user in producing innovation models in a graphical format. The tool focuses not on instructing the designer, but in providing the designer with a media for creating models. The tool provides the designer with a ‘canvas’ on which to work and this challenges the creativity of the designer. The designer is encouraged to explore the canvas in order to design new innovation models.
208
P. O’Raghallaigh, D. Sammon, and C. Murphy
5.2 The Role of Talkback Design tools compensate for cognitive frailties by enabling users represent what they know using externalisations, which amplify the users’ design thinking [40]. The designer is engaged in a cycle of producing externalisations (such as sketches, mockups and memos), and deliberately and carefully reflecting on them in order to make sense out of what has been experienced and what is known [35, 46-48]. Schoen [48] differentiates between two reflection activities: reflection-in-action and reflection-onaction. The former denotes the reflective processes that take place while the designer is producing an externalisation, whereby the emerging material ‘talks back’ to the designer, who simultaneously responds to the material by changing its representation. The latter denotes the reflective processes that take place after the designer produces an externalisation, whereby the resulting material again ‘talks back’ to the designer. A design tool can, therefore, support designers by, first, allowing them to articulate their thoughts in the form of an externalisation and, second, by amplifying the representational talkback of the externalisation so that they can reflect more effectively on the externalised thoughts. Amplification of representational talkback is concerned with two qualities of the externalisation: it must make it easy for designers to express what they need to express; and it must make it easier for the designer to perceive what has been represented [35]. The positioning of objects on a twodimensional space can be as powerful a means of representational talkback as, say, sketching [40, 49, 50]. First, the position as a state denotes the result of an action taken by the designer and when reflecting using this static trait, the designer is said to be reflecting-on-action [49]. For example, after drawing an object on a twodimensional space the designer may reflect on its size or colour. Second, the positioning as an action denotes what the designer is doing to reach a given state and when reflecting using this dynamic trait, the designer is said to be reflecting-in-action [49]. For example, while drawing an object on a two-dimensional space the designer may be reflecting on the size of the object relative to what it should be and may decide to enlarge (or shrink) it. It should be noted that positioning supports the two key qualities of reflective materials identified above. First, by directly manipulating the objects on the space, the designer can easily produce different visual representations. Secondly, by simply looking at the space, people can easily identify many visual properties from the space. The third design principle, therefore, states that the tool amplifies ‘talk back’ from the innovation models to the designer. The tool should not be intimidating, and should give designers (whether novice or expert) immediate confidence that they can succeed in their task. 5.3 The Role of Constraints When using linguistic externalisations, designers may represent a domain in somewhat abstract terms that may even conceal from themselves and others their less than complete domain comprehension [39]. On the other hand the act of producing graphical externalisations often confronts the designer with his or her less than adequate domain comprehension since, unlike language, “graphics force a determinate representation that is severely limited in terms of the amount of abstraction that can be expressed” [39 p. 7]. This is true even when simply
Building towards a Software Based Innovation Modelling Tool
209
positioning objects on a two-dimensional space – the act carries a deeper meaning than simply ‘putting this there’ in the mind of the designer. The meaning of the space can be considered on a spectrum between two extremes: one extreme is that the tool imposes no meanings on the position of elements in the space; the other extreme is that the tool loads the position of elements in the space with pre-determined semantics [50]. Tools can, therefore, impose different degrees of constraint on the space. More unstructured tools (like a pencil and paper) impose little or no semantic constraints on the designer and they, thereby, provide a greater range of freedom to create elements as ideas come to mind. This results in externalisations that can be very idiosyncratic and that impedes their sharing and comparison, which can lead to ‘intellectual chaos’ among stakeholder [45]. On the other hand, highly structured tools (like a CAD program) are for the most part feature reach and impose more stringent semantic constraints on the designer. This compels externalisations to abide by a common set of rules, thereby promoting their sharing and comparison. But constraints are also important for another reason. Left to their own devices, designers do not always use the most efficient representations of problems and their representations often impede problem solving [40]. This is why determining how to effectively represent problems is so important to problem-solving performance [40, 51]. The tool provided to problem solvers has a dramatic influence on their ability to choose an appropriate externalisation to solve a problem and the time taken to solve it [51]. For instance, Polich and Schwartz [52] observe how matrix representations of problems are especially effective for larger, more complex problems because of the ease of applying and storing the results of logical operations. The rationale for using tools to scaffold problem representations is artificial intelligence in reverse: “rather than having the computer simulate human intelligence, require the human to simulate the computer's unique intelligence and come to use it as part of their cognitive apparatus” [40 p. 370]. The forth design principle, therefore, states that the tool applies ontological constraints on the innovation models of the designer. The tool, thereby, constrains creativity by expecting the designer to adhere to rules when positioning his or her ideas on the canvas. The challenge for the designer is to represent the innovation model of an organisation on a limited space while satisfying various ontological and medium constraints. 5.4 The Role of Collaboration The power of the unaided individual mind is highly overrated [35, 53]. Because complex problems require more knowledge than any individual is likely to possess, it is usually necessary for many stakeholders to participate, communicate, and collaborate with one other in order to satisfactorily arrive at a solution [43]. But consensus is oftentimes unachievable, and instead the focus is on informed compromises across a symmetry of ignorance, which is the situation whereby each stakeholder possesses knowledge of a limited aspect of a potential solution [43]. Stakeholders must rise above the uncertainty of incomplete information and the ambiguity of competing interpretations to create a shared understanding of the problem (as well as a shared commitment to its possible solution) [32]. Each stakeholder is, therefore, a co-designer of the solution and not just a consumer of the final solution. Externalisations are critical to these social interactions because groups
210
P. O’Raghallaigh, D. Sammon, and C. Murphy
have ‘no head’ and they support creativity based by providing a means for others to interact with, react to, negotiate around, and build upon an idea [43, 53]. Suthers [51] identifies three roles of externalisations that are unique to situations involving group in constructing and manipulating shared representations. First, they initiate negotiations of meaning among stakeholders so that individuals who wish to add to or modify the externalisation feel obliged to negotiate agreement with the other group members. The externalisations, thereby, contribute to a common language of understanding among members of the group [53]. Second, they support conversations through deixis, whereby components of the negotiated representations evoke in the minds of the group members rich meanings beyond the obviousness of the externalisation. These components can serve as an easy way to refer to the ideas previously developed. Third, externalisations are a reminder of common ground, whereby the negotiated representation serves as a group memory and reminds the group members of previous ideas and possibly serving as an agenda for further work. The fifth design principle, therefore, states that the tool supports a collaborative approach to innovation modelling. Design is a dialectic process in which the goal is not to force solutions on stakeholders but instead to create an environment for dialog that results in solutions reached through compromise. Collaboration in innovation modelling depends on being able to quickly and cheaply develop modifiable and throw away models that assist stakeholders in creating shared understanding through engaging in a conversation with each other and with the models. 5.5 The Role of Ease of Use and Ease of Modification But while design tools can be very powerful for the expert user, they can be less useful for the novice or occasional user who must first master basic functions before starting to represent their problem. The tools impede the creativity of the user who cannot simply start sketching ideas that come to mind but must follow a strict series of steps which hinders the flow of their thinking [54]. The tools, therefore, are less useful for novice users and particularly during the early stages of design where their ideas remain illformed and lack structure. The key is to find the right balance in the tool between enforcing controlled functionality and meta-model constraints, while at the same time giving the designer sufficient degrees of freedom [54]. The tool should make it easy for novices to get started (i.e. provide a low threshold) but also make it possible for experts to create advanced innovation models (i.e. provide a high ceiling). The tool should be facile and un-encumbering, so that both novice and expert users can try out different alternatives very quickly. The tool should be “self-revealing” so that it is clear to designers what needs to be done and how it should be done and as the designer advances in his or her experience with the tool, further levels of functionality should be revealed. When people are stressed or concentrating too much effort on how to use the tools to perform some task, then they will have less cognitive resources left over for finding creative solutions to their tasks [55]. In addition to their usability, tools should remain open to change by the designer. The provision of closed tools, in which the essential functionality is fixed when the tool is designed, is inadequate for coping with dynamic problem contexts [43]. Providing open systems that evolve at the hands of the users, thereby giving them the ability to extend the tools as they explore different problems and leverage new insights is important [43]. The sixth design principle,
Building towards a Software Based Innovation Modelling Tool
211
therefore, states that the tool must be easy to use and easy to modify. For instance, the tool should be extensible to incorporate other management tools, techniques and methods e.g. SWOT analysis, balanced scorecards etc.
6 A Concluding Remark on the Future of the Tool We have noted a considerable improvement in the quality of the innovation models produced by novice users when using this prototype in comparison to more traditional pen and paper approaches. However, we suggest that further improvements are likely to accrue from developing the Canvas into a software-based tool. To paraphrase, Osterwalder and colleagues [12 p. 24] “specifying a set of innovation model elements and building blocks, as well as their relationships to each other, is like giving an innovation model designer a box of Lego stones. He can play around with these stones and create completely new innovation models, limited only be his imagination and the pieces supplied”.
References 1. Dosi, G.: The nature of the innovation process. In: Dosi, G., et al. (eds.) Technical Change and Economic Theory, pp. 221–238. Laboratory of Economics and Management, Sant Anna School of Advanced Studies, Pisa, Italy (1988) 2. Kaufmann, A., Tödtling, F.: Science–industry interaction in the process of innovation: the importance of boundary-crossing between systems. Research Policy 30(5), 791–804 (2001) 3. Kline, S.J., Rosenberg, N.: An overview of innovation. In: Landau, R., Rosenberg, N. (eds.) The Positive Sum Strategy. Harnessing Technology for Economic Growth, pp. 275– 305. National Academy Press, Washington DC, US (1986) ,%L (1932) 4. Koen, P.A.: The Fuzzy Front End for Incremental, Platform, and Breakthrough Products. The PDMA Handbook of New Product Development, pp. 81–91. John Wiley & Sons, New York (2004) 5. Crossan, M.M., Apaydin, M.: A Multi Dimensional Framework of Organizational Innovation: A Systematic Review of the Literature. Journal of Management Studies 47(6), 1154–1191 (2010) 6. Wolfe, R.A.: Organizational innovation: review, critique and suggested research directions. Journal of Management Studies 31(3), 405–431 (1994) 7. Mohr, L.B.: Explaining organizational behavior. Jossey-Bass, San Francisco (1982) 8. Crowston, K.: A coordination theory approach to organizational process design. Organization Science 8(2), 157–175 (1997) 9. Damanpour, F., Wischnevsky, D.J.: Research on innovation in organizations: Distinguishing innovation-generating from innovation-adopting organizations. Journal of Engineering and Technology Management 23(4), 269–291 (2006) 10. Padmore, T., Schuetze, H., Gibson, H.: Modeling systems of innovation: An enterprisecentered view. Research Policy 26(6), 605–624 (1998) 11. Scozzi, B., Garavelli, C., Crowston, K.: Methods for modeling and supporting innovation processes in SMEs. European Journal of Innovation Management 8(1), 120–137 (2005) 12. Osterwalder, A., Pigneur, Y., Tucci, C.L.: Clarifying business models: Origins, present, and future of the concept. Communications of the Association for Information Systems 16(1), 1–25 (2005)
212
P. O’Raghallaigh, D. Sammon, and C. Murphy
13. Gregor, S., Jones, D.: The Anatomy of a Design Theory. Journal of the AIS 8(1), 19 (2007) 14. Uschold, M., Gruninger, M.: Ontologies: Principles, Methods and Applications. The Knowledge Engineering Review 11(02), 93–136 (1996) 15. Garcia, R., Calantone, R.: A critical look at technological innovation typology and innovativeness terminology: a literature review. Journal of Product Innovation Management 19(2), 110–132 (2002) 16. OECD, Proposed Guidelines for Collecting and Interpreting Technological Innovation Data: Oslo Manual. OECD, Paris (1997) 17. O’Raghallaigh, P., Sammon, D., Murphy, C.: Towards an Ontology of Innovation Models - A Conceptual Framework. In: European Conference on Information Systems Various. Aalto University Helsinki, Finland (2011) 18. Alves, J., et al.: Creativity and innovation through multidisciplinary and multisectoral cooperation. Creativity and Innovation Management 16(1), 27–34 (2007) 19. Cagan, J., Vogel, C.M.: Creating breakthrough products: innovation from product planning to program approval. Prentice Hall, New Jersey (2002) 20. Christensen, C.M.: Using Disruptive Innovation to Create New Growth. J. Willard Marriott Library, University of Utah (2006) 21. Kogut, B., Zander, U.: What firms do? Coordination, identity, and learning. Organization Science 7(5), 502–518 (1996) 22. O’Raghallaigh, P., Sammon, D., Murphy, C.: Theory-building using Typologies - A Worked Example of Building a Typology of Knowledge Activities for Innovation. In: 15th IFIP WG8.3 Conference on DSS, IOS Press, University of Lisbon (2010) 23. Jaworski, B.J.: Toward a theory of marketing control: environmental context, control types, and consequences. The Journal of Marketing, 23–39 (1988) 24. Anthony, R.N.: Planning and control systems: a framework for analysis. Harvard University Press, Boston (1965) 25. Sawhney, M., Wolcott, R.C., Arroniz, I.: The 12 different ways for companies to innovate. MIT Sloan Management Review 47(3), 75 (2006) 26. Niehaves, B.: On Epistemological Diversity in Design Science: New Vistas for a DesignOriented IS Research? In: International Conference on Information Systems (ICIS 2007), Montreal, Canada, p. 133 (2007) 27. Goldkuhl, G., Lind, M.: A multi-grounded design research process. In: Winter, R., Zhao, J.L., Aier, S. (eds.) DESRIST 2010. LNCS, vol. 6105, pp. 45–60. Springer, Heidelberg (2010) 28. Osterwalder, A.: Business Model Manual-How to Describe and Improve your Business Model to Compete Better. Working paper, La Trobe University in Melbourne, Australia (2009) 29. Osterwalder, A.: Methods for the Business Model Generation: how #bmgen and #custdev fit perfectly (2011), http://www.businessmodelalchemist.com/2011/01/methods-forthe-business-model-generation-how-bmgen-and-custdev-fitperfectly.html (cited April 01, 2011) 30. Avital, M., Boland, R.J., Lyytinen, K.: Introduction to designing information and organizations with a positive lens. Information and Organization 19(3), 153–161 (2009) 31. Rittel, H.W.J., Webber, M.M.: Dilemmas in a general theory of planning. Policy sciences 4(2), 155–169 (1973) 32. Conklin, J.: Wicked problems and social complexity. Dialog Mapping: Building Shared Understanding of Wicked Problems. Wiley, Chichester (2006) 33. Römer, A., Leinert, S., Sachse, P.: External support of problem analysis in design problem solving. Research in Engineering Design 12(3), 144–151 (2000)
Building towards a Software Based Innovation Modelling Tool
213
34. Fiol, C.M., Huff, A.S.: Maps for managers: where are we? Where do we go from here? Journal of Management Studies 29(3), 267–285 (1992) 35. Nakakoji, K., Yamamoto, Y., Takada, S.: Two-dimensional positioning as a means to represent strategic knowledge in design. In: Strategic Knowledge and Concept Formation, pp. 109–121 (1999) 36. Nickerson, J.V., et al.: The Spatial Nature of Thought: Understanding Systems Design Through Diagrams. In: International Conference on Information Systems (ICIS 2008), Paris, France, p. 216 (2008) 37. Bruner, J.S.: The culture of education. Harvard University Press, Cambridge (1996) 38. Cox, R.: Representation construction, externalised cognition and individual differences. Learning and Instruction 9(4), 343–363 (1999) 39. Cox, R., Brna, P.: Supporting the Use of External Representations in Problem Solving: the Need for Flexible Learning Environments. AAI/AI-ED Technical Report No. 102 (1994) 40. Jonassen, D.: Using cognitive tools to represent problems. Journal of Research on Technology in Education 35(3), 362–382 (2003) 41. Larkin, J.H., Simon, H.A.: Why a Diagram is (Sometimes) Worth Ten Thousand Words. Cognitive Science 11(1), 65–100 (1987) 42. Tversky, B.: What Do Sketches Say About Thinking? In: AAAI Spring Symposium Series-Sketch Understanding, pp. 148–151. Stanford University, Stanford (2002) 43. Arias, E., et al.: Transcending the individual human mind—creating shared understanding through collaborative design. ACM Transactions on Computer-Human Interaction (TOCHI) 7(1), 84–113 (2000) 44. Engelbart, D.C.: Toward augmenting the human intellect and boosting our collective IQ. Communications of the ACM 38(8), 30–32 (1995) 45. Jonassen, D.H.: What are cognitive tools. In: Kommers, P.A., Jonassen, D.H., Mayes, J.T. (eds.) Cognitive Tools for Learning. Springer, Berlin (1992) 46. Norman, D.A.: Things that make us smart: Defending human attributes in the age of the machine. Addison-Wesley, Reading (1994) 47. Jonassen, D.H.: Technology as cognitive tools: Learners as designers. ITForum Paper 1, 67–80 (1994) 48. Schön, D.A.: The reflective practitioner: How professionals think in action. Basic Books, New York (1983) 49. Nakakoji, K., Yamamoto, Y.: What does the representation talk back to you? KnowledgeBased Systems 14(8), 449–453 (2001) 50. Nakakoji, K., et al.: Two-dimensional spatial positioning as a means for reflection in design. In: Designing Interaction Systems (DIS). ACM Press, New York City (2000) 51. Suthers, D.D.: Representational guidance for collaborative learning. In: Artificial Intelligence in Education: Shaping the Future of Learning Through Intelligent Technologies, p. 3 (2003) 52. Polich, J.M., Schwartz, S.H.: The effect of problem size on representation in deductive problem solving. Memory & Cognition 2(4), 683–686 (1974) 53. Fischer, G.: Creativity and distributed intelligence. In: Report of the NSF Workshop on Creativity Support Tools 2005, pp. 71–73 (2005) 54. Fritscher, B., Pigneur, Y.: Supporting Business Model Modelling: A Compromise between Creativity and Constraints. In: Task Models and Diagrams for User Interface Design, pp. 28–43 (2010) 55. Resnick, M., et al.: Design principles for tools to support creative thinking. In: NFS Workshop Report on Creativity Support Tools, pp. 37–52 (2005)
Author Index
Caetano, Artur 74 Cheng, T.C. Edwin 1
Molhanec, Martin 159 Murphy, Ciaran 192
Danylevych, Olha
Nicolae, Oana 45 Nikolaou, Christos 21
Elalouf, Amir Eldabi, Tillal
21
1 35
O’Raghallaigh, Paidi
Guizzardi, Giancarlo Heidari, Farideh
Pedrosa, Diogo 63 Pergl, Robert 130, 173
100
85
Kedad, Zoubida 85 Keramati, Amir (Aboulfazl) Levner, Eugene 1 Leymann, Frank 21 Loucopoulos, Pericles
35
Sammon, David 192 S´ a Silva, Pedro 63 Seck, Mamadou 116 Sousa, Pedro 74 Trigo, Ant´ onio
85
Marques Pereira, Carla 74 Merunka, Vojtˇech 145
192
63
van der Horst, Frans Varaj˜ ao, Jo˜ ao 63 Wagner, Gerd Widjaya, Reza
116
45, 100 116