Semantics, Verification, and Implementation of Workflows ... - YAWL
Semantics, Verification, and Implementation of Workflows ... - YAWL
Semantics, Verification, and Implementation of Workflows ... - YAWL
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Abstract<br />
Workflow systems aim to provide automated support for the conduct <strong>of</strong> certain<br />
business processes. Workflow systems are driven by workflow specifications<br />
which among others, capture the execution interdependencies between various<br />
activities. These interdependencies are modelled by means <strong>of</strong> different control<br />
flow constructors, e.g., sequence, choice, parallelism <strong>and</strong> synchronisation. It has<br />
been shown in the research on workflow patterns that the support for <strong>and</strong> the<br />
interpretation <strong>of</strong> various control flow constructs varies substantially across workflow<br />
systems. Two <strong>of</strong> the most problematic patterns relate to the OR-join <strong>and</strong><br />
to cancellation.<br />
An OR-join is used in situations when we need to model “wait <strong>and</strong> see” behaviour<br />
for synchronisation. Different approaches assign a different (<strong>of</strong>ten only<br />
intuitive) semantics to this type <strong>of</strong> join, though they do share the common theme<br />
that synchronisation is only to be performed for active paths. Depending on<br />
context assumptions this behaviour may be relatively easy to deal with, though<br />
in general its semantics is complicated, both from a definition point <strong>of</strong> view (in<br />
terms <strong>of</strong> formally capturing a desired intuitive semantics) <strong>and</strong> from a computational<br />
point <strong>of</strong> view (how does one determine whether an OR-join is enabled).<br />
Many systems <strong>and</strong> languages struggle with the semantics <strong>and</strong> implementation <strong>of</strong><br />
the OR-join because its non-local semantics require a synchronisation depending<br />
on an analysis <strong>of</strong> future execution paths. This may require some non-trivial reasoning.<br />
The presence <strong>of</strong> cancellation features <strong>and</strong> other OR-joins in a workflow<br />
further complicates the formal semantics <strong>of</strong> the OR-join. The cancellation feature<br />
is commonly used to model external events that can change the behaviour<br />
<strong>of</strong> a running workflow. It can be used to either disable activities in certain parts<br />
<strong>of</strong> a workflow or to stop currently running activities. Even though it is possible<br />
to cancel activities in workflow systems using some sort <strong>of</strong> abort function, many<br />
workflow systems do not provide direct support for this feature in the workflow<br />
language. Sometimes, cancellation affects only a selected part <strong>of</strong> a workflow <strong>and</strong><br />
other activities can continue after performing a cancellation action. As cancellation<br />
occurs naturally in business scenarios, comprehensive support in a workflow<br />
language is desirable. We take on the challenge <strong>of</strong> providing formal semantics,<br />
verification techniques as well as an implementation for workflows with those<br />
features.<br />
This thesis addresses three interrelated issues for workflows with cancellation<br />
regions <strong>and</strong> OR-joins. The concept <strong>of</strong> the OR-join is examined in detail in the<br />
context <strong>of</strong> the workflow language <strong>YAWL</strong>, a powerful workflow language designed<br />
to support a collection <strong>of</strong> workflow patterns <strong>and</strong> inspired by Petri nets. The ORiii