Page 123 -
P. 123
110 M. Wynn et al.
semantics. The use of the non-local semantics may result in poor performance as is
stated in the manual of Eastman together with the recommendation to avoid this type
of routing. Even the OR-join definition from the Workflow Management Coalition
does not support nonlocal semantics. An OR-join is defined as “a point within the
workflow where two or more alternative activity(s) workflow branches reconverge
to a single common activity as the next step within the workflow. (As no parallel
activity execution has occurred at the join point, no synchronization is required.).”
3.3.2 Factors Affecting the Choice of the OR-Join Semantics
While defining a suitable semantics for an OR-join, we have chosen an approach
such that the resulting semantics are general, formal,and decidable. The criterion
for a “general” semantics is that the OR-join semantics should behave correctly
without imposing any syntactic restrictions on the net and should also behave as
expected even for those nets that are not sound. The semantics should be based on
some kind of formal notion so that it can be precisely defined, in this case, on reset
nets. The semantics should be decidable, that is, for any net it is always possible
to determine whether an OR-join should be enabled or not at a given marking and
one should be able to develop an algorithm for this. Note that the notion of vicious
circle shows that there is no perfect solution. As a consequence of the paradox asso-
ciated with the OR-join concept, there are contradicting requirements. However,
unlike other workflow systems, in YAWL a best effort is made to address the above
requirements.
3.3.2.1 Cancelation Regions
As mentioned previously, the presence of the cancelation feature complicates the
formal semantics of the OR-join. The cancelation feature is commonly used to
model external events that can change the behavior of a running workflow. It can
be used to either disable activities in certain parts of a workflow or to stop cur-
rently running activities. Even though it is possible to cancel activities in workflow
systems using some sort of abort function, many workflow systems do not provide
direct support for this feature in the workflow language. Sometimes, cancelation
affects only a selected part of a workflow and other activities can continue after
performing a cancelation action. In those cases, an OR-join is the only synchro-
nization construct flexible enough to ensure that the process is completed correctly.
As cancelation occurs naturally in business scenarios, comprehensive support and a
corresponding implementation in workflow systems is required. The concept of can-
celation is supported in YAWL through the use of arbitrary cancelation regions that
can be associated with tasks. The OR-join semantics take these cancelation regions
into account when determining whether or not to enable an OR-join.