|
Preface |
6 |
|
|
Contents |
8 |
|
|
1 Introduction |
12 |
|
|
1.1 Motivation |
13 |
|
|
1.2 Intended Readership and Relevance |
18 |
|
|
1.3 Outline |
19 |
|
|
2 State of the Art |
20 |
|
|
2.1 An Overview of Business Process Modelling Techniques |
20 |
|
|
2.2 Formal Representations of BPMN |
22 |
|
|
2.3 Suitability of BPMN for Business Process Modelling |
24 |
|
|
3 Modelling Semantics with Abstract State Machines |
28 |
|
|
3.1 General Features of the ASM Method |
29 |
|
|
3.2 The ASM Notation Used in This Book |
33 |
|
|
3.2.1 Rules |
33 |
|
|
3.2.2 Derived Functions |
35 |
|
|
3.2.3 Local Constants and Variables and New DataElements |
35 |
|
|
3.2.4 Assertions |
36 |
|
|
3.2.5 Types of Functions and Universes |
36 |
|
|
3.2.6 Signatures of Functions and Rules |
37 |
|
|
3.2.7 Boolean Expressions |
37 |
|
|
3.2.8 Set Expressions |
38 |
|
|
3.2.9 Naming Conventions |
38 |
|
|
4 A Rigorous Semantics for BPMN 2.0 Process Diagrams |
40 |
|
|
4.1 Process Diagrams |
41 |
|
|
4.2 Framework |
44 |
|
|
4.2.1 Initialisation and Top-Level Process Management |
44 |
|
|
4.2.2 Workflow Transition Interpreter |
45 |
|
|
4.2.2.1 Token Concept |
46 |
|
|
4.2.3 Flow Nodes |
47 |
|
|
4.2.3.1 Node Transition |
49 |
|
|
4.2.3.2 Instance Transition |
51 |
|
|
4.2.3.3 Process vs. Activity |
51 |
|
|
4.3 Control Flow |
53 |
|
|
4.3.1 Producing Tokens |
54 |
|
|
4.3.2 Consuming Tokens |
54 |
|
|
4.4 Instantiation, Deletion, and Interruption |
55 |
|
|
4.4.1 Creating Instances |
55 |
|
|
4.4.2 Deleting Instances |
56 |
|
|
4.4.3 Interrupting Activities |
57 |
|
|
4.5 Activities |
60 |
|
|
4.5.1 Send Tasks and Receive Tasks |
62 |
|
|
4.5.2 Common Semantics of Activities |
63 |
|
|
4.5.3 Tasks |
67 |
|
|
4.5.4 Sub-processes |
71 |
|
|
4.5.5 Event Sub-processes |
74 |
|
|
4.5.6 Transaction Sub-processes |
75 |
|
|
4.5.7 Ad Hoc Sub-processes |
78 |
|
|
4.5.8 Compensation |
80 |
|
|
4.5.8.1 Rules Concerning Compensation |
81 |
|
|
4.5.8.2 Functions Concerning Compensation |
82 |
|
|
4.5.9 Call Activities |
82 |
|
|
4.5.10 Loop Activities |
84 |
|
|
4.5.10.1 Standard Loop |
88 |
|
|
4.5.10.2 Sequential Multi-instance Loop |
90 |
|
|
4.5.10.3 Parallel Multi-instance Loop |
92 |
|
|
4.6 Gateways |
94 |
|
|
4.6.1 Parallel Gateways |
97 |
|
|
4.6.2 Exclusive Gateways |
99 |
|
|
4.6.3 Inclusive Gateways |
101 |
|
|
4.6.4 Complex Gateways |
107 |
|
|
4.6.5 Event-Based Gateways |
113 |
|
|
4.7 Events |
117 |
|
|
4.7.1 Event Transition |
119 |
|
|
4.7.2 Catching Events |
119 |
|
|
4.7.3 Start Events |
124 |
|
|
4.7.4 Start Events of Top-Level Processes |
126 |
|
|
4.7.5 Start Events of Embedded Sub-processes |
133 |
|
|
4.7.6 Start Events of Event Sub-processes |
134 |
|
|
4.7.7 Boundary Start Events |
139 |
|
|
4.7.8 Intermediate Catching Events |
142 |
|
|
4.7.9 Catching Link Events |
145 |
|
|
4.7.10 Intermediate Boundary Events |
147 |
|
|
4.7.11 Throwing Events |
151 |
|
|
4.7.12 End Events |
154 |
|
|
4.7.13 Intermediate Throwing Events |
155 |
|
|
4.7.14 Throw a Compensation Event |
156 |
|
|
4.7.14.1 Throw an Exception |
158 |
|
|
4.8 Data |
159 |
|
|
4.9 Miscellaneous |
161 |
|
|
4.9.1 Scope |
161 |
|
|
4.9.2 Message Flow |
161 |
|
|
4.9.3 Swimlanes |
162 |
|
|
4.9.4 Artefacts |
163 |
|
|
4.9.5 Conversation |
163 |
|
|
4.9.6 Correlation |
163 |
|
|
4.9.7 Choreography |
163 |
|
|
5 How the Semantic Model Can Be Used |
164 |
|
|
5.1 Validation and Verification |
165 |
|
|
5.2 Validation |
166 |
|
|
5.3 Verification |
169 |
|
|
6 A Discussion of BPMN 2.0 |
171 |
|
|
6.1 General Remarks on BPMN |
172 |
|
|
6.2 Deviations Between Our Model and the BPMN 2.0 Standard |
175 |
|
|
6.2.1 Conflicting Provisions in the Standard |
175 |
|
|
6.2.2 Superfluous Elements |
176 |
|
|
6.3 Suggestions for Further Improvements |
177 |
|
|
6.3.1 Potential for Semantic Simplification |
177 |
|
|
6.3.2 Process Instantiation by Mixed-Behaviour Elements |
178 |
|
|
6.3.3 Other Mixed-Behaviour Elements and Further Possible Simplifications |
181 |
|
|
6.3.4 Object-Oriented vs. Subject-Oriented Approaches |
182 |
|
|
6.3.5 Modelling Issues Currently not Covered by BPMN |
183 |
|
|
7 Towards a Workflow Engine by Stepwise Refinement |
184 |
|
|
7.1 Workflow Interpreter (WI) |
184 |
|
|
7.2 Context |
186 |
|
|
7.2.1 Static Context |
186 |
|
|
7.2.2 Root Context |
187 |
|
|
7.2.3 Sub-context |
187 |
|
|
7.3 Notifications |
188 |
|
|
7.4 Implicit Notifications |
190 |
|
|
7.5 Message and Signal Pool |
191 |
|
|
7.6 Event Publication |
192 |
|
|
7.7 Event Propagation |
193 |
|
|
7.8 Deployment Manager and Deployments |
194 |
|
|
7.8.1 Deployments |
194 |
|
|
7.8.2 Deployment Manager |
195 |
|
|
7.9 Instance Manager |
196 |
|
|
7.10 Further Refinements |
198 |
|
|
8 Discussion of the Proposed Specification and Outlook |
199 |
|
|
8.1 Deontic BPMN |
200 |
|
|
8.2 A Layered Approach for Actor Modelling |
201 |
|
|
8.3 Integration of User Interaction Modelling |
202 |
|
|
8.4 Towards an Enhanced Communication Concept |
203 |
|
|
8.5 Integration of Data Modelling |
204 |
|
|
8.6 Towards an eP2 Architecture |
205 |
|
|
A The Signature of the Ground Model |
206 |
|
|
A.1 Auxiliary Functions and Constructs Used |
206 |
|
|
A.2 Basic Functions (Signature) |
208 |
|
|
A.2.1 Primitive Types |
208 |
|
|
A.2.2 Universes |
209 |
|
|
A.2.2.1 Regarding Flow Nodes and Connecting Objects |
210 |
|
|
A.2.2.2 Regarding Lifecycle States |
211 |
|
|
A.2.2.3 Regarding Event Triggers |
212 |
|
|
A.2.3 Static Functions |
214 |
|
|
A.2.3.1 Regarding Processes |
214 |
|
|
A.2.3.2 Regarding Flow Nodes |
215 |
|
|
A.2.3.3 Regarding Event Definitions |
219 |
|
|
A.2.3.4 Regarding Connecting Objects |
219 |
|
|
A.2.3.5 Regarding Data |
220 |
|
|
A.2.4 Shared Functions |
220 |
|
|
A.2.5 Monitored Functions |
221 |
|
|
A.2.6 Controlled Functions |
222 |
|
|
A.2.6.1 Regarding Instances |
222 |
|
|
A.2.6.2 Regarding Flow Nodes |
223 |
|
|
A.2.6.3 Regarding Connecting Objects |
223 |
|
|
A.2.6.4 Regarding Tokens |
224 |
|
|
A.2.6.5 Regarding Event Triggers |
224 |
|
|
B List of Acronyms |
225 |
|
|
C BPMN Symbols |
227 |
|
|
References |
229 |
|
|
Index |
238 |
|