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