Page 26 -
P. 26

1  Introduction                                                  11
                           constructs to deal with patterns that Petri nets have difficulty expressing, in partic-
                           ular patterns dealing with cancelation, synchronization of active branches only, and
                           multiple concurrently executing instances of the same task.
                              YAWL was given a formal semantics based on a state transition system and there-
                           fore its nets cannot be simply mapped to Petri nets. Hence, while YAWL is inspired
                           by Petri nets, it cannot be seen as a set of notational abbreviations on top of this
                           formalism. Specific verification approaches needed to be developed to deal with
                           the new constructs offered by YAWL. One formalism that turned out to be partic-
                           ularly useful for reasoning about YAWL nets were reset nets. These are Petri nets
                           extended with the concept of a reset arc. When a transition is executed, all tokens
                           are removed from places that are connected with a reset arc to this transition. Reset
                           arcs allow the concept of cancelation to be directly expressed. In workflows can-
                           celation implies that the execution of a certain task should lead to other nominated
                           tasks being terminated or not being available for further execution. YAWL offers
                           direct support for cancelation, while its predecessor, workflow nets, does not.
                              After YAWL was defined, work started on the implementation of a support
                           environment. This effort intended to demonstrate that it was possible to provide
                           comprehensive support for the (original) workflow control-flow patterns. As such
                           the YAWL environment can be seen as a reference implementation that supports the
                           Workflow Patterns. The term YAWL became synonymous with both the language
                           and the support environment. Over time as the environment evolved, the ambitions
                           increased and YAWL grew into a full-fledged workflow management system, which
                           is used in a wide variety of academic and industrial settings.



                           1.7 A Brief Overview of YAWL


                           To illustrate and further concretize some of the concepts we have mentioned thus
                           far, let us consider a simplified scenario involving a car accident. In this scenario,
                           the first step that needs to be taken is to obtain a quote for the costs involved in
                           dealing with the damage. After this quote has been received, a preliminary insurance
                           claim is lodged, and a choice needs to be made whether the car is going to be fixed
                           or whether buying a new car is more cost-effective. After this latter decision has
                           been made the bill can be settled, and when this has happened and the preliminary
                           insurance claim has been lodged, the final insurance claim can be lodged.
                              In Fig. 1.3, a Petri net is shown that captures the flow of control of this simple
                           example. The rectangles in this net are the transitions, which correspond to tasks
                           that need to be performed, while the places correspond to moments in-between pro-
                           cessing. The place that is input for the transitions Have Car Fixed and Buy New Car
                           captures a choice made by the environment. When a token has been produced by the
                           transition Obtain Quote for this place, both transitions Have Car Fixed and Buy New
                           Car are enabled. Once one of these has been chosen, the token is removed from this
                           place and the other transition is no longer enabled. When a transition has multiple
                           output places, this represents parallelism as all these places receive a token upon
   21   22   23   24   25   26   27   28   29   30   31