Michael James Adams Thesis
Total Page:16
File Type:pdf, Size:1020Kb
Facilitating Dynamic Flexibility and Exception Handling for Workflows by Michael James Adams B.Comp (Hons) A dissertation submitted for the degree of IF49 Doctor of Philosophy Principal Supervisor: Associate Professor Arthur H.M. ter Hofstede Associate Supervisors: Dr David Edmond & Professor Wil M.P. van der Aalst Faculty of Information Technology Queensland University of Technology Brisbane, Australia 14 November 2007 Certificate of Acceptance i Keywords workflow exception handling, workflow flexibility, adaptive workflow, service oriented architecture, Activity Theory, Ripple-Down Rules, worklet, exlet, YAWL ii Abstract Workflow Management Systems (WfMSs) are used to support the modelling, analysis, and enactment of business processes. The key benefits WfMSs seek to bring to an or- ganisation include improved efficiency, better process control and improved customer service, which are realised by modelling rigidly structured business processes that in turn derive well-defined workflow process instances. However, the proprietary process definition frameworks imposed by WfMSs make it difficult to support (i) dynamic evo- lution and adaptation (i.e. modifying process definitions during execution) following unexpected or developmental change in the business processes being modelled; and (ii) exceptions, or deviations from the prescribed process model at runtime, even though it has been shown that such deviations are a common occurrence for almost all processes. These limitations imply that a large subset of business processes do not easily translate to the ‘system-centric’ modelling frameworks imposed. This research re-examines the fundamental theoretical principles that underpin workflow technologies to derive an approach that moves forward from the production- line paradigm and thereby offers workflow management support for a wider range of work environments. It develops a sound theoretical foundation based on Activity The- ory to deliver an implementation of an approach for dynamic and extensible flexibility, evolution and exception handling in workflows, based not on proprietary frameworks, but on accepted ideas of how people actually perform their work activities. The approach produces a framework called worklets to provide an extensible reper- toire of self-contained selection and exception-handling processes, coupled with an extensible ripple-down rule set. Using a Service-Oriented Architecture (SOA), a se- lection service provides workflow flexibility and adaptation by allowing the substitu- tion of a task at runtime with a sub-process, dynamically selected from its repertoire depending on the context of the particular work instance. Additionally, an exception- handling service uses the same repertoire and rule set framework to provide targeted and multi-functional exception-handling processes, which may be dynamically in- voked at the task, case or specification level, depending on the context of the work instance and the type of exception that has occurred. Seven different types of ex- ception can be handled by the service. Both expected and unexpected exceptions are catered for in real time. The work is formalised through a series of Coloured Petri Nets and validated using two exemplary studies: one involving a structured business environment and the other a more creative setting. It has been deployed as a discrete service for the well-known, open-source workflow environment YAWL, and, having a service orientation, its appli- cability is in no way limited to that environment, but may be regarded as a case study in service-oriented computing whereby dynamic flexibility and exception handling for iii workflows, orthogonal to the underlying workflow language, is provided. Also, being open-source, it is freely available for use and extension. iv Contents Keywords ii Abstract iii Contents v List of Figures ix Statement of Original Authorship xii Acknowledgements xiii 1 Introduction 1 1.1 Problem Area .............................. 2 1.2 Problem Statement ........................... 6 1.2.1 Limitations of the Paradigm .................. 6 1.2.2 Lack of Support for Exception Handling ............ 7 1.2.3 Lack of System-based, Intelligent Recovery Processes .... 7 1.2.4 Difficulty in Process Expression ................ 8 1.3 Solution Criteria ............................. 9 1.3.1 Support for Flexibility ..................... 9 1.3.2 Process Focus for Exception Handling ............. 9 1.3.3 Comprehensibility ....................... 10 1.3.4 Locality of Change ....................... 11 1.3.5 Support for Verification ..................... 11 1.3.6 Support for Reusability ..................... 11 1.3.7 Support for Reflection ..................... 12 1.3.8 Support for Design ....................... 12 1.3.9 Reflection of Actual Work Processes .............. 12 1.4 Research Objectives and Approach ................... 13 1.5 Publications ............................... 15 1.6 Original Contributions ......................... 16 v 1.7 Outline of Thesis ............................ 17 2 Workflow Flexibility & Exception Handling Issues 18 2.1 Current State of the Art ......................... 18 2.2 Conceptual Frameworks vs. Actual Business Processes ........ 23 2.3 Modelling Dynamic Workflows ..................... 25 2.4 Exception Handling Techniques .................... 27 2.5 Rules-Based Approaches ........................ 30 2.6 Automatic Evolution of Workflow Specifications ........... 33 2.7 Consistency, Completeness and Correctness .............. 34 2.8 Case Handling .............................. 35 3 Theoretical Framework: Activity Theory 38 3.1 Issues in Representing Work Practices Procedurally .......... 38 3.2 An Introduction to Activity Theory ................... 40 3.2.1 Background ........................... 40 3.2.2 How Activity Theory Describes Work Practices ........ 40 3.3 Applicability of Activity Theory to Workflow Systems ........ 45 3.4 Principles Derived from Activity Theory ................ 45 3.5 Functionality Criteria Based on Derived Principles .......... 47 3.5.1 Criterion 1: Flexibility and Re-use ............... 47 3.5.2 Criterion 2: Adaptation via Reflection ............. 49 3.5.3 Criterion 3: Dynamic Evolution of Tasks ........... 50 3.5.4 Criterion 4: Locality of Change ................ 51 3.5.5 Criterion 5: Comprehensibility of Process Models ...... 51 3.5.6 Criterion 6: The Elevation of Exceptions to “First-Class Citi- zens” .............................. 52 3.6 Functionality Criteria vs. Solution Criteria ............... 53 4 Conceptualisation of Worklets 55 4.1 Worklets — An Introduction ...................... 55 4.2 Context, Rules and Worklet Selection ................. 57 4.3 The Selection Process .......................... 62 4.4 Exception Handling ........................... 64 4.4.1 Exception Types ........................ 65 4.4.2 Exception Handling Primitives ................. 66 4.4.3 Local and Global Perspectives on Exception Handling .... 68 4.5 Service Interface ............................ 70 4.5.1 Selection Interface ....................... 70 vi 4.5.2 Exception Interface ....................... 72 4.6 Secondary Data Sources ........................ 73 5 Formalisation 78 5.1 Flexibility: The Selection Service ................... 79 5.2 Exception Handling: The Exception Service .............. 83 5.3 Evaluating the Rule Tree ........................ 85 5.4 Executing an Exception Handler .................... 87 5.5 Suspending a Case ........................... 89 5.6 Continuing a Case ............................ 90 5.7 Removing all Cases ........................... 91 5.8 Compensation .............................. 92 6 Implementation 95 6.1 Service Overview ............................ 95 6.1.1 The Selection Service ..................... 95 6.1.2 The Exception Service ..................... 98 6.2 Service Oriented Approach ....................... 100 6.3 Worklet Service Architecture ...................... 102 6.3.1 The WorkletService class .................... 105 6.3.2 The selection Package ..................... 105 6.3.3 The exception Package ..................... 107 6.3.4 The rdr Package ........................ 107 6.3.5 The admin Package ....................... 111 6.3.6 The support Package ...................... 112 6.3.7 The jsp Package ........................ 114 6.4 Service Installation and Configuration ................. 116 6.4.1 Configuration — Service Side ................. 116 6.4.2 Configuration — Engine Side ................. 117 6.5 Worklet Process Definition ....................... 118 6.6 Exlet Process Definition ........................ 121 6.6.1 Constraints Example ...................... 123 6.6.2 External Trigger Example ................... 125 6.6.3 Timeout Example ........................ 126 6.7 Ripple Down Rule Sets ......................... 129 6.8 Extending the Available Conditionals ................. 130 6.9 The Rules Editor ............................ 133 6.9.1 The Toolbar ........................... 133 6.9.2 Adding a New Rule ....................... 135 vii 6.9.3 Dynamic Replacement of an Executing Worklet ........ 138 6.9.4 Creating a New Rule Set and/or Tree Set ........... 139 6.9.5 Drawing a Conclusion Sequence ................ 142 6.9.6 Rules Editor Internal Structure ................. 144 7 Validation 149 7.1 Exemplary Study - Business Environment ............... 149 7.1.1 Background ........................... 149 7.1.2 The first:utility Approach .................... 151 7.1.3 A Worklet Service Solution .................. 154 7.2 Exemplary Study - Creative Environment ..............