- 102 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'mCRL2 and Visualization of State Spaces' - varden

**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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Behavioral models

of software

Manual analysis

techniques

Tool based analysis

techniques

UNSW / NICTA, Sydney

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

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

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

Example

up

down

set

display

34

proc C(n:ℕ) = up · C(n+1) +

n>0down · C(n-1)+

display(n) · C(n) +

Sm:ℕ. set(m) · C(m)

UNSW / NICTA, Sydney

c2

c3

Parallel processess2

r2

s3

r3

r1

P

Q

R

s4

P || Q || R

G{s2|r2c2, s3|r3c3}(P || Q || R)

P=r1·s2·PQ=r2·s3·Q

R=r3·s4·R

{r1,c2,c3,s4}(G{s2|r2c2, s3|r3c3}(P || Q || R))

UNSW / NICTA, Sydney

Parallel processes

Hide to t action

r1

P

Q

R

s4

P || Q || R

G{s2|r2c2, s2|r2c2}(P || Q || R)

P=r1·s2·PQ=r2·s3·Q

R=r3·s4·R

{r1,c2,c3,s4}(G{s2|r2c2, s3|r3c3}(P || Q || R))

t{c2,c3}({r1,c2,c3,s4}(G{s2|r2c2, s3|r3c3}(P || Q || R)))

UNSW / NICTA, Sydney

mCRL2

LPE

LTS

mCRL2 tool set philosophycurrent state

list of

P(d:D)=SiISei:Ei

ci(d,ei) ai(fi(d,ei)) · P(gi(d,ei))

Linear Process Equation

condition

action

effect

UNSW / NICTA, Sydney

b=true

b=false

B

r

s

A simple bufferprocB =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

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

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

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

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

0

1

2

Iterative

3

Rank states

Cluster states

Initial state

Back pointer

PhD of Frank van Ham

UNSW / NICTA, Sydney

Resulting structure

Draw knotted cones between clusters

Draw ‘leaf-clusters’ as spheres.

Rotate clusters outward.

Draw tree as 3D object

UNSW / NICTA, Sydney

The lift system with 3 lifts

UNSW / NICTA, Sydney

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

StateVis

UNSW / NICTA, Sydney

NoodleView

UNSW / NICTA, Sydney

Questions?

UNSW / NICTA, Sydney

Download Presentation

Connecting to Server..