Page 120 -
P. 120

3  Advanced Synchronization                                     107
                           not easy to model in Petri nets. For OR-join analysis, cancelation plays an important
                           role and it is not possible to abstract from cancelation regions. Hence, we need a
                           formalism that can support the notion of cancelation regions. Reset nets are Petri
                           nets extended with reset arcs that remove tokens from reset places when a transition
                           fires (see Chap. 2) and reset arcs can capture the behavior of the cancelation regions
                           supported by YAWL. Hence, we define the formal semantics of the OR-join using
                           reset nets.
                              The complexity introduced by a reset arc (when compared with classical Petri
                           nets) is threefold: (1) as the transition removes all tokens and not just one when it
                           fires, place invariants do not hold for such nets, (2) the reset action can be ineffective
                           if a place does not contain any tokens at the exact time when the transition fires
                           and the reset action is carried out, and (3) a reset arc can affect any place in the
                           entire net (i.e., its effect is global), unlike normal arcs of a transition which can
                           only influence their input and output places (i.e., their effect is local). As a result,
                           the notion of reachability is undecidable for reset nets with more than two reset
                           arcs. Hence, to define the formal semantics of an OR-join, we use the notions of
                           backwards firing and coverability in reset nets. Coverability is a weaker notion than
                           reachability; a marking is coverable from another marking if there is a sequence of
                           tasks that can fire from the first marking to arrive at a marking equal to or bigger
                           than the second marking (for a formal definition see Chap.2). Normally, a transition
                           fires at a marking to reach a new marking and we can consider the state as moving
                           forward. Backward firing a transition, on the other hand, allows us to start from
                           a desired marking (e.g., a marking where an OR-join is enabled) and transitions
                           can be fired backwards to see if an initial marking is coverable. A new (backwards
                           coverable) marking is created, which puts one token into all input places of the
                           transition which are not reset places, removes one token from all output places of
                           the transition which are not reset places, and puts one token in all reset places of the
                           transition. Backwards firing a transition in a reset net is only possible at a marking
                           if there are no tokens in the reset places of that transition. The backwards firing
                           rule returns a coverable marking and not necessarily a reachable marking as it is
                           impossible to know how many tokens originally existed in the reset places.
                              Using this notion of coverability in reset nets, the semantics of an OR-join can
                           be defined as follows. An OR-join in a YAWL net is enabled at a given marking M
                           (where one or more input conditions of the OR-join have tokens) if and only if there
                           is no marking in the future states of the corresponding reset net that covers M.
                              To perform an OR-join evaluation using reset net semantics, it is necessary to
                           first transform a YAWL net into a corresponding reset net for the OR-join of interest.
                           Formal mappings have been proposed to carry out this transformation. Figure 3.4
                           summarizes how the various YAWL elements are mapped to reset net places and
                           transitions. In general, a YAWL task is mapped to two transitions (one that cor-
                           responds to the start of the task (ts) and one that corresponds to the end of the
                           task (te) as well as a place in between (pt)). Various splits and joins in YAWL
                           are also mapped to corresponding places and transitions in reset nets. Conditions
                           and tasks within a cancelation region of a task are mapped to reset places for the
                           corresponding transitions, represented by double-headed arcs in the diagram.
   115   116   117   118   119   120   121   122   123   124   125