Verification with LoLA: 7 Implementation

508 views
463 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
508
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Verification with LoLA: 7 Implementation

    1. 1. 7. Implementation
    2. 2. Plan• Firing a transition• Evaluating a state predicate• Managing the state space• Organizing search• Detecting strongly connected components
    3. 3. Firing transitionsMarking changed via list of pre-, list of post-places  effort does not depend on size ofnetAfter firing, only some transitions are checkedfor enabledness previously enabled transitions that lost tokens previously disabled transitions that gained tokens ... managed through explicitly stored lists
 
 
 
 
 
 
 

    4. 4. Checking state predicates• predicate = boolean combination of • p {><=≤≥≠} k• stored in negation-free normal form φ φ φ φ φ 
 

    5. 5. Managing the state space1st state = bit vector 




















 






 



 




 























 


other states = bit vector +decision record 
 

    6. 6. Managing the state space find/insert a marking: one integrated process 




















 






 



 




 























 


 dive down into decision tree on mismatch: at decision point: switch to next vector at end: found, no insert
 
 between decision points: insert at point of mismatch decision records form tree
    7. 7. Organizing search General remarksSearch consists of - fire transitions ✔ - find/insert marking ✔ - backtracking: fire transition backwards  only „constant“ time search stack consists of reference to transition + list of enabled transitions  state space is „write-only“ memory
    8. 8. Organizing searchb) Depth-first search: ability to detect SCCc) Breadth-first search:Simulated by bounded depth-first search with incrementally increased bound Update of current marking, list of enabled transitions, etc. through sequence of transition occurrences
    9. 9. Detecting strongly connected components • Traditional approach: Tarjan‘s algorithm 4 
 
4 6 215 
 
 
 
 
 
 
 44 






 
 
 
 
 33 11 






 
 
 
 
 
 
 
 00 
 
 
 
 
 
 
 
 
 
 
 

    10. 10. Detecting strongly connected components • LoLA approach: simplified lowlink 4 
 
4 6 215 
 
 
 
 
 
 
 41 






 
 
 
 
 31 11 






 
 
 
 
 
 
 
 00 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    11. 11. Reduction techniques
    12. 12. Stubborn Sets • Crucial: Core principle • Simple method: – If t enabled, add conflicting transitions – If t disabled, add pre-transitions of some unmarked pre-place place pre-transitions must be includedtransition conflicting updated at enabledness check
    13. 13. The sweep-line method• constant change  successors lie in a small window of progress values 
 
 
 

    14. 14. Calculation of Symmetries 7 5 0 2 A1 ∪.... ∪ An = VA1 B1 9 4 B1 ∪....∪ Bn = VA2 1 4 3 2 6 B2 σ satisfies C iff 6 9 8 σ(Ai) = Bi (for all i) 07 3 7 B3 13A3 0 29 5 35 48 ..... 50 66An Bn 8 1 74 81 92 C
    15. 15. Abstract Permutation – Examples
    16. 16. Abstract Permutation – ExamplesPP all permutations thatTT respect node type
    17. 17. Abstract Permutation – ExamplesPP all permutations thatTT respect node type{p1}  {p1} ...... Elements of some orbit{pi-1}  {pi-1} wrt. Ui in Ui-1{pi}  {pk}others1  others2
    18. 18. Abstract Permutation – Examples PP all permutations that TT respect node type {p1}  {p1} ...... Elements of some orbit {pi-1}  {pi-1} wrt. Ui in Ui-1 {pi}  {pk} others1  others2New problem: given.: abstract permutation Ccompute an automorphism that satisfies C... equivalent to graph isomorphism
    19. 19. REFINE Choose A-B, A’-B’ and arc multiplicity c # c-neighbors in A’ #c-neighbors in B’ 3 2 1 0 0 1 2 3A B 8 9 8 6 6 1 0 5 4 2 1 2 4 3 7 0 8 7 2 5 4 B’ A’ 1 0 3
    20. 20. REFINE Choose A-B, A’-B’ and arc multiplicity c # c-neighbors in A’ #c-neighbors in B’ 3 2 1 0 0 1 2 3A B 8 9 8 6 6 1 0 5 4 2 1 2 4 3 7 0 8 7 2 5 4 B’ A’ 1 0 3 Every automorphism that satisfies A-B, satisfies all resulting constraints
    21. 21. DEFINEChoose A-B,p ∈A 2 5 1 2 3 8 4 5
    22. 22. DEFINEChoose A-B,p ∈A 2 5 1 2 3 8 4 5 2 5 1 2 2 5 1 2 3 8 4 5 3 8 4 5 2 5 1 2 2 5 1 2 3 8 4 5 3 8 4 5
    23. 23. DEFINEChoose A-B,p ∈A 2 5 1 2 3 8 4 5 2 5 1 2 2 5 1 2 3 8 4 5 3 8 4 5 2 5 1 2 2 5 1 2 3 8 4 5 3 8 4 5Every automorphism tat satisfies A-B,satisfies one of the new constraints
    24. 24. Computation tree 4 3 2poly 1 8 1 6 7 8 5 a b f a e c R* D R* R* R* D D R* R* R* R* R* 2 3 2 3 3 8 3 8 c c c c exp = #Ai ! #Bi is rare. That is, often polynomial run time
    25. 25. Combination of techniques 
 
 
 
 
 







 
 
 
 
 
 















 
 
 
 















 
 
 















 







 















 
 
 
 
 















 
 
 















 
 
























 
 
























 
 

 















 
























 




 







    26. 26. More information• LoLA: ICATPN 2000, Petri Nets 2007 – www.informatik.uni-rostock.de/tpp/• Stubborn sets: ICATPN 1999, Fundamenta Informaticae 2000, FMSD 2006• Symmetries: Acta Informatica 2000, TACAS 2000• Linear Algebra: TACAS 2003• Sweep-Line: TACAS 2004, STTT• Coverability graphs: FMSD 1999• Services: BPM 2005• GALS: ASYNC Krstic et al, 2005• Bio-chemistry: Talcott & Dill, 2005• Workflow: BPM 2009

    ×