equivalences on labelled transition systems ed brinksma course 2004

Post on 17-Dec-2015

222 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Equivalences on Labelled Transition Systems

Ed BrinksmaCourse 2004

© Ed Brinksma/Jan Tretmans

Observable Behaviour

a aa

a

a?

?

?

“ Some transition systems are more equal than others “

© Ed Brinksma/Jan Tretmans

a

b

a

b

aa

b

b

a

Observable Behaviour

?

?

?

?

?

© 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

© Ed Brinksma/Jan Tretmans

a

b

a

b

aa

b

b

a

Isomorphism

© Ed Brinksma/Jan Tretmans

Comparing Transition Systems

S1 S2

environmente

environmente

? ?

S1 S2 e E . obs ( e, S1 ) = obs (e, S2 )

© Ed Brinksma/Jan Tretmans

Trace Equivalence

S1 S2

environment environment

s1 tr s2 traces ( s1 ) = traces ( s2 )

traces (s) = { L* | s }

© Ed Brinksma/Jan Tretmans

cb

a aa

cb

cb

a

tr

Trace Equivalence

traces = { ,a,a b,a c }

© 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:

© 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

© Ed Brinksma/Jan Tretmans

a

b

a

b

aa

b

b

a

tr

ctr tr

ctr

tr

ctr

tr

ctr

Completed Trace Equivalence

© Ed Brinksma/Jan Tretmans

cb

a aa

cb

cb

a

?

(Completed) Trace Equivalence : Others ?

© Ed Brinksma/Jan Tretmans

Equivalences on Transition Systems

isomorphism

bisimulation( weak )

failure trace= refusal

failures= testing

completedtrace

trace

weak

strong

© 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

© Ed Brinksma/Jan Tretmans

Bisimulation

aaa

a

a

b b b

© Ed Brinksma/Jan Tretmans

a

b

a

b

aa

b

b

a

Bisimulation

b

b

b

bb

© Ed Brinksma/Jan Tretmans

cb

a aa

cb

cb

a

b

Bisimulation

© 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 )

? ?

© 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

© 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 , }

© 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

© 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 }

© 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

© Ed Brinksma/Jan Tretmans

Testing Equivalence

cb

a aa

cb

cb

a

te

te

te

© 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 !?

© 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

© 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 )

? ?

© 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

© 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

© 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

© 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 ……

© Ed Brinksma/Jan Tretmans

Equivalences : Examples

a aa

a

a

sb

b

tr

te

sb

b

tr

te

sb

b

tr

te

© Ed Brinksma/Jan Tretmans

cb

a aa

cb

cb

a

Equivalences : Examples

© Ed Brinksma/Jan Tretmans

a

b

a

b

aa

b

b

a

Equivalences : Examples

© Ed Brinksma/Jan Tretmans

bb

dc

a

Equivalence of Transition Systems

aa

bb

c ddc

b

a

© 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

© Ed Brinksma/Jan Tretmans

Equivalences : Examples

tea

tea

coincoin

bangcoffee

coffeebang

p

coffee

tea

coincoin

bangtea

coffeebang

q

top related