1 / 66

mCRL2 and Visualization of State Spaces

mCRL2 and Visualization of State Spaces. Bas Ploeger s.c.w.ploeger@tue.nl. mCRL2 and Visualization of State Spaces. Bas Ploeger s.c.w.ploeger@tue.nl. Behavioral models of software. Manual analysis techniques. Tool based analysis techniques. mCRL2.

varden
Download Presentation

mCRL2 and Visualization of State Spaces

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. mCRL2 and Visualization ofState Spaces Bas Ploeger s.c.w.ploeger@tue.nl UNSW / NICTA, Sydney

  2. mCRL2 and Visualization ofState Spaces Bas Ploeger s.c.w.ploeger@tue.nl UNSW / NICTA, Sydney

  3. Behavioral models of software Manual analysis techniques Tool based analysis techniques UNSW / NICTA, Sydney

  4. mCRL2 • Based on mCRL: has been used in many case studies for verification of protocols and distributed systems • Language: process algebra (ACP) extended with data • Tool set: supports analysis of real-life systems and protocols UNSW / NICTA, Sydney

  5. mCRL2: Process algebra • Processes • Actions: a, b, c,... • Operators: +, ·, d, ||, |, GC, V,… act a, b, c, error ; procP = a·(b + c)·P + error · d ; Q = a·Q ; init P || Q ; UNSW / NICTA, Sydney

  6. mCRL2: Data types • Bool,ℕ, ℤ, sets, bags, lists • Functions, structs • Lambda-expressions • Operators: ⋀,⋁,∀,∃,+,-,div,mod,∈,⋂,⋃,⊆,⊇,++,⊳,⊲, … sortTree = structleaf(value:ℤ)?isLeaf | node(left:Tree,right:Tree)?isNode; mapsquare: ℕℕ; eqnsquare= lx:ℕ. x * x; UNSW / NICTA, Sydney

  7. Example up down set display 34 proc C(n:ℕ) = up · C(n+1) + n>0down · C(n-1)+ display(n) · C(n) + Sm:ℕ. set(m) · C(m) UNSW / NICTA, Sydney

  8. c2 c3 Parallel processes s2 r2 s3 r3 r1 P Q R s4 P || Q || R G{s2|r2c2, s3|r3c3}(P || Q || R) P=r1·s2·PQ=r2·s3·Q R=r3·s4·R {r1,c2,c3,s4}(G{s2|r2c2, s3|r3c3}(P || Q || R)) UNSW / NICTA, Sydney

  9. Parallel processes Hide to t action r1 P Q R s4 P || Q || R G{s2|r2c2, s2|r2c2}(P || Q || R) P=r1·s2·PQ=r2·s3·Q R=r3·s4·R {r1,c2,c3,s4}(G{s2|r2c2, s3|r3c3}(P || Q || R)) t{c2,c3}({r1,c2,c3,s4}(G{s2|r2c2, s3|r3c3}(P || Q || R))) UNSW / NICTA, Sydney

  10. mCRL2 LPE LTS mCRL2 tool set philosophy current state list of P(d:D)=SiISei:Ei ci(d,ei)  ai(fi(d,ei)) · P(gi(d,ei)) Linear Process Equation condition action effect UNSW / NICTA, Sydney

  11. b=true b=false B r s A simple buffer procB =Sn:ℕr(n) · s(n) · B b:Bool procP(b:Bool,n:ℕ) = Sm:ℕb  r(m) · P(true,m) + b  s(n) · P(false,n) UNSW / NICTA, Sydney

  12. mCRL2 tool set • Linearizer: mCRL2 spec → LPE • LPE modifiers and simulators • LTS generator, converter and minimizer • GUI tool interface (under construction) • LTS visualizer (under construction) • Model-checking tools (under construction) Freely available (Boost license) for Unix, Linux, Windows and Mac OSX UNSW / NICTA, Sydney

  13. Large applications 100% rule • Philips Consumer Electronics • Philips Medical • ASML (Wafer steppers) • Dutch railway company (Prorail, Holland Railconsult) • Océ (copiers) • Chess (ES) • Thales • Java distributed memory (free university) • Dutch Ministry of defense • Add-controls • VVSL • Nedcar • Nyquist • NBG • Firewire protocol • CVSS • Security protocol • Imtech UNSW / NICTA, Sydney

  14. Visualization of state spaces Consider 7 dining philosophers: procPhil(n:ℕ) = get(n,n)·get(n,(n+1)mod 7)·eat(n)·put(n,n)· put(n,(n+1)mod7)·Phil(n); procFork(n:ℕ) = Sm:ℕup(m,n)·down(m,n)·Fork(n); init ∇{lock,free,eat}(G{get|up→lock, put|down→free}( Fork(0)|| Phil(0)|| … || Fork(6)|| Phil(6))); State space has 4,286 states and 19,159 transitions… UNSW / NICTA, Sydney

  15. UNSW / NICTA, Sydney

  16. What’s wrong? • Too much detail: all states and transitions are shown in one picture So: • Give the user a structure of the state space • A backbone on which the states and transitions can be visualized • FSMView by Frank van Ham (2000) UNSW / NICTA, Sydney

  17. UNSW / NICTA, Sydney

  18. What did we do? • Rank states • Cluster states • Position and visualize the clusters UNSW / NICTA, Sydney

  19. 0 1 2 Iterative 3 Rank states Cluster states Initial state Back pointer PhD of Frank van Ham UNSW / NICTA, Sydney

  20. Resulting structure Draw knotted cones between clusters Draw ‘leaf-clusters’ as spheres. Rotate clusters outward. Draw tree as 3D object UNSW / NICTA, Sydney

  21. Functionalities • Find the deadlock… UNSW / NICTA, Sydney

  22. UNSW / NICTA, Sydney

  23. UNSW / NICTA, Sydney

  24. Case study: a modular lift system start start stop stop start start stop stop Relay UNSW / NICTA, Sydney

  25. The lift system with 3 lifts UNSW / NICTA, Sydney

  26. VLTS Benchmark suite CWI/SEN2 in Amsterdam (NL) INRIA/VASY in Grenoble (F) UNSW / NICTA, Sydney

  27. UNSW / NICTA, Sydney

  28. UNSW / NICTA, Sydney

  29. UNSW / NICTA, Sydney

  30. Visualization based on state vectors • View N state parameters as a vector in N-dimensional space • StateVis and NoodleView by Hannes Pretorius UNSW / NICTA, Sydney

  31. StateVis UNSW / NICTA, Sydney

  32. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  33. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  34. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  35. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  36. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  37. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  38. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  39. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  40. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  41. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  42. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  43. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  44. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  45. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  46. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  47. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  48. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  49. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

  50. Scheduling wafers at ASML Robot Store Robot Robot Locks Vacuum UNSW / NICTA, Sydney

More Related