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.
   118   119   120   121   122   123   124   125   126   127   128