SYNCHRONIZATION AND CANCELATION IN WORKFLOWS BASED ON RESET NETS
Workflow languages offer constructs for coordinating tasks. Among these constructs are various types of splits and joins. One type of join, which shows up in various incarnations, is the OR-join. Different approaches assign a different ( often only intuitive) semantics to this type of join, though they do share the common theme that branches that cannot complete will not be waited for. Many systems and languages struggle with the semantics and implementation of the OR-join because its non-local semantics require a synchronization depending on the analysis of future execution paths. The presence of cancelation features, potentially unbounded behavior, and other OR-joins in a workflow further complicates the formal semantics of the OR-join. In this paper, the concept of the OR-join is examined in detail in the context of the workflow language YAWL, a powerful workflow language designed to support a collection of workflow patterns and inspired by Petri nets. The paper provides a suitable (non-local) semantics for an OR-join and gives a concrete algorithm with two optimization techniques to support the implementation. This approach exploits a link that is proposed between YAWL and reset nets, a variant of Petri nets with a special type of arc that can remove all tokens from a place when its transition fires. Through the behavior of reset arcs, the behavior of cancelation regions can be captured in a natural manner.
cancelation reset nets or-join yawl workflow patterns synchronizing merge