equivalences on labelled transition systems ed brinksma course 2004

37
Equivalences on Labelled Transition Systems Ed Brinksma Course 2004

Upload: dale-hawkins

Post on 17-Dec-2015

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004

Equivalences on Labelled Transition Systems

Ed BrinksmaCourse 2004

Page 2: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004

© 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

© 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

© 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

© Ed Brinksma/Jan Tretmans

a

b

a

b

aa

b

b

a

Isomorphism

Page 6: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© Ed Brinksma/Jan Tretmans

Bisimulation

aaa

a

a

b b b

Page 16: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004

© 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

© Ed Brinksma/Jan Tretmans

cb

a aa

cb

cb

a

b

Bisimulation

Page 18: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© Ed Brinksma/Jan Tretmans

cb

a aa

cb

cb

a

Equivalences : Examples

Page 34: Equivalences on Labelled Transition Systems Ed Brinksma Course 2004

© 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

© 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

© 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

© Ed Brinksma/Jan Tretmans

Equivalences : Examples

tea

tea

coincoin

bangcoffee

coffeebang

p

coffee

tea

coincoin

bangtea

coffeebang

q