Page 125 -
P. 125

112                                                     M. Wynn et al.

                                         c1     C          c4           E     c7

                                   A                 c5     D     c6                 F
                                         c2                 B        c3


                           Fig. 3.5 A YAWL net with an OR-join task E preceding another OR-join task F


                           not possible, the OR-join will be enabled. Consider again M D c1 C c3 in Fig. 3.5,
                           where an OR-join analysis for task F would be performed. This time, instead of
                           ignoring task E, it will be treated as an AND-join task. Because of the OR-split
                           behavior of task C, tokens can be present in c4 or c5 or both after firing C.The
                                                    C              D               E
                           occurrence sequence c1 C c3 ! c3 C c4 C c5 ! c3 C c4 C c6 ! c3 C c7 is
                           possible. As a token can be put in c7 while c3 remains marked, F is not enabled at
                           M . This preserves the same informal semantics as an optimistic approach, and both
                           approaches result in delaying the enablement of the OR-join task F.
                              Both optimistic and pessimistic approaches support the informal semantics by
                           delaying enablement when there is the possibility of more tokens arriving at the
                           unmarked input conditions of an OR-join. Hence, they are more closely related to
                           the informal semantics of OR-joins and still allow for sound semantics. This strategy
                           is better than ignoring these OR-joins completely during the analysis.
                              Clearly, any formal semantics impose some restrictions or deviate from the infor-
                           mal semantics to some extent. The motivation behind our semantics and the use of
                           the optimistic approach is to postpone execution of an OR-join for as long as possi-
                           ble. For this reason, the optimistic approach (XOR-join treatment) is chosen during
                           the analysis. The resulting OR-join semantics are well-defined in all circumstances.
                           However, the interpretation of this semantics can sometime lead to a deadlock in the
                           presence of vicious circles, as both OR-joins will wait for each other to fire first.


                           3.4 Operationalizing the OR-Join


                           The proposed OR-join semantics as defined in this chapter has been implemented in
                           the YAWL framework. To ensure an efficient implementation of the algorithm, we
                           propose two optimization techniques to speed up the OR-join analysis, which are
                           described in this section.


                           3.4.1 Algorithm


                           We now describe the implemented algorithm in a bit more detail. Given a YAWL net
                           N with one or more OR-joins, the following steps are taken to determine whether
                           an OR-join oj is enabled at a marking M of N.Let P i be a set of input conditions
   120   121   122   123   124   125   126   127   128   129   130