![Page 1: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/1.jpg)
Equivalences on Labelled Transition Systems
Ed BrinksmaCourse 2004
![Page 2: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/2.jpg)
© Ed Brinksma/Jan Tretmans
Observable Behaviour
a aa
a
a?
?
?
“ Some transition systems are more equal than others “
![Page 3: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/3.jpg)
© Ed Brinksma/Jan Tretmans
a
b
a
b
aa
b
b
a
Observable Behaviour
?
?
?
?
?
![Page 4: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/4.jpg)
© Ed Brinksma/Jan Tretmans
Isomorphismp q
"p and q are exactly the same modulo state names"
Isomorphism:
aa
a
bijection : Sp Sq :
s1, s2 Sp, L {} :
s1 s2 (s1) (s2)
(s0p) = s0q
a
s0
s1
a
v
u
![Page 5: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/5.jpg)
© Ed Brinksma/Jan Tretmans
a
b
a
b
aa
b
b
a
Isomorphism
![Page 6: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/6.jpg)
© Ed Brinksma/Jan Tretmans
Comparing Transition Systems
S1 S2
environmente
environmente
? ?
S1 S2 e E . obs ( e, S1 ) = obs (e, S2 )
![Page 7: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/7.jpg)
© Ed Brinksma/Jan Tretmans
Trace Equivalence
S1 S2
environment environment
s1 tr s2 traces ( s1 ) = traces ( s2 )
traces (s) = { L* | s }
![Page 8: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/8.jpg)
© Ed Brinksma/Jan Tretmans
cb
a aa
cb
cb
a
tr
Trace Equivalence
traces = { ,a,a b,a c }
![Page 9: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/9.jpg)
© Ed Brinksma/Jan Tretmans
Completed Trace Equivalence
p tr q traces(p) = traces (q)
p ctr q Ctraces(p) = Ctraces (q)
and traces(p) = traces (q)
Reachable states: s after = { s’ | s
s’ }
traces (s) = { L* | s }Traces:
s after refuses A s' s after : s' refuses ARefusals:
as refuses A a A : s Refusal:
Ctraces (s) = { L* | s after refuses L }
Completed traces:
Completed
trace equivalence:
Trace equivalence:
![Page 10: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/10.jpg)
© Ed Brinksma/Jan Tretmans
Completed Trace Equivalence
a aa
a
a
tr
ctr
tr
ctr
tr
ctr
p q
p after a refuses L q after a refuses L
q after refuses Lp after refuses L
![Page 11: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/11.jpg)
© Ed Brinksma/Jan Tretmans
a
b
a
b
aa
b
b
a
tr
ctr tr
ctr
tr
ctr
tr
ctr
Completed Trace Equivalence
![Page 12: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/12.jpg)
© Ed Brinksma/Jan Tretmans
cb
a aa
cb
cb
a
?
(Completed) Trace Equivalence : Others ?
![Page 13: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/13.jpg)
© Ed Brinksma/Jan Tretmans
Equivalences on Transition Systems
isomorphism
bisimulation( weak )
failure trace= refusal
failures= testing
completedtrace
trace
weak
strong
![Page 14: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/14.jpg)
© Ed Brinksma/Jan Tretmans
Bisimulation
p b q
"p and q simulate each other and go to states from where they can simulate each other again"
Bisimulation:
a
a
Sp Sq : s0p, s0q and
s1, s2 , L* :
whenever sp s'p then sq s'q and s'p, s'q
whenever sq s'q then sp s'p and s'p, s'q
b
![Page 15: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/15.jpg)
© Ed Brinksma/Jan Tretmans
Bisimulation
aaa
a
a
b b b
![Page 16: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/16.jpg)
© Ed Brinksma/Jan Tretmans
a
b
a
b
aa
b
b
a
Bisimulation
b
b
b
bb
![Page 17: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/17.jpg)
© Ed Brinksma/Jan Tretmans
cb
a aa
cb
cb
a
b
Bisimulation
![Page 18: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/18.jpg)
© Ed Brinksma/Jan Tretmans
Comparing Systems :Testing Equivalence
S1 S2
environment environment
LTS(L) Ctraces (e||s)
S1 te S2 e E . obs ( e, S1 ) = obs (e, S2 )
? ?
![Page 19: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/19.jpg)
© Ed Brinksma/Jan Tretmans
Testing Equivalence
S1 S2
environment environment
S1 te S2 e LTS(L) . L* .
e||S1 after refuses L e||S2 after refuses L
![Page 20: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/20.jpg)
© Ed Brinksma/Jan Tretmans
Testing Equivalence
a aa
a
a
te te te
p q
obs(e,p) = { a
}
aEnvironment e :
obs(e,q) = { a , }
![Page 21: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/21.jpg)
© Ed Brinksma/Jan Tretmans
S1 S2environment
a
b
environment
a
bcb
a aa
cb
teaa b aa b
S1 after a refuses {b} S2 after a refuses {b}
Testing Equivalence
a b aa a b
![Page 22: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/22.jpg)
© Ed Brinksma/Jan Tretmans
Testing Equivalence
P te q FP(p) = FP(q)
Failure equivalence = testing equivalence :
aa
cb
FP :
a , {c}
a b , L
,
Not FP :
a , {b,c}
a a ,
, L
Failure pairs of p :
FP (p) = { , A | A L, traces(p), p afer refuses A }
![Page 23: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/23.jpg)
© Ed Brinksma/Jan Tretmans
cb
a aa
cb
tr
b
ca
a
b
ca
a
ctr
p q
traces (p) = traces (p) = { , a, a b, a c }
Ctraces (p) = Ctraces (p) = { a b, a c }
p after a b refuses L q after a b refuses L
q after a refuses {a,c}p after a refuses {a,c}
p after a refuses L q after a refuses L
Testing Equivalence
te
![Page 24: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/24.jpg)
© Ed Brinksma/Jan Tretmans
Testing Equivalence
cb
a aa
cb
cb
a
te
te
te
![Page 25: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/25.jpg)
© Ed Brinksma/Jan Tretmans
Testing Equivalence
tea
tea
coincoin
bangcoffee
coffeebang
p
coffee
tea
coincoin
bangtea
coffeebang
q
p te
qBut: if you want coffee you will eventually always succeed in q but not p !?
![Page 26: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/26.jpg)
© Ed Brinksma/Jan Tretmans
Refusal Equivalence
tea
tea
coin
coin
bangcoffee
coffeebang
p
coffee
tea
coin
coin
bangtea
coffeebang
q
coffee
coffee
coin
bang
Test t : only possible
if everything else is impossible
coin bang coffee obs ( q || t )
coin bang coffee obs ( p || t )
p rf
q
![Page 27: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/27.jpg)
© Ed Brinksma/Jan Tretmans
Comparing Systems : Refusal Equivalence
S1 S2
environment environment
LTS( L{} ) Ctraces (e||s)
S1 rf S2 e E . obs ( e, S1 ) = obs (e, S2 )
? ?
![Page 28: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/28.jpg)
© Ed Brinksma/Jan Tretmans
Refusal Equivalence
S1 S2
environment environment
S1 rf S2 e LTS(L{}) . L* .
e||S1 after refuses L e||S2 after refuses L
![Page 29: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/29.jpg)
© Ed Brinksma/Jan Tretmans
Refusal Equivalence
P rf q Ftraces(p) = Ftraces
(q)
Failure trace equivalence = refusal equivalence :
( L ( L ) )* : s
Failure trace :
Failure traces of p : Ftraces (p) = { ( L ( L ) )* | p }
Failure A : A { } : s A
s s
aa
cb
Ftraces :
{b,c} a {a,c} b L
a {c} b {a} {b} {c}
a {b} {b} c
Not Ftraces :
{a,b,c} a {a,c} b L
a {c} c L
a a
![Page 30: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/30.jpg)
© Ed Brinksma/Jan Tretmans
Refusal Equivalence
tea
tea
coin
coin
bangcoffee
coffeebang
p
coffee
tea
coin
coin
bangtea
coffeebang
q
p rf
qFtrace of p :
coin {coffee} bang {coffee} teaNot an Ftrace of p :
coin {coffee} bang coffee
An Ftrace of q :
coin {coffee} bang coffee
Not an Ftrace of q :
coin {coffee} bang {coffee} tea
![Page 31: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/31.jpg)
© Ed Brinksma/Jan Tretmans
Equivalences on Transition Systems
isomorphism
bisimulation( weak )
failure trace= refusal
failures= testing
completedtrace
trace
weak
strong
observing sequences of actions and their end
observing sequences of actions
test an LTS with another LTS
test an LTS with another LTS, and try again (continue) after failure
test an LTS with another LTS, and undo, copy, repeat as often as you like
now you need to observe 's ……
![Page 32: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/32.jpg)
© Ed Brinksma/Jan Tretmans
Equivalences : Examples
a aa
a
a
sb
b
tr
te
sb
b
tr
te
sb
b
tr
te
![Page 33: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/33.jpg)
© Ed Brinksma/Jan Tretmans
cb
a aa
cb
cb
a
Equivalences : Examples
![Page 34: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/34.jpg)
© Ed Brinksma/Jan Tretmans
a
b
a
b
aa
b
b
a
Equivalences : Examples
![Page 35: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/35.jpg)
© Ed Brinksma/Jan Tretmans
bb
dc
a
Equivalence of Transition Systems
aa
bb
c ddc
b
a
![Page 36: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/36.jpg)
© Ed Brinksma/Jan Tretmans
d
a
b
c
p
dc d
a
bbb
c
s
aa
bb
dc
r
bb
dc
a
q
Equivalences : Examples
![Page 37: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004](https://reader035.vdocuments.us/reader035/viewer/2022081514/56649cf55503460f949c4bac/html5/thumbnails/37.jpg)
© Ed Brinksma/Jan Tretmans
Equivalences : Examples
tea
tea
coincoin
bangcoffee
coffeebang
p
coffee
tea
coincoin
bangtea
coffeebang
q