Karsten Wolf @ Carl Adam Petri Memorial Symposium
Upcoming SlideShare
Loading in...5
×
 

Karsten Wolf @ Carl Adam Petri Memorial Symposium

on

  • 1,253 views

 

Statistics

Views

Total Views
1,253
Views on SlideShare
561
Embed Views
692

Actions

Likes
0
Downloads
3
Comments
0

7 Embeds 692

http://www.informatik.uni-rostock.de 684
http://www.slideshare.net 2
http://esla.informatik.uni-rostock.de 2
http://webcache.googleusercontent.com 1
https://www.informatik.uni-rostock.de 1
http://ikaria.informatik.uni-rostock.de 1
http://wwwteo.informatik.uni-rostock.de 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Karsten Wolf @ Carl Adam Petri Memorial Symposium Karsten Wolf @ Carl Adam Petri Memorial Symposium Presentation Transcript

  • Petri Net (versus) State Spaces Karsten Wolf 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 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
  • Why state spaces? Why Petri nets? Verification based on state space UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  • -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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Reduction techniques1. Linear Algebra2. The Sweep-Line Method3. Symmetries4. Stubborn Sets 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 UNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  • 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
  • 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
  • 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
  • ExampleUNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  • … as derived from a programUNIVERSITÄT ROSTOCK | FAKULTÄT INFORMATIK UND ELEKTROTECHNIK | INSTITUT FÜR INFORMATIK
  • 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
  • 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