Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Siphon

2,501 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Siphon

  1. 1. Olivia Oanea,  Harro Wimmel,  Karsten Wolf New Algorithms for Deciding the Siphon/Trap Property 
  2. 2. Situation -Siphon: •D ⊆ D• once empty, always empty -Trap: Q• ⊆ •Q once marked, always marked -The siphon/trap property: Every Siphon includes a marked trap -Necessary and sufficient for liveness in free choice nets -Sufficient for deadlock freedom in ordinary nets -There can be exponentially many (even minimal) siphons Brute force algorithms don‘t outperform state space methods We propose - a reduction to SAT (2 slides) - a divide-and-conquer scheme (remaining slides) Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  3. 3. Reduction to SAT q1 p1 Siphon: (q1⋁q2⋁q3)⇒(p1⋁p2) Well known: q2 p2 Trap: (p1⋁p2)⇒(q1⋁q2⋁q3) q3 SAT: Exists satisfying assignment? Siphon/trap: Exists siphon where all included traps are unmarked? Siphon/trap: Exists siphon where the maximal included trap is unmarked? Maximal trap: start with S, iteratively remove places p where: p Copy place variables p(0) .. p(n) ⋀ t∈T(t• (0)⇒•t(0))⋀ ⋁ p∈P p(0) ⋀⋀ ⋀i=1..n p∈P(p (i)⇔(p(i-1)⋀ ⋀ t∈p•t• ⋀ (i-1)))⋀ p∈P,m0(p)>0⌝p (n) Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  4. 4. Results Net |P| |T| |F| SAT INA Ph10 50 40 120 0.05 3 Ph20 100 80 240 0.24 >7200 Ph200 1000 800 2400 119 >7200 Data10 50 40 300 0.12 8 Data15 75 60 600 0.36 28 Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  5. 5. Divide and Conquer -Decompose Petri net into open nets -Compute siphons and traps of atomic components -Condense information into interface -Unify components and update interface information -Interface place: ≤1 producing, ≤1 consuming component -Composition of components yields component -[Zaitsev] There exists unique decomposition into atomic components - [We] run-time O(n2log*n) Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  6. 6. Examples Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  7. 7. Improvement -Preserves siphon/trap property -Permits arbitrarily fine decomposition Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  8. 8. Siphons/Traps and components -Siphon/trap of composition decomposes into siphons/traps of components -Siphons/traps of components with equal interface compose to siphon/trap in composition Siphon Siphon Siphon Siphon Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  9. 9. Example Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  10. 10. Elementary Siphons/Traps -Siphon is elementary if it is a minimal one containing p, for some interface place p -Trap is elementary if it is a minimal one containing p, for some interface place p, or some marked place p Lemma: For evaluating the siphon/trap property, sufficient to consider - siphons that are local to one of the components - unions of elementary siphons and unions of elementary traps Idea: Store - interfaces of elementary traps and siphons - For each elementary trap Q: all minimal unions of elementary siphons that wrap Q 1: (a-min) a (a-min) ac ⊆ 3 a c 2: (b-min) b (a-min) ad ⊆ 5 3: (c-min) ac (b-min) bc ⊆ 4 4: (c-min) bc (b-min) bd ⊆ 6 b d 5: (d-min) ad (c-min) c ⊆ 3,4 6: (d-min) bd (d-min) d ⊆ 5,6 Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  11. 11. Composition 1: closed siphons c a b d 1: (a-min) a (a-min) ac* ⊆ 3 1‘: (c-min) c (c-min) ca* ⊆ 3‘ 2: (b-min) b (a-min) ad ⊆ 5 2‘: (d-min) d (c-min) cb* ⊆ 5‘ 3: (c-min) ac (b-min) bc* ⊆ 4 3‘: (a-min) ca (d-min) da ⊆ 4‘ 4: (c-min) bc (b-min) bd ⊆ 6 4‘: (a-min) da (d-min) db ⊆ 6‘ 5: (d-min) ad (c-min) c* ⊆ 3,4 5‘: (b-min) cb (a-min) a ⊆ 3‘,4‘ 6: (d-min) bd (d-min) d ⊆ 5,6 6‘: (b-min) db (b-min) b ⊆ 5‘,6‘ Check 3⊕3‘: contains ac*⊕ca* … ok … Check 6⊕6‘: contains only unmarked traps …. Not ok Formally: SAT formula Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  12. 12. Composition 2: open siphons c a e b d f 1: (a-min) a (a-min) ac ⊆ 3 1‘: (c-min) c (c-min) ce ⊆ 3‘ 2: (b-min) b (a-min) ad ⊆ 5 2‘: (d-min) d (c-min) cf ⊆ 5‘ 3: (c-min) ac (b-min) bc ⊆ 4 3‘: (e-min) ce (d-min) de ⊆ 4‘ 4: (c-min) bc (b-min) bd ⊆ 6 4‘: (e-min) de (d-min) df ⊆ 6‘ 5: (d-min) ad (c-min) c ⊆ 3,4 5‘: (f-min) cf (e-min) e ⊆ 3‘,4‘ 6: (d-min) bd (d-min) d ⊆ 5,6 6‘: (f-min) df (f-min) f ⊆ 5‘,6‘ 1‘‘ = 1: (a-min) a (a-min) ae ⊆ 3‘‘,4‘‘5‘‘ 2‘‘ = 1: (b-min) b (a-min) af ⊆ 5‘‘,3‘‘6‘‘ 3‘‘= 3‘⊕3 = 4‘⊕5: (e-min) ae (b-min) be ⊆ 4‘‘,3‘‘6‘‘ 4‘‘= 3‘⊕4 = 4‘⊕6: (e-min) be (b-min) bf ⊆ 6. 4‘‘5‘‘ 5‘‘= 5‘⊕3 = 6‘⊕5: (f-min) af (e-min) e ⊆ 3‘‘,4‘‘ 6‘‘= 5‘⊕4 = 6‘⊕6: (f-min) bf (f-min) f ⊆ 5‘‘,6‘‘ Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  13. 13. Results Approach exponential, but mostly in the size of the interface Example: -Exponentially many minimal siphons -Linear time in our approach Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property
  14. 14. Conclusion Algorithm 1: Reduction to SAT -Boolean formula polynomial in the size of the net -Inherits efficiency from existing SAT technology Algorithm 2: Divide & Conquer -Efficient decomposition into arbitrarily small components -Siphons and traps are preserved in open net decomposition -Abstract shared siphon/trap information to interface -Works well if -net can be split according to small interfaces -Net has many identical components Karsten Wolf: New Algorithms for Deciding  the Siphon/Trap Property

×