Successfully reported this slideshow.
Upcoming SlideShare
×

# Siphon

2,501 views

Published on

Published in: Technology
• Full Name
Comment goes here.

Are you sure you want to Yes No
• 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