![Page 1: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/1.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
Petri Net (versus) State Spaces
Karsten Wolf
![Page 2: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/2.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
My experience with state spaces
-INA Integrated Net Analyzer
-LoLA A Low Level Analyzer
-The service-technology.org tool family
Case 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
![Page 3: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/3.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
Verification based on state space
Why state spaces? Why Petri nets?
![Page 4: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/4.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
Why state spaces?
-Consider asynchronously communicatingcomponents rather than global state changes
-Consider causality of events rather than theirordering in time!
![Page 5: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/5.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
Petri net principles
-Consider asynchronously communicatingcomponents rather than global state changes
-Consider causality of events rather than theirordering in time!
Presence or absence of ressourcesrather than reading / writing variablesMonotonicity of firing
Locality
Partially orderedevent structures
Linearity of firing rule
![Page 6: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/6.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
Petri net specific verification
Monotonicity of firing
Locality
Partially orderedevent structures
Linearity of firing rule
Coverability graphsSiphons / traps
invariants
Branching prefixes
Net reduction
![Page 7: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/7.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
State space generation
1. Checking enabledness
2. Firing a transition
3. Backtracking
4. Managing the visited states
![Page 8: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/8.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
State space generation
1. Checking enabledness
2. Firing a transition
3. Backtracking
4. Managing the visited states
After firing, only check:previously enabled transitions which have lost tokenspreviously disabled transitions which have gained tokens
... managed through explicitly stored lists
… typical: reduction from linear to constant time
Monotonicity
Locality
![Page 9: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/9.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
State space generation
1. Checking enabledness
2. Firing a transition
3. Backtracking
4. Managing the visited states
Marking changed via list of pre-, list of post-places- effort does not depend on size of net- Typically: constant effort
Locality
![Page 10: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/10.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
State space generation
1. Checking enabledness
2. Firing a transition
3. Backtracking
4. Managing the visited states
In depth-first search: fire transition backwards
In breadth-first search: implemented as incremental depth-first search
Locality
Linearity
![Page 11: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/11.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
Consequence: „write-only“ storage of markings
current
marking
-fire-fire
backwards
t1t2t3...
Searchstack
Set of visited
markings
m
old/new
![Page 12: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/12.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
4. Managing the visited states
p1 p2 p3 p4 p5 p6 p7 p8
a1 p1 + a2 p2
+ a3 p3 = const.
b2 p2 + b4 p4 + b6 p6
= const.
c3 b3
+ c7 p7 + c8 p8 = const.
only
performed
actions: search, insert
Placeinvariants
Linearity
30-60% less
memorypreprocessing
<1sec
run
time gain: 30-60%
![Page 13: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/13.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
Reduction techniques
1. Linear Algebra
2. The Sweep-Line Method
3. Symmetries
4. Stubborn Sets
![Page 14: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/14.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
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
![Page 15: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/15.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
Transition invariants
for termination sufficient: store one state per cycle of occurrence graph
implementation in LoLA: transition invariants
- set of transitions that occur in every cycle- store states where those transitions enabled
saves space, if applied in connection with stubborn sets, costs time
Linearity
![Page 16: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/16.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
2. The sweep-line method
• Relies on progress measure
LoLA computes measure automatically:Linearity
m1: p1
m2: p2
m3: p3
m4: p4
t1
t2
t3p2=p1+Δt1p3 = p2+Δt2...
transition
invariant
![Page 17: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/17.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
3. The symmetry method
LoLA: A symmetry = a graph automorphism of the PT-Net
All graph automorphisms = a group (up to exponentially many members)- stored in LoLA: polynomial generating set
A marking class: all markings that can be transformed into each other by a symmetry- executed in LoLA: polynomial time approximation
Locality
![Page 18: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/18.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
Example
![Page 19: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/19.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
… as derived from a program
![Page 20: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/20.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
4. Stubborn set method
• Dedicated method for each supported property
traditional LTL-preserving method:- one enabled transition- the basic stubborness principal- only invisible transitions- at least once, on every cycle, all enabled transitions
LoLA:- can avoid some of the criteria, depending on property
Locality
PN Tradition
![Page 21: Petri Net (versus) State Spaces Karsten Wolf · -LoLA A Low Level Analyzer-The service-technology.org tool family Case studies and applications:-Finding hazards in a GALS wrapper-Integration](https://reader034.vdocuments.co/reader034/viewer/2022051904/5ff59b469cc28d1a48784ea1/html5/thumbnails/21.jpg)
UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
Conclusion
That‘s why
Why state spaces? Why Petri nets?
Further reading:• Tools: www.service-technology.org• Group / Papers: www.informatik.uni-rostock.de/tpp/