Chapter 2. Formal foundations T start = {t S |t ∈ T ∧ join(t) = AND} ∪{t p S |t ∈ T ∧ join(t) = XOR ∧ p ∈ •t}, T end ={t E |t ∈ T ∧ split(t) = AND} ∪{t p E |t ∈ T ∧ split(t) = XOR ∧ p ∈ t•} ∪{t x E |t ∈ T ∧ split(t) = OR ∧ x ⊆ t • ∧ x ≠ ∅}, F ′ ={(p, t S )|t ∈ T ∧ join(t) = AND ∧ p ∈ •t} ∪{(t S , p t )|t ∈ T ∧ join(t) = AND} ∪{(p t , t E )|t ∈ T ∧ split(t) = AND} ∪{(t E , p)|t ∈ T ∧ split(t) = AND ∧ p ∈ t•} ∪{(p, t p S )|t ∈ T ∧ join(t) = XOR ∧ p ∈ •t} ∪{(t p S , p t)|t ∈ T ∧ join(t) = XOR ∧ p ∈ •t} ∪{(p t , t p E )|t ∈ T ∧ split(t) = XOR ∧ p ∈ t•} ∪{(t p E , p)|t ∈ T ∧ split(t) = XOR ∧ p ∈ t•} ∪{(p t , t x E )|t ∈ T ∧ split(t) = OR ∧ x ⊆ t • ∧ x ≠ ∅} ∪{(t x E , p)|t ∈ T ∧ split(t) = OR ∧ x ⊆ t • ∧ x ≠ ∅ ∧ p ∈ x}, R ={(t E , {p t ′|t ′ ∈ rem(t) ∩ T } ∪ (rem(t) ∩ C))|t ∈ T ∧ split(t) = AND} ∪{(t p E , {p t ′|t′ ∈ rem(t) ∩ T } ∪ (rem(t) ∩ C))|t ∈ T ∧ split(t) = XOR ∧ p ∈ t•} ∪{(t x E , {p t ′|t′ ∈ rem(t) ∩ T } ∪ (rem(t) ∩ C))|t ∈ T ∧ split(t) = OR ∧ x ⊆ t • ∧ x ≠ ∅} ∪{(t E , ∅)|t ∈ T \ dom rem ∧ split(t) = AND} ∪{(t p E , ∅)|t ∈ T \ dom rem ∧ split(t) = XOR ∧ p ∈ t•} ∪{(t x E , ∅)|t ∈ T \ dom rem ∧ split(t) = OR ∧ x ⊆ t • ∧ x ≠ ∅} ∪{(t, ∅)|t ∈ T start }. The transformation returns an RWF-net where input <strong>and</strong> output conditions i, o ∈ C map to unique begin <strong>and</strong> end places i, o ∈ P in the corresponding RWFnet <strong>and</strong> where every node in the graph (P ∪ T ′ , F ′ ) is on a directed path from i to o. Lemma 2.35 Let N = (C, i, o, T, F, split, join, rem, n<strong>of</strong>i) be an e<strong>YAWL</strong>-net without OR-joins. N ′ = transE2WF(N) = (P, T ′ , F ′ , R) is an RWF-net. Remark: Please note that there is a slight difference between the current <strong>YAWL</strong> semantics <strong>and</strong> the reset net semantics as presented in this thesis. According to the <strong>YAWL</strong> semantics [AH05, page 264], the definition <strong>of</strong> the binding enter function has a condition, which states that a task is instantiated only once for a given identifier. This stops additional instances <strong>of</strong> a task from being created while another instance is active. However, in the reset net mappings, this behaviour is allowed. This difference in the timing <strong>of</strong> instantiation results in different behaviours for non-safe nets (with cancellation regions), where it is possible for a task to be instantiated more than once at the same time. This needs to be solved using a self-loop place that is marked by the first transition <strong>and</strong> cleaned by the last one. This will ensure that the two semantics behave in an identical manner. However, for simplicity we doe not add this place <strong>and</strong> it should also be noted that there is no real argument for enforcing safe tasks. PhD Thesis – c○ 2006 M.T.K Wynn – Page 30
Chapter 2. Formal foundations Summary This chapter serves as a formal foundation <strong>and</strong> provides the various definitions <strong>and</strong> properties which will be used throughout the thesis. We have introduced <strong>and</strong> defined concepts on Petri nets, Reset nets, WF-nets, RWF-nets. The key contributions <strong>of</strong> this chapter include the definitions <strong>of</strong> four structural properties for <strong>YAWL</strong> nets <strong>and</strong> the transformation function from <strong>YAWL</strong> nets without ORjoins to RWF-nets. The next chapter will focus on the OR-join. The reason we did not deal with the OR-join in this chapter is that the non-local semantics <strong>of</strong> the OR-join inhibits a simple translation. PhD Thesis – c○ 2006 M.T.K Wynn – Page 31