Title: Formal Testing with Labelled Transition Systems
1Formal Testing with Labelled Transition Systems
2Goal Formal Testing with Transition Systems
Test hypothesis ?IUT?IMPS . ?iIUT ?IOTS .
?t?TTS . exec(t,IUT) obs(t,iIUT)
Proof soundness and exhaustivess ?i?IOTS . (
?t?der(s) . ?t(obs(t,i)) pass ) ? i ioco s
3Labelled Transition Systems
4Labelled Transition Systems
L dub,kwart, coffee,tea,soup
5Labelled Transition Systems
Sequences of observable actions
s
traces(s) ?, dub, dub coffee, dub tea
Reachable states
s after dub S1, S2
s after dub tea S4
6Labelled Transition Systems
- Labelled Transition System ? S, L, T, s0 ?
7Representation of LTS
S
- Explicit ? S0,S1,S2,S3, dub,coffee,tea,
(S0,dub,S1), (S1,coffee,S2), (S1,tea,S3) ,
S0 ? - Transition tree / graph
- Language / behaviour expression S dub (
coffee stop ? tea stop )
8Labelled Transition Systems
stop
Pwhere P a P
a stop b stop
a b stop
9Labelled Transition Systems
Q where Q a ( b stop Q )
a b stop a c stop
a stop ? c stop
a stop b stop
10Language of Behaviour Expressions
- Process Algebra algebra of processes with
behaviour operators - Operational semantics in labelled transition
systems - Concise, structured, compositional
representationof labelled transition systems - Behaviour operators
- inaction stop
- action prefix a B ? B
- choice B1 B2
- hiding hide G in B
- Parallelism B1 G B2 B1 B2 B2
B2 - process def. p where p Bp
11Language of Behaviour Expressions
12Language of Behaviour Expressions
- process definition pwhere p Bp
13Language of Behaviour Expressions
- parallel composition B1 a B2
14Language of Behaviour Expressions
- parallel composition B1 a,b B2
a,b
- synchronization B1 B2 def B1 L
B2
- interleaving B1 B2 def B1 ? B2
15Structural Operational Semantics
- Formal semantics of behaviour expressions through
Structural Operational Semantics (SOS) - Example parallel composition p G q
16Example Parallel Composition
17Example Behaviour Expression
- Simple buffer(domain(x)1 states)
in ? x
out ! x
Buf in,out in ? x out ! x
Buf in,out
18Example Behaviour Expression
- Double buffer((domain(x)1)2 states)
(x,?)
in ? x
out ! x
(x,x)
(?,?)
?
(?,x)
in ? x
out ! x
DBuf in,out hide mid in Buf in,mid
mid Buf mid,out
19Example Behaviour Expression
- Six-Double buffers((domain(x)1)12 states)
SixDBuf in,out DBuf DBuf
DBuf DBuf DBuf DBuf