Page 118 -
P. 118

3  Advanced Synchronization                                     105











                           Fig. 3.1 A structured YAWL net with an OR-split task A and an OR-join task E




                                              c1       B      c4

                                    A         c2       C      c5        E          F


                                              c3       D      c6


                           Fig. 3.2 A YAWL net modified from Fig. 3.1


                           marking that still marks all currently marked input conditions (possibly with fewer
                           tokens) and at least one that is currently unmarked.
                              Figure 3.1 is a net where A is an OR-split task and E is an OR-join task. The
                           initial marking for the net has exactly one token in the start condition. At the initial
                           marking, task A is enabled and can be fired. After A has executed, tokens are put into
                           conditions c1, c2,and c3 according to the OR-split behavior. Note that the OR-split
                           allows one or more paths to be selected after executing the task (e.g., c1 C c2, c3,
                           and c1Cc2Cc3). Consider a marking M D c1Cc5, which results from the scenario
                           where two outgoing paths leading to B and to C were selected after completing task
                           A, and where task C has been executed. At M, there is a token in the input condition
                           c5 of the OR-join task E. To determine whether task E should be enabled at M,we
                           need to find out whether tokens could be put into c4 or c6 in the reachable markings
                           of M . It is possible to reach a new marking M D c4 C c5 from M by firing task
                                                                 0
                           B. Therefore, E should not be enabled at M. Now consider whether task E would
                           be enabled at this new marking M D c4 C c5.At M , c4 and c5 have one token
                                                                       0
                                                       0
                           each and there are no other tokens in the net. Hence, it is not possible for c6 to be
                           marked in the reachable markings of M .Task E is enabled at M .
                                                           0
                                                                               0
                              From the above example, one may conclude that OR-join evaluation depends
                           only on the number of active paths out of an OR-split. If this is true, it is possible to
                           know in advance the number of active paths to wait for before proceeding. However,
                           it is only the case because we are dealing with a structured net whereby all paths
                           from task A lead to task E. Figure 3.2 represents a slight modification to the YAWL
                           net of Fig. 3.1 and shows that this conclusion is not justified. In Fig. 3.2, c4 is an
                           input condition of task F and c5 and c6 are input conditions of task E. Consider a
                           marking M D c1 C c5. In this case, there is no reachable marking from M that
   113   114   115   116   117   118   119   120   121   122   123