Revisiting Workflow Modeling with Statecharts.

In this paper, we model business workflows using Harel’s statecharts. We demonstrate that mapping to statecharts allows one to systematically identify potential workflow problems. Moreover, it also allows one to investigate specific properties inherent in actual business workflows. Our research focuses on three desirable properties of active database systems --non-termination, non-confluence, and non-observable determinism. As a theoretical lens for non-termination and non-confluence, we develop algorithms linking desirable active database system properties to workflow management systems problems. Preliminary validation of our algorithms is accomplished by mapping business workflows from a case study. Our research thus generates preliminary theory by developing a systematic method for identifying workflow problems. INTRODUCTION Business workflows can be well defined, predictable, and frequently executed. We thereby refer to these as structured business workflows. Such workflows can be automated by machines to reduce clerical tasks and potential human intervention errors. Workflow management systems (WMS) are a tested vehicle to facilitate automation of structured business workflows. WMS, which are new generations of computerized systems, are designed to manage automated parts of business workflows (Brunwin, 1994). By separating workflow definitions from application software, WMS provide process and knowledge independence, much like data independence provided by database management systems. In this research, we use Harel’s statecharts to model structured business workflows (Harel, 1987) for three reasons. First, Harel’s statecharts are used in the Unified Modeling Revisiting Workflow Modeling with Statecharts 235 Copyright © 2004, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. Language (UML) as a means for modeling behavior (Object Management Group, 1999). Since the UML is the standard modeling language of the Object Management Group1, Harel’s statecharts will soon become common. Second, statecharts are easy to understand and they do not have the problem of exponential growth of states that plague ordinary state transition diagrams (Harel, 1988). We shall elaborate on this point in the Related Work section. Third, their semantics are rigorous enough for formal analysis on various aspects of structured business workflows (Harel & Naamad, 1996). Within the framework of statecharts, we will show how to model workflow concepts and present algorithms that determine whether a given business workflow has certain predefined properties. We will then use a case study with Moore BCS (recently recast as Moore Wallace Incorporated) to explore the characteristics of a business workflow. The algorithms we develop in this study will become part of a software design tool that we will develop in the future. RELATED WORK An overview of workflow management using the latest technology can be found in Georgakopoulos, Hornick, and Sheth (1995). Specification and implementation of exceptions in workflow management systems are discussed in Casati, Ceri, Paraboschi, and Pozzi (1999) and workflow evolution in Casati, Ceri, Pernici, and Pozzi (1998). Active database systems have been studied extensively (Paton & Diaz, 1999). Active database systems and workflow management systems are related since both types of systems employ triggers to respond to external and internal events and exceptions. We are interested in three important properties of active database systems in this research, namely termination, confluence, and observable determinism, which are formally defined in Allen, Hellerstein, and Widom (1995). More discussion on active database systems, which includes several research prototypes and commercial products, can be found in Zaniolo (1997). The statemate approach, which uses statecharts in modeling reactive systems, is described in Harel and Politi (1998) and its semantics in Harel and Naamad (1996). By far, the statemate semantics of statecharts is the most rigorous and precise execution semantics defined for statecharts and it has been in use for more than ten years (Harel & Naamad, 1996). Here we point out the most significant aspects of the execution semantics. The reader may consult Harel and Politi (1998) and Harel and Naamad (1996) for details. The behavior of a system described in statemate semantics is a set of possible runs, each representing the responses of the system to a sequence of external stimuli generated by its environment2. A run consists of a series of detailed snapshots of the system’s situation; such a snapshot is called a status. The first in the sequence is the initial status, and each subsequent one is obtained from its predecessor by executing a step (see Figure 1). Figure 1: Status and Step.