1 / 39

Towards a n Efficient Algorithm for Unfolding Petri Nets

Towards a n Efficient Algorithm for Unfolding Petri Nets . Victor Khomenko and Maciej Koutny Department of Computing Science University of Newcastle upon Tyne. Motivation. Partial order semantics of Petri nets Alleviate the state space explosion problem Efficient model checking algorithms.

Télécharger la présentation

Towards a n Efficient Algorithm for Unfolding Petri Nets

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Towards an Efficient Algorithm for Unfolding Petri Nets Victor Khomenko andMaciejKoutny Department of Computing Science University of Newcastleupon Tyne

  2. Motivation • Partial order semantics of Petri nets • Alleviate the state space explosion problem • Efficient model checking algorithms

  3. The ERV unfolding algorithm Unfplaces from M0 pe transitions enabled by M0 cut-off  while pe extract eminpe if e is a cut-off event then cut-off  cut-off  {e} else add e and its postset into Unf UpdatePotExt(pe,Unf,e) add cut-off events and their postsets into Unf

  4. P1 P3 P5 · · · T1 T2 T3 T4 P2 P4 P6

  5. P1 P3 P5 · · · T1 T2 T3 T4 P2 P4 P6 T4 P5 P3 P1

  6. P1 P3 P5 · · · T1 T2 T3 T4 P2 P4 P6 T4 P6 P5 T3 P3 P1

  7. P1 P3 P5 · · · T1 T2 T3 T4 P2 P4 P6 T4 T4 P6 P5 P5 T3 P4 P3 T2 P1

  8. P1 P3 P5 · · · T1 T2 T3 T4 P2 P4 P6 T4 T4 P6 P5 P5 T3 P4 P3 P3 T2 T1 P1 P2

  9. P1 P3 P5 · · · T1 T2 T3 T4 P2 P4 P6 T4 T4 P6 P6 P5 P5 T3 T3 P4 P3 P3 T2 T1 P1 P2

  10. P1 P3 P5 · · · T1 T2 T3 T4 P2 P4 P6 T4 T4 P6 P6 P5 P5 T3 T3 P4 P3 P3 T2 T1 P1 P2 P1

  11. P1 P3 P5 · · · T1 T2 T3 T4 P2 P4 P6 T4 T4 T4 P6 P6 P5 P5 P5 T3 T3 P4 P3 P3 P4 T2 T1 P1 P2 P1

  12. P1 P3 P5 · · · T1 T2 T3 T4 P2 P4 P6 T4 T4 T4 P6 P6 P5 P5 P5 P6 T3 T3 P4 P3 P3 P4 T2 T1 P1 P2 P1

  13. The ERV unfolding algorithm Unfplaces from M0 pe transitions enabled by M0 cut-off  while pe extract eminpe if e is a cut-off event then cut-off  cut-off  {e} else add e and its postset into Unf UpdatePotExt(pe,Unf,e) add cut-off events and their postsets into Unf

  14. P7 T6 P6 T5 P5 T4 P4 T3 P3 T2 P2 T1 P1

  15. P7 T6 P6 T5 P5 T4 P4 T3 P3 T2 P2 {P1} T1 P1

  16. P7 T6 P6 T5 P5 T4 P4 T3 P3 T2 P2 {P1} T1 P1

  17. P7 T6 P6 T5 P5 T4 P4  T3 P3 T2 P2 {P1} T1 P1

  18. P7 T6 P6 T5 P5 {P5} T4 P4  T3 P3 T2 P2 {P1} T1 P1

  19. P7 T6 P6 T5 {P5,P6} P5 {P5} T4 P4  T3 P3 T2 P2 {P1} T1 P1

  20. P7 T6 {P5,P7} P6 T5 {P5,P6} P5 {P5} T4 P4  T3 P3 T2 P2 {P1} T1 P1

  21. T1:{P1} T3: T4:{P5} T5:{P5,P6} T6:{P5,P7} Preset Trees T5:{P6} T6:{P7} T1:{P1} T4:{P5} T3: Weight = || + |{P1}| + |{P5}| + |{P6}| + |{P7}| = 4

  22. T1:{P1} T3: T4:{P5} T5:{P5,P6} T6:{P5,P7} Preset Trees T1:{P1} T4:{P5} T5:{P5,P6} T6:{P5,P7} T3: Weight = || + |{P1}| + |{P5}| + |{P5,P6}| + |{P5,P7}| = 6

  23. Proposition (P.Rossmanith).Building a minimal-weightpreset tree is an NP-complete problem in the sizeof a Petri net, even if all transition presets have the size 3.

  24. Proposition (P.Rossmanith).Building a minimal-weightpreset tree is an NP-complete problem in the sizeof a Petri net, even if all transition presets have the size 3.

  25. Proposition (P.Rossmanith).Building a minimal-weightpreset tree is an NP-complete problem in the sizeof a Petri net, even if all transition presets have the size 3. P2 P3 P1 P4

  26. Proposition (P.Rossmanith).Building a minimal-weightpreset tree is an NP-complete problem in the sizeof a Petri net, even if all transition presets have the size 3. T2 P2 P3 T5 T1 T3 P1 P4 T4

  27. Proposition (P.Rossmanith).Building a minimal-weightpreset tree is an NP-complete problem in the sizeof a Petri net, even if all transition presets have the size 3. T2 P2 P3 T5 T1 T3 P1 P4 T4

  28. T1:{P1,P2} T2:{P2,P3} T3:{P3,P4} T4:{P1,P4} T5:{P2,P4} T1:{P1} T2:{P3} T5:{P4} T4:{P1} T3:{P3} {P2} {P4}

  29. {P1,P2,P3} {P1,P2,P4} {P1,P2,P5} {P1,P3,P4} {P1,P4} 

  30. {P1,P2,P3} {P1,P2,P4} {P1,P2,P5} {P1,P3,P4} {P1,P4}  {P1,P2}

  31. {P3} {P4} {P5} {P1,P3,P4} {P1,P4}  {P1,P2}

  32. {P3} {P4} {P5} {P1,P3,P4} {P1,P4}  {P1,P2} {P1,P4}

  33. {P3} {P4} {P5} {P3}  {P1,P2} {P1,P4}

  34. {P3} {P4} {P5} {P3}  {P1,P2} {P1,P4} {P1}

  35. {P3} {P4} {P5} {P3}  {P2} {P4} {P1}

  36. {P3} {P4} {P5} {P3}  {P2} {P4} {P1} 

  37. {P3} {P4} {P5} {P3} {P2} {P4} {P1} 

  38. Building Preset Trees function BuildTree({A1,...,Ak}) TS {Tree(A1,),…,Tree(Ak,)} while|TS|>1 choose Tree(A',·)TSand Tree(A'',·)TS such thatA‘A'' and |A'A''| is maximal I A'A'‘ T {Tree(B\I,ts) | Tree(B,ts) TS and IB} T= {ts | Tree(I,ts) TS and ts } TS  TS\{Tree(B, ·) TS | IB} TS  TS {Tree(I, T T=)} /* |TS|=1 */ return the remaining tree Tr  TS

  39. Experimental Results • Small presets (2-3 places): • improvements for some examples • Medium-size presets (5-6 places): • improvements for all examples • Large presets (7 and more places): • significant improvements for all examples

More Related