Semantics, Verification, and Implementation of Workflows ... - YAWL
Semantics, Verification, and Implementation of Workflows ... - YAWL
Semantics, Verification, and Implementation of Workflows ... - YAWL
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 1. Introduction<br />
There is a trade-<strong>of</strong>f between expressive power <strong>and</strong> ease <strong>of</strong> verification. One <strong>of</strong><br />
the drawbacks <strong>of</strong> an expressive language like <strong>YAWL</strong> is that it makes it difficult<br />
to determine the correctness <strong>of</strong> workflow specifications modelled in the language.<br />
There exists a body <strong>of</strong> work concerning the verification <strong>of</strong> workflow specifications<br />
based on Petri nets [Aal97, Aal98b, AH00, Ver04, DA04]. Unfortunately, these<br />
results are not transferable to situations where languages are involved that use<br />
concepts either not easily expressed in terms <strong>of</strong> Petri nets such as cancellation<br />
regions <strong>and</strong> OR-join. These concepts are examined in more depth in the next<br />
two sections.<br />
1.4 Cancellation regions<br />
Cancellation occurs frequently in business scenarios <strong>and</strong> hence, in workflow modelling.<br />
Cancellation captures the interference <strong>of</strong> an activity in the execution <strong>of</strong><br />
others in certain circumstances. Cancellation can be triggered by either a customer<br />
request (e.g., a customer wishes to withdraw a credit card application) or<br />
by exceptions (e.g., an order cannot be processed due to insufficient stock level).<br />
In general, cancellation results in one <strong>of</strong> two outcomes: disabling some scheduled<br />
activities or stopping currently running activities.<br />
Sometimes, cancellation affects only a selective part <strong>of</strong> a workflow <strong>and</strong> other<br />
activities can continue after performing a cancellation action. When cancellation<br />
only involves a single activity, this behaviour is captured by the “cancel activity”<br />
workflow pattern [AHKB03, AH02, Kie03]. In an evaluation reported by Kiepuszewski<br />
[Kie03], it is shown that this pattern is not supported by the following<br />
commercial workflow management systems: Visual WorkFlo, Verve Workflow,<br />
MQSeries Workflow, Forte Conductor, HP Change Engine, Fujitsu I-Flow <strong>and</strong><br />
SAP R/3 Workflow. When cancellation affects the entire workflow case, it stops<br />
the execution <strong>of</strong> the workflow <strong>and</strong> the process is terminated. This behaviour is<br />
captured by the “cancel case” pattern [AHKB03, AH02, Kie03]. A number <strong>of</strong><br />
workflow systems support this pattern using either a terminate activity, a dedicated<br />
final activity or an abort function. There are also serval st<strong>and</strong>ards <strong>and</strong><br />
tools that has such a concept (e.g., UML activity diagrams, Staffware, BPMN,<br />
etc).<br />
As cancellation occurs naturally in business scenarios, comprehensive support<br />
in a workflow language is desirable. The notions <strong>of</strong> cancel activity <strong>and</strong> cancel case<br />
can be generalised to the notion <strong>of</strong> cancellation region whereby an arbitrary region<br />
<strong>of</strong> a workflow specification can be subjected to a cancellation action. It should<br />
be noted that the introduction <strong>of</strong> arbitrary cancellation regions complicates the<br />
notion <strong>of</strong> reachability whereby one wishes to determine whether a certain future<br />
state <strong>of</strong> the workflow can be attained from a certain other state. In fact, as will<br />
be seen later on, this notion becomes undecidable. The complicating factor is<br />
that due to concurrency issues, the cancellation action may or may not result in<br />
cancelling certain activities, i.e., the process may be in a state before or after that<br />
part that is cancelled. It is also clear that the introduction <strong>of</strong> cancellation regions<br />
may lead to deadlocks in some specifications in some scenarios. New techniques<br />
are required to enable design time detection <strong>of</strong> verification problems in workflows<br />
with cancellation regions (e.g., deadlocks, improper completion).<br />
PhD Thesis – c○ 2006 M.T.K Wynn – Page 3