Karsten Wolf @ Carl Adam Petri Memorial Symposium

1,555 views
1,539 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,555
On SlideShare
0
From Embeds
0
Number of Embeds
836
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Karsten Wolf @ Carl Adam Petri Memorial Symposium

  1. 1. Petri Net (versus) State Spaces Karsten Wolf UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  2. 2. My experience with state spaces-INA Integrated Net Analyzer-LoLA A Low Level Analyzer-The service-technology.org tool familyCase studies and applications:-Finding hazards in a GALS wrapper-Integration into Pathway Logic Assistent-Soundness check for 700+ industrial business process models in (avg) 2 msec-Verification of web service choreographies-Verification of parameterized Boolean programs-Solving AI planning challenges-Integration into BP related tools like ProM, Oryx-Integration into model checking platforms (MC Kit, PEP, CPN-AMI,…)-….To be continued UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  3. 3. Why state spaces? Why Petri nets? Verification based on state space UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  4. 4. -Consider asynchronously communicating components rather than global state changesWhy state spaces? -Consider causality of events rather than their ordering in time! UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  5. 5. Petri net principles Presence or absence of ressourcesMonotonicity of firing rather than reading / writing variablesLinearity of firing rule -Consider asynchronously communicating components rather than global state changesLocality -Consider causality of events rather than theirPartially ordered ordering in time!event structures UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  6. 6. Petri net specific verificationMonotonicity of firing Coverability graphs Siphons / trapsLinearity of firing rule invariantsLocality Net reductionPartially orderedevent structures Branching prefixes UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  7. 7. State space generation1. Checking enabledness2. Firing a transition3. Backtracking4. Managing the visited states UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  8. 8. State space generation1. Checking enabledness it y oto n ic Mon After firing, only check: previously enabled transitions which have lost tokens previously disabled transitions which have gained tokens ... managed through explicitly stored lists … typical: reduction from linear to constant time li ty L oca2. Firing a transition3. Backtracking4. Managing the visited states UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  9. 9. State space generation1. Checking enabledness2. Firing a transition Marking changed via list of pre-, list of post-places - effort does not depend on size of net - Typically: constant effort li ty L oca3. Backtracking4. Managing the visited states UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  10. 10. State space generation1. Checking enabledness2. Firing a transition3. Backtracking ri ty Li nea In depth-first search: fire transition backwards In breadth-first search: implemented as incremental depth-first search li ty L oca4. Managing the visited states UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  11. 11. Consequence: „write-only“ storage of markings current marking m -fire old/new -fire backwards Set of visited markingsSearchstack t1 t2 t3 ... UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  12. 12. 4. Managing the visited states only performed actions: search, insert p1 p2 p3 p4 p5 p6 p7 p8 in e arity L a1 p1 + a2 p2 + a3 p3 = const. Place invariants b2 p2 + b4 p4 + b6 p6 = const. c3 b3 + c7 p7 + c8 p8 = const.30-60% less memorypreprocessing <1secrun time gain: 30-60% UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  13. 13. Reduction techniques1. Linear Algebra2. The Sweep-Line Method3. Symmetries4. Stubborn Sets UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  14. 14. 1. Linear algebra• The invariant calculus – originally invented for replacing state spaces – in LoLA: used for optimizing state spaces Already seen: place invariants Transition invariant: firing vector of a potential cycle UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  15. 15. Transition invariants ty L in earifor termination sufficient: store one state per cycle of occurrence graphimplementation in LoLA:transition invariants - set of transitions that occur in every cycle - store states where those transitions enabledsaves space, if applied in connection with stubborn sets, costs time UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  16. 16. 2. The sweep-line method• Relies on progress measure ty L in eari LoLA computes measure automatically: m4: p4 t3 transition invariant p2=p1+Δt1 m3: p3 p3 = p2+Δt2 t2 ... m2: p2 t1 m1: p1 UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  17. 17. 3. The symmetry method li ty L ocaLoLA: A symmetry = a graph automorphism of the PT-NetAll graph automorphisms = a group (up to exponentially many members) - stored in LoLA: polynomial generating setA marking class: all markings that can be transformed into each other by a symmetry - executed in LoLA: polynomial time approximation UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  18. 18. ExampleUNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  19. 19. … as derived from a programUNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  20. 20. 4. Stubborn set method• Dedicated method for each supported property li tytraditional LTL-preserving method: L o ca - one enabled transition - the basic stubborness principal - only invisible transitions - at least once, on every cycle, all enabled transitions n Tra d i t ioLoLA: PN - can avoid some of the criteria, depending on property UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  21. 21. ConclusionWhy state spaces? Why Petri nets? That‘s why Further reading: • Tools: www.service-technology.org • Group / Papers: www.informatik.uni-rostock.de/tpp/ UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK

×