28.01.2015 Views

Semantics, Verification, and Implementation of Workflows ... - YAWL

Semantics, Verification, and Implementation of Workflows ... - YAWL

Semantics, Verification, and Implementation of Workflows ... - YAWL

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!