department of mathematics and computer science April 07, 2006 UNSW / NICTA, Sydney1 mCRL2 and...
-
Upload
patricia-tyler -
Category
Documents
-
view
215 -
download
0
Transcript of department of mathematics and computer science April 07, 2006 UNSW / NICTA, Sydney1 mCRL2 and...
April 07, 2006 UNSW / NICTA, Sydney 1
/department of mathematics and computer science
mCRL2 and Visualization ofState Spaces
April 07, 2006 UNSW / NICTA, Sydney 2
/department of mathematics and computer science
mCRL2 and Visualization of
State Spaces
April 07, 2006 UNSW / NICTA, Sydney 3
/department of mathematics and computer science
Behavioral modelsof software
Manual analysistechniques
Tool based analysistechniques
April 07, 2006 UNSW / NICTA, Sydney 4
/department of mathematics and computer science
mCRL2• Based on CRL: 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
April 07, 2006 UNSW / NICTA, Sydney 5
/department of mathematics and computer science
mCRL2: Process algebra
1) Processes2) Actions: a, b, c,...3) Operators: +, ·, , ||, |, C, V,…
act a, b, c, error ;proc P = a·(b + c)·P + error · ;Q = a·Q ;init P || Q ;
April 07, 2006 UNSW / NICTA, Sydney 6
/department of mathematics and computer science
mCRL2: Data types
sort Tree = struct leaf(value:ℤ)?isLeaf | node(left:Tree,right:Tree)?isNode;
map square: ℕℕ;eqn square = x:ℕ . x * x;
1) Bool, ℕ, ℤ, sets, bags, lists2) Functions, structs3) Lambda-expressions4) Operators: ⋀,⋁,∀,∃,+,-,div,mod,∈,⋂,⋃,⊆,⊇,++,⊳,⊲, …
April 07, 2006 UNSW / NICTA, Sydney 7
/department of mathematics and computer science
Example
proc C(n:ℕ) = up · C(n+1) + n>0 down · C(n-1) + display(n) · C(n) +
m:ℕ . set(m) · C(m)
up down
displayset
April 07, 2006 UNSW / NICTA, Sydney 8
/department of mathematics and computer science
Parallel processes
P Q R
P || Q || R
P=r1·s2·PQ=r2·s3·QR=r3·s4·R
r1
r2s2 s3 r3
s4
{s2|r2c2, s3|r3c3}(P || Q || R)
{r1,c2,c3,s4}{s2|r2c2, s3|r3c3}(P || Q || R))
c2 c3
April 07, 2006 UNSW / NICTA, Sydney 9
/department of mathematics and computer science
Parallel processes
P Q R
P || Q || R
P=r1·s2·PQ=r2·s3·QR=r3·s4·R
r1 s4
{s2|r2c2, s2|r2c2}(P || Q || R)
{r1,c2,c3,s4}{s2|r2c2, s3|r3c3}(P || Q || R))
{c2,c3}({r1,c2,c3,s4}{s2|r2c2, s3|r3c3}(P || Q || R)))
Hide to action
April 07, 2006 UNSW / NICTA, Sydney 10
/department of mathematics and computer science
mCRL2 tool set philosophy
mCRL2
LPE
LTS
Linear Process Equation
P(d:D)=iIei:Ei
ci(d,ei) ai(fi(d,ei)) · P(gi(d,ei))
current state
condition action effect
list of
April 07, 2006 UNSW / NICTA, Sydney 11
/department of mathematics and computer science
A simple buffer
proc B =n:ℕ r(n) · s(n) · B
Br s
b=trueb=false
b:Bool
proc P(b:Bool,n:ℕ) =
m:ℕ b r(m) · P(true,m) +b s(n) · P(false,n)
April 07, 2006 UNSW / NICTA, Sydney 12
/department of mathematics and computer science
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
April 07, 2006 UNSW / NICTA, Sydney 13
/department of mathematics and computer science
Large applications• 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
100% rule
April 07, 2006 UNSW / NICTA, Sydney 14
/department of mathematics and computer science
Visualization of state spaces
proc Phil(n:ℕ) = get(n,n)·get(n,(n+1) mod 7)·eat(n)·put(n,n)·
put(n,(n+1) mod 7)·Phil(n);
proc Fork(n:ℕ) = m:ℕ up(m,n)·down(m,n)·Fork(n);
init ∇{lock,free,eat}({get|up→lock, put|down→free} (Fork(0) || Phil(0) || … || Fork(6) || Phil(6) ));
Consider 7 dining philosophers:
State space has 4,286 states and 19,159 transitions…
April 07, 2006 UNSW / NICTA, Sydney 15
/department of mathematics and computer science
April 07, 2006 UNSW / NICTA, Sydney 16
/department of mathematics and computer science
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)
April 07, 2006 UNSW / NICTA, Sydney 17
/department of mathematics and computer science
April 07, 2006 UNSW / NICTA, Sydney 18
/department of mathematics and computer science
What did we do?
• Rank states• Cluster states• Position and visualize the clusters
April 07, 2006 UNSW / NICTA, Sydney 19
/department of mathematics and computer science
Iterative
0
1
2
3
Rank states
Back pointer
Initial state
Cluster states
Ph
D o
f Fran
k van
Ham
April 07, 2006 UNSW / NICTA, Sydney 20
/department of mathematics and computer science
Resulting structure
Draw ‘leaf-clusters’ as spheres.
Draw knotted cones between clusters
Rotate clusters outward.
Dra
w t
ree a
s 3
D o
bje
ct
April 07, 2006 UNSW / NICTA, Sydney 21
/department of mathematics and computer science
Functionalities
• Find the deadlock…
April 07, 2006 UNSW / NICTA, Sydney 22
/department of mathematics and computer science
April 07, 2006 UNSW / NICTA, Sydney 23
/department of mathematics and computer science
April 07, 2006 UNSW / NICTA, Sydney 24
/department of mathematics and computer science
Case study: a modular lift system
startstop
startstop
startstop
startstop
Relay
April 07, 2006 UNSW / NICTA, Sydney 25
/department of mathematics and computer science
The lift system with 3 lifts
April 07, 2006 UNSW / NICTA, Sydney 26
/department of mathematics and computer science
VLTS Benchmark suite
CWI/SEN2 in Amsterdam (NL)INRIA/VASY in Grenoble (F)
April 07, 2006 UNSW / NICTA, Sydney 27
/department of mathematics and computer science
April 07, 2006 UNSW / NICTA, Sydney 28
/department of mathematics and computer science
April 07, 2006 UNSW / NICTA, Sydney 29
/department of mathematics and computer science
April 07, 2006 UNSW / NICTA, Sydney 30
/department of mathematics and computer science
Visualization based on state vectors• View N state parameters as a vector in
N-dimensional space• StateVis and NoodleView by Hannes
Pretorius
April 07, 2006 UNSW / NICTA, Sydney 31
/department of mathematics and computer science
StateVis
April 07, 2006 UNSW / NICTA, Sydney 32
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 33
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 34
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 35
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 36
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 37
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 38
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 39
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 40
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 41
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 42
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 43
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 44
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 45
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 46
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 47
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 48
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 49
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 50
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 51
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 52
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 53
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 54
/department of mathematics and computer science
Scheduling wafers at ASML
RobotStore
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 55
/department of mathematics and computer science
Robot
Scheduling wafers at ASML
Store
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 56
/department of mathematics and computer science
Robot
Scheduling wafers at ASML
Store
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 57
/department of mathematics and computer science
Robot
Scheduling wafers at ASML
Store
Robot
Robot
VacuumLocks
April 07, 2006 UNSW / NICTA, Sydney 58
/department of mathematics and computer science
RobotStore
Robot
Robot
VacuumLocks
Deadlock can occur …
April 07, 2006 UNSW / NICTA, Sydney 59
/department of mathematics and computer science
RobotStore
Robot
Robot
VacuumLocks
4
6
Add global constraints
April 07, 2006 UNSW / NICTA, Sydney 60
/department of mathematics and computer science
RobotStore
Robot
Robot
VacuumLocks
4
6
Add global constraints
April 07, 2006 UNSW / NICTA, Sydney 61
/department of mathematics and computer science
NoodleView
April 07, 2006 UNSW / NICTA, Sydney 62
/department of mathematics and computer science
April 07, 2006 UNSW / NICTA, Sydney 63
/department of mathematics and computer science
April 07, 2006 UNSW / NICTA, Sydney 64
/department of mathematics and computer science
April 07, 2006 UNSW / NICTA, Sydney 65
/department of mathematics and computer science
Questions?
April 07, 2006 UNSW / NICTA, Sydney 66
/department of mathematics and computer science
Contact• Bas Ploeger: [email protected]• Hannes Pretorius: [email protected]