Page 127 -
P. 127

114                                                     M. Wynn et al.
                           some detail, we use one last example taken from the Order Fulfillment example
                           described in Appendix A. Figure 3.6 represents the Carrier Appointment process
                           with an OR-join task, Create Bill of Lading together with its input conditions c1, c3,
                           and c4 (the task and its input conditions have been shaded grey in the figure). Please
                           note that there is also another OR-join task in the figure, Complete PickUp/Delivery,
                           but as it is part of a structured OR-split and OR-join combination, we focus our
                           attention on a more interesting scenario involving the Create Bill of Lading task.
                              We know that to invoke the OR-join enabling algorithm, at least one of the input
                           conditions for Create Bill of Lading task must have one token. Now, we will observe
                           the results of the algorithm for different markings of the YAWL net.
                             First, let us assume that we are at a state in the workflow, where the quote for
                              transportation has been prepared and one token each has been placed in condi-
                              tions c1 and c2. At marking c1Cc2, the algorithm evaluates to FALSE, indicating
                              the OR-join task should not be enabled. This is because it is possible to reach a
                              marking c1 C c4, which marks two input conditions of the OR-join by executing
                              the Arrange Pickup Appointment task
                             Similarly, at marking c2Cc3, it is possible to reach marking c3Cc4 in the future
                              and the algorithm returns FALSE
                             At marking c1 C c4, the algorithm detects that the only reachable marking from
                              c1 C c4 is c3 C c4. Therefore, it is not possible to cover the larger marking
                              c1 C c3 C c4 where all initially marked input conditions (c1; c4) remain marked
                              and a previously unmarked input condition (c3) becomes marked. Hence, the
                              algorithm returns TRUE
                             Similarly, at marking c3 C c4, the algorithm detects that it is not possible to
                              have any more tokens arriving at c1, so it returns TRUE and the OR-join task is
                              enabled at this marking

                           Let us now more closely examine the effect of the two optimization techniques on
                           the example in Fig. 3.6. Figure 3.7 shows a rough indication of what the application
                           of structural restriction and active projection would result in for the Carrier Appoint-
                           ment process when evaluating the Create Bill of Lading task. Please note that the
                           actual restrictions are applied to the underlying reset net and not to the YAWL net.
                           For this example, the structural restriction technique removes approximately half of
                           the tasks under consideration (the bottom half and the left side of Fig. 3.6) as these
                           tasks are not on the path to the OR-join task in question. This is fairly significant
                           as the backwards coverability algorithm needs to consider firing all the transitions
                           in the reset net if there are no restrictions. The active projection technique is then
                           applied depending on the current marking. The figure shows an active projection
                           region for the marking c1 C c2. Because of the nature of the AND-split before
                           conditions c1 and c2, c1 C c2 is the first reachable marking where the OR-join
                           evaluation will be performed. So, all active projection regions for other markings
                           will even be smaller than this one. This example clearly demonstrates the efficiency
                           gained from applying these two restriction techniques. Of course, for other nets
                           where most tasks are on the path to the OR-join, the structural restriction technique
                           might not be as effective. Similarly, for nets where there are many reachable states
   122   123   124   125   126   127   128   129   130   131   132