Overview overview7.4 Introduction Modelling parallel systems - - PowerPoint PPT Presentation

overview
SMART_READER_LITE
LIVE PREVIEW

Overview overview7.4 Introduction Modelling parallel systems - - PowerPoint PPT Presentation

Overview overview7.4 Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation-Tree Logic Equivalences and Abstraction bisimulation CTL, CTL*-equivalence computing the


slide-1
SLIDE 1

Overview

  • verview7.4

Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation-Tree Logic Equivalences and Abstraction bisimulation CTL, CTL*-equivalence computing the bisimulation quotient abstraction stutter steps ← − ← − ← − simulation relations

1 / 444

slide-2
SLIDE 2

Classification of implementation relations

stutter5.4-cl

2 / 444

slide-3
SLIDE 3

Classification of implementation relations

stutter5.4-cl

  • linear vs. branching time

∗ ∗ ∗ linear time: trace relations ∗ ∗ ∗ branching time: (bi)simulation relations

  • (nonsymmetric) preorders vs. equivalences:

∗ ∗ ∗ preorders: trace inclusion, simulation ∗ ∗ ∗ equivalences: trace equivalence, bisimulation

  • strong vs. weak relations

∗ ∗ ∗ strong: reasoning about all transitions ∗ ∗ ∗ weak: abstraction from stutter steps

3 / 444

slide-4
SLIDE 4

Classification of implementation relations

stutter5.4-cl

  • linear vs. branching time

∗ ∗ ∗ linear time: trace relations ∗ ∗ ∗ branching time: (bi)simulation relations

  • (nonsymmetric) preorders vs. equivalences:

∗ ∗ ∗ preorders: trace inclusion, simulation ∗ ∗ ∗ equivalences: trace equivalence, bisimulation

  • strong vs. weak relations

∗ ∗ ∗ strong: reasoning about all transitions ∗ ∗ ∗ weak: abstraction from stutter steps

4 / 444

slide-5
SLIDE 5

Classification of implementation relations

stutter5.4-cl

  • linear vs. branching time

∗ ∗ ∗ linear time: trace relations ∗ ∗ ∗ branching time: (bi)simulation relations

  • (nonsymmetric) preorders vs. equivalences:

∗ ∗ ∗ preorders: trace inclusion, simulation ∗ ∗ ∗ equivalences: trace equivalence, bisimulation

  • strong vs. weak relations

∗ ∗ ∗ strong: reasoning about all transitions ∗ ∗ ∗ weak: abstraction from stutter steps

5 / 444

slide-6
SLIDE 6

Design by stepwise refinement

stutter5.4-1

specification 

  • abstract model

TS T1 T1 T1 

  • refinement

TS T2 T2 T2

6 / 444

slide-7
SLIDE 7

Design by stepwise refinement

stutter5.4-1

specification 

  • abstract model

TS T1 T1 T1 ← − ← − ← − transition s1 α − → t1 s1 α − → t1 s1 α − → t1 

  • refinement

TS T2 T2 T2

7 / 444

slide-8
SLIDE 8

Design by stepwise refinement

stutter5.4-1

specification 

  • abstract model

TS T1 T1 T1 ← − ← − ← − transition s1 α − → t1 s1 α − → t1 s1 α − → t1 

  • refinement

TS T2 T2 T2 ← − ← − ← − execution fragment s2→u1→. . .→un α → t2 s2→u1→. . .→un α → t2 s2→u1→. . .→un α → t2

8 / 444

slide-9
SLIDE 9

Design by stepwise refinement

stutter5.4-1

specification 

  • abstract model

TS T1 T1 T1 ← − ← − ← − transition s1 α − → t1 s1 α − → t1 s1 α − → t1 

  • refinement

TS T2 T2 T2 ← − ← − ← − execution fragment s2→u1→. . .→un α → t2 s2→u1→. . .→un α → t2 s2→u1→. . .→un α → t2 internal computation prior to the execution of action α α α

  • access on auxiliary variables of T2

T2 T2

  • no access on variables of T1

T1 T1

9 / 444

slide-10
SLIDE 10

Design by stepwise refinement

stutter5.4-1

AP AP AP specification ⊆ ⊆ ⊆ 

  • AP1

AP1 AP1 abstract model TS T1 T1 T1 ← − ← − ← − transition s1 α − → t1 s1 α − → t1 s1 α − → t1 ⊆ ⊆ ⊆ 

  • AP2

AP2 AP2 refinement TS T2 T2 T2 ← − ← − ← − execution fragment s2→u1→. . .→un α → t2 s2→u1→. . .→un α → t2 s2→u1→. . .→un α → t2 internal computation prior to the execution of action α α α

  • access on auxiliary variables of T2

T2 T2

  • no access on variables of T1

T1 T1

10 / 444

slide-11
SLIDE 11

Design by stepwise refinement

stutter5.4-1

AP AP AP specification ⊆ ⊆ ⊆ 

  • AP1

AP1 AP1 abstract model TS T1 T1 T1 ← − ← − ← − transition s1 α − → t1 s1 α − → t1 s1 α − → t1 ⊆ ⊆ ⊆ 

  • AP2

AP2 AP2 refinement TS T2 T2 T2 ← − ← − ← − execution fragment s2→u1→. . .→un α → t2 s2→u1→. . .→un α → t2 s2→u1→. . .→un α → t2 internal computation prior to the execution of action α α α

  • access on auxiliary variables of T2

T2 T2

  • no access on variables of T1

T1 T1 s2→u1→. . .→un s2→u1→. . .→un s2→u1→. . .→un: stutter steps w.r.t. AP1 AP1 AP1 (or AP AP AP)

11 / 444

slide-12
SLIDE 12

Mututal exclusion (with arbiter)

stutter5.4-2

noncriti noncriti noncriti criti criti criti release request abstract representation for process Pi Pi Pi

12 / 444

slide-13
SLIDE 13

Mututal exclusion (with arbiter)

stutter5.4-2

noncriti noncriti noncriti criti criti criti release request abstract representation for process Pi Pi Pi refined representation for process Pi Pi Pi n0 n0 n0 n1 n1 n1 n2 n2 n2 n3 n3 n3 n4 n4 n4 criti,1 criti,1 criti,1 criti,2 criti,2 criti,2 criti,3 criti,3 criti,3 request request release

13 / 444

slide-14
SLIDE 14

Example: abstraction from stutter steps

stutter5.4-3

process P P P LOOP FOREVER x := y x := y x := y MOD 3 3 3 y := (x + y) y := (x + y) y := (x + y) MOD 3 3 3 z := (2y − x) z := (2y − x) z := (2y − x) DIV 3 3 3 END LOOP

14 / 444

slide-15
SLIDE 15

Example: abstraction from stutter steps

stutter5.4-3

process P P P

  • transition system TP

TP TP ℓ0 ℓ0 ℓ0 LOOP FOREVER ℓ1 ℓ1 ℓ1 x := y x := y x := y MOD 3 3 3 ℓ2 ℓ2 ℓ2 y := (x + y) y := (x + y) y := (x + y) MOD 3 3 3 ℓ3 ℓ3 ℓ3 z := (2y − x) z := (2y − x) z := (2y − x) DIV 3 3 3 ℓ4 ℓ4 ℓ4 END LOOP

15 / 444

slide-16
SLIDE 16

Example: abstraction from stutter steps

stutter5.4-3

process P P P

  • transition system TP

TP TP ℓ0 ℓ0 ℓ0 LOOP FOREVER ℓ1 ℓ1 ℓ1 x := y x := y x := y MOD 3 3 3 ℓ2 ℓ2 ℓ2 y := (x + y) y := (x + y) y := (x + y) MOD 3 3 3 ℓ3 ℓ3 ℓ3 z := (2y − x) z := (2y − x) z := (2y − x) DIV 3 3 3 ℓ4 ℓ4 ℓ4 END LOOP CTL* property: does TP | = ∀♦(z = 1) TP | = ∀♦(z = 1) TP | = ∀♦(z = 1) hold ?

16 / 444

slide-17
SLIDE 17

Example: abstraction from stutter steps

stutter5.4-3

process P P P

  • transition system TP

TP TP over AP = Eval(z) AP = Eval(z) AP = Eval(z) ℓ0 ℓ0 ℓ0 LOOP FOREVER ℓ1 ℓ1 ℓ1 x := y x := y x := y MOD 3 3 3 ℓ2 ℓ2 ℓ2 y := (x + y) y := (x + y) y := (x + y) MOD 3 3 3 ℓ3 ℓ3 ℓ3 z := (2y − x) z := (2y − x) z := (2y − x) DIV 3 3 3 ℓ4 ℓ4 ℓ4 END LOOP CTL* property: does TP | = ∀♦(z = 1) TP | = ∀♦(z = 1) TP | = ∀♦(z = 1) hold ?

17 / 444

slide-18
SLIDE 18

Example: abstraction from stutter steps

stutter5.4-3

process P P P

  • transition system TP

TP TP over AP = Eval(z) AP = Eval(z) AP = Eval(z) ℓ0 ℓ0 ℓ0 LOOP FOREVER ℓ1 ℓ1 ℓ1 x := y x := y x := y MOD 3 3 3 ← − ← − ← − stutter step ℓ2 ℓ2 ℓ2 y := (x + y) y := (x + y) y := (x + y) MOD 3 3 3 ← − ← − ← − stutter step ℓ3 ℓ3 ℓ3 z := (2y − x) z := (2y − x) z := (2y − x) DIV 3 3 3 ← − ← − ← − visible action ℓ4 ℓ4 ℓ4 END LOOP CTL* property: does TP | = ∀♦(z = 1) TP | = ∀♦(z = 1) TP | = ∀♦(z = 1) hold ?

18 / 444

slide-19
SLIDE 19

Transition system for process P P P

stutter5.4-4

ℓ1 x=2 y=4 ℓ1 x=2 y=4 ℓ1 x=2 y=4 z=3 z=3 z=3 ℓ2 x=1 y=4 ℓ2 x=1 y=4 ℓ2 x=1 y=4 z=3 z=3 z=3 ℓ3 x=1 y=2 ℓ3 x=1 y=2 ℓ3 x=1 y=2 z=3 z=3 z=3 ℓ1 x=1 y=2 ℓ1 x=1 y=2 ℓ1 x=1 y=2 z=1 z=1 z=1 ℓ2 x=2 y=2 ℓ2 x=2 y=2 ℓ2 x=2 y=2 z=1 z=1 z=1 ℓ3 x=2 y=1 ℓ3 x=2 y=1 ℓ3 x=2 y=1 z=1 z=1 z=1 ℓ1 x=2 y=1 ℓ1 x=2 y=1 ℓ1 x=2 y=1 z=0 z=0 z=0 . . . . . . . . .

19 / 444

slide-20
SLIDE 20

Analysis by abstraction from stutter steps

stutter5.4-4

ℓ1 x=2 y=4 ℓ1 x=2 y=4 ℓ1 x=2 y=4 z=3 z=3 z=3 ℓ2 x=1 y=4 ℓ2 x=1 y=4 ℓ2 x=1 y=4 z=3 z=3 z=3 ℓ3 x=1 y=2 ℓ3 x=1 y=2 ℓ3 x=1 y=2 z=3 z=3 z=3 ℓ1 x=1 y=2 ℓ1 x=1 y=2 ℓ1 x=1 y=2 z=1 z=1 z=1 ℓ2 x=2 y=2 ℓ2 x=2 y=2 ℓ2 x=2 y=2 z=1 z=1 z=1 ℓ3 x=2 y=1 ℓ3 x=2 y=1 ℓ3 x=2 y=1 z=1 z=1 z=1 ℓ1 x=2 y=1 ℓ1 x=2 y=1 ℓ1 x=2 y=1 z=0 z=0 z=0 . . . . . . . . .

20 / 444

slide-21
SLIDE 21

Analysis by abstraction from stutter steps

stutter5.4-4

ℓ1 x=2 y=4 ℓ1 x=2 y=4 ℓ1 x=2 y=4 z=3 z=3 z=3 ℓ2 x=1 y=4 ℓ2 x=1 y=4 ℓ2 x=1 y=4 z=3 z=3 z=3 ℓ3 x=1 y=2 ℓ3 x=1 y=2 ℓ3 x=1 y=2 z=3 z=3 z=3 ℓ1 x=1 y=2 ℓ1 x=1 y=2 ℓ1 x=1 y=2 z=1 z=1 z=1 ℓ2 x=2 y=2 ℓ2 x=2 y=2 ℓ2 x=2 y=2 z=1 z=1 z=1 ℓ3 x=2 y=1 ℓ3 x=2 y=1 ℓ3 x=2 y=1 z=1 z=1 z=1 ℓ1 x=2 y=1 ℓ1 x=2 y=1 ℓ1 x=2 y=1 z=0 z=0 z=0 . . . . . . . . . simplified TS representation z=3 z=3 z=3 z=1 z=1 z=1 z=0 z=0 z=0 . . . . . . . . .

21 / 444

slide-22
SLIDE 22

Overview

  • verview7.4-stutter-trace

Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation-Tree Logic (CTL) Equivalences and Abstraction bisimulation, CTL/CTL*-equivalence computing the bisimulation quotient abstraction stutter steps stutter LT relations ← − ← − ← − stutter bisimulation simulation relations

22 / 444

slide-23
SLIDE 23

Remind: trace relations

stutter5.4-5-remind

23 / 444

slide-24
SLIDE 24

Remind: trace relations

stutter5.4-5-remind

trace equivalence for paths π1 π1 π1, π2 π2 π2 are trace equivalent iff trace(π1) = trace(π2) trace(π1) = trace(π2) trace(π1) = trace(π2)

24 / 444

slide-25
SLIDE 25

Remind: trace relations

stutter5.4-5-remind

trace equivalence for paths π1 π1 π1, π2 π2 π2 are trace equivalent iff trace(π1) = trace(π2) trace(π1) = trace(π2) trace(π1) = trace(π2) trace inclusion for TS: Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) ∀π1 ∈ Traces(T1) ∀π1 ∈ Traces(T1) ∀π1 ∈ Traces(T1) ∃π2 ∈ Traces(T2) ∃π2 ∈ Traces(T2) ∃π2 ∈ Traces(T2) s.t. π1 π1 π1, π2 π2 π2 are trace equivalent

25 / 444

slide-26
SLIDE 26

Remind: trace relations

stutter5.4-5-remind

trace equivalence for paths π1 π1 π1, π2 π2 π2 are trace equivalent iff trace(π1) = trace(π2) trace(π1) = trace(π2) trace(π1) = trace(π2) trace inclusion for TS: Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) ∀π1 ∈ Traces(T1) ∀π1 ∈ Traces(T1) ∀π1 ∈ Traces(T1) ∃π2 ∈ Traces(T2) ∃π2 ∈ Traces(T2) ∃π2 ∈ Traces(T2) s.t. π1 π1 π1, π2 π2 π2 are trace equivalent trace equivalence for TS: Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) ∧ ∧ ∧ Traces(T2) ⊆ Traces(T1) Traces(T2) ⊆ Traces(T1) Traces(T2) ⊆ Traces(T1)

26 / 444

slide-27
SLIDE 27

Remind: trace relations

stutter5.4-5-remind

trace equivalence for paths π1 π1 π1, π2 π2 π2 are trace equivalent iff trace(π1) = trace(π2) trace(π1) = trace(π2) trace(π1) = trace(π2) trace inclusion for TS: Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) ∀π1 ∈ Traces(T1) ∀π1 ∈ Traces(T1) ∀π1 ∈ Traces(T1) ∃π2 ∈ Traces(T2) ∃π2 ∈ Traces(T2) ∃π2 ∈ Traces(T2) s.t. π1 π1 π1, π2 π2 π2 are trace equivalent trace equivalence for TS: Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) ∧ ∧ ∧ Traces(T2) ⊆ Traces(T1) Traces(T2) ⊆ Traces(T1) Traces(T2) ⊆ Traces(T1) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) iff for each LT property E E E: T2 | = E T2 | = E T2 | = E implies T1 | = E T1 | = E T1 | = E

27 / 444

slide-28
SLIDE 28

Remind: trace relations

stutter5.4-5-remind

trace equivalence for paths π1 π1 π1, π2 π2 π2 are trace equivalent iff trace(π1) = trace(π2) trace(π1) = trace(π2) trace(π1) = trace(π2) trace inclusion for TS: Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) ∀π1 ∈ Traces(T1) ∀π1 ∈ Traces(T1) ∀π1 ∈ Traces(T1) ∃π2 ∈ Traces(T2) ∃π2 ∈ Traces(T2) ∃π2 ∈ Traces(T2) s.t. π1 π1 π1, π2 π2 π2 are trace equivalent trace equivalence for TS: Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) ∧ ∧ ∧ Traces(T2) ⊆ Traces(T1) Traces(T2) ⊆ Traces(T1) Traces(T2) ⊆ Traces(T1) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) iff for each LT property E E E: T2 | = E T2 | = E T2 | = E implies T1 | = E T1 | = E T1 | = E

trace equivalent TS satisfy the same LTL formulas

28 / 444

slide-29
SLIDE 29

Stutter equivalence for paths

stutter5.4-stutter-equiv-paths 29 / 444

slide-30
SLIDE 30

Stutter equivalence for paths

stutter5.4-stutter-equiv-paths

stutter equivalence for infinite path fragments:

30 / 444

slide-31
SLIDE 31

Stutter equivalence for paths

stutter5.4-stutter-equiv-paths

stutter equivalence for infinite path fragments: π1

= π2 π1

= π2 π1

= π2 iff there exists an infinite word A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω s.t. the

traces of π1 π1 π1 and π2 π2 π2 are of the form A0 . . . A0 A1 . . . A1 A2 . . . A2. . . A0 . . . A0 A1 . . . A1 A2 . . . A2. . . A0 . . . A0 A1 . . . A1 A2 . . . A2. . .

31 / 444

slide-32
SLIDE 32

Stutter equivalence for paths

stutter5.4-stutter-equiv-paths

stutter equivalence for infinite path fragments: π1

= π2 π1

= π2 π1

= π2 iff there exists an infinite word A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω s.t. the

traces of π1 π1 π1 and π2 π2 π2 are of the form An0

0 An1 1 An2 2 . . .

An0

0 An1 1 An2 2 . . .

An0

0 An1 1 An2 2 . . .

where n0, n1, n2, . . . n0, n1, n2, . . . n0, n1, n2, . . . are natural numbers ≥ 1 ≥ 1 ≥ 1

32 / 444

slide-33
SLIDE 33

Stutter equivalence for paths

stutter5.4-stutter-equiv-paths

stutter equivalence for infinite path fragments: π1

= π2 π1

= π2 π1

= π2 iff there exists an infinite word A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω s.t. the

traces of π1 π1 π1 and π2 π2 π2 are of the form A0+ A1+ A2+. . . A0+ A1+ A2+. . . A0+ A1+ A2+. . .

33 / 444

slide-34
SLIDE 34

Stutter equivalence for paths

stutter5.4-stutter-equiv-paths

stutter equivalence for infinite path fragments: π1

= π2 π1

= π2 π1

= π2 iff there exists an infinite word A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω s.t. the

traces of π1 π1 π1 and π2 π2 π2 are of the form A0+ A1+ A2+. . . A0+ A1+ A2+. . . A0+ A1+ A2+. . . stutter equivalence for finite path fragments: ˆ π1

= ˆ π2 ˆ π1

= ˆ π2 ˆ π1

= ˆ π2 iff there exists a finite word A0 A1 A2 . . .An ∈

  • 2AP+

A0 A1 A2 . . .An ∈

  • 2AP+

A0 A1 A2 . . .An ∈

  • 2AP+ s.t.

the traces of ˆ π1 ˆ π1 ˆ π1 and ˆ π2 ˆ π2 ˆ π2 are in A0+A1+A2+. . . An+ A0+A1+A2+. . . An+ A0+A1+A2+. . . An+

34 / 444

slide-35
SLIDE 35

Stutter trace relations for TS

stutter5.4-5

stutter equivalence for infinite path fragments: π1

= π2 π1

= π2 π1

= π2 iff there exists an infinite word A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω s.t. the

traces of π1 π1 π1 and π2 π2 π2 are of the form A0+ A1+ A2+. . . A0+ A1+ A2+. . . A0+ A1+ A2+. . .

35 / 444

slide-36
SLIDE 36

Stutter trace relations for TS

stutter5.4-5

stutter equivalence for infinite path fragments: π1

= π2 π1

= π2 π1

= π2 iff there exists an infinite word A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω s.t. the

traces of π1 π1 π1 and π2 π2 π2 are of the form A0+ A1+ A2+. . . A0+ A1+ A2+. . . A0+ A1+ A2+. . . stutter trace inclusion for transition systems: T1 T2 T1 T2 T1 T2 iff for all paths π1 π1 π1 of T1 T1 T1 there exists a path π2 π2 π2 of T2 T2 T2 s.t. π1

= π2 π1

= π2 π1

= π2

36 / 444

slide-37
SLIDE 37

Example: stutter trace inclusion

  • stutter5.4-5-ex

T1 T2 T1 T2 T1 T2 iff ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 = ∅ = ∅ = ∅ = {a} = {a} = {a} = {b} = {b} = {b}

37 / 444

slide-38
SLIDE 38

Example: stutter trace inclusion

  • stutter5.4-5-ex

T1 T2 T1 T2 T1 T2 iff ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2

  • = ∅

= ∅ = ∅ = {a} = {a} = {a} = {b} = {b} = {b}

38 / 444

slide-39
SLIDE 39

Example: stutter trace inclusion

  • stutter5.4-5-ex

T1 T2 T1 T2 T1 T2 iff ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2

  • = ∅

= ∅ = ∅ = {a} = {a} = {a} = {b} = {b} = {b} all traces have the form (∅+{b}+{a}+)ω (∅+{b}+{a}+)ω (∅+{b}+{a}+)ω

  • r (∅+{b}+{a}+)∗∅ω

(∅+{b}+{a}+)∗∅ω (∅+{b}+{a}+)∗∅ω

39 / 444

slide-40
SLIDE 40

Stutter trace inclusion and LTL

stutter5.4-5-LTL

T1 T2 T1 T2 T1 T2 iff ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 Does stutter trace inclusion preserve LTL properties?

40 / 444

slide-41
SLIDE 41

Stutter trace inclusion and LTL

stutter5.4-5-LTL

T1 T2 T1 T2 T1 T2 iff ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 Does stutter trace inclusion preserve LTL properties?

 i.e., for all LTL formulas ϕ ϕ ϕ: T1 T2 T1 T2 T1 T2 ∧ ∧ ∧ T2 | = ϕ T2 | = ϕ T2 | = ϕ implies T1 | = ϕ T1 | = ϕ T1 | = ϕ

41 / 444

slide-42
SLIDE 42

Stutter trace inclusion and LTL

stutter5.4-5-LTL

T1 T2 T1 T2 T1 T2 iff ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 Does stutter trace inclusion preserve LTL properties?

 i.e., for all LTL formulas ϕ ϕ ϕ: T1 T2 T1 T2 T1 T2 ∧ ∧ ∧ T2 | = ϕ T2 | = ϕ T2 | = ϕ implies T1 | = ϕ T1 | = ϕ T1 | = ϕ answer: no

42 / 444

slide-43
SLIDE 43

Stutter trace inclusion and LTL

stutter5.4-5-LTL

T1 T2 T1 T2 T1 T2 iff ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 Does stutter trace inclusion preserve LTL properties?

 i.e., for all LTL formulas ϕ ϕ ϕ: T1 T2 T1 T2 T1 T2 ∧ ∧ ∧ T2 | = ϕ T2 | = ϕ T2 | = ϕ implies T1 | = ϕ T1 | = ϕ T1 | = ϕ answer: no Example: LTL formulas of the form a a a

43 / 444

slide-44
SLIDE 44

Stutter trace inclusion and LTL\

\ \

stutter5.4-5-thm

T1 T2 T1 T2 T1 T2 iff ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 Let T1 T1 T1 and T2 T2 T2 are TS without terminal states and ϕ ϕ ϕ an LTL\

\ \ formula. Then:

T1 T2 T1 T2 T1 T2 ∧ ∧ ∧ T2 | = ϕ T2 | = ϕ T2 | = ϕ implies T1 | = ϕ T1 | = ϕ T1 | = ϕ

44 / 444

slide-45
SLIDE 45

Stutter trace inclusion and LTL\

\ \

stutter5.4-5-thm

T1 T2 T1 T2 T1 T2 iff ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 Let T1 T1 T1 and T2 T2 T2 are TS without terminal states and ϕ ϕ ϕ an LTL\

\ \ formula. Then:

T1 T2 T1 T2 T1 T2 ∧ ∧ ∧ T2 | = ϕ T2 | = ϕ T2 | = ϕ implies T1 | = ϕ T1 | = ϕ T1 | = ϕ where LTL\

\ \ =

= = LTL without the next operator

  • 45 / 444
slide-46
SLIDE 46

Stutter trace equivalence

=

=

= for TS

stutter5.4-5a

46 / 444

slide-47
SLIDE 47

Stutter trace equivalence

=

=

= for TS

stutter5.4-5a

stutter trace inclusion T1 T2 T1 T2 T1 T2 ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2

47 / 444

slide-48
SLIDE 48

Stutter trace equivalence

=

=

= for TS

stutter5.4-5a

stutter trace inclusion T1 T2 T1 T2 T1 T2 ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 stutter trace equivalence T1

= T2 T1

= T2 T1

= T2 iff T1 T2 T1 T2 T1 T2 and T2 T1 T2 T1 T2 T1

48 / 444

slide-49
SLIDE 49

Stutter trace equivalence

=

=

= for TS

stutter5.4-5a

stutter trace inclusion T1 T2 T1 T2 T1 T2 ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 stutter trace equivalence T1

= T2 T1

= T2 T1

= T2 iff T1 T2 T1 T2 T1 T2 and T2 T1 T2 T1 T2 T1

kernel of

  • , i.e.,

coarsest equivalence that refines

  • 49 / 444
slide-50
SLIDE 50

Stutter trace equivalence

=

=

= for TS

stutter5.4-5a

stutter trace inclusion T1 T2 T1 T2 T1 T2 ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 For all LTL\

\ \ formulas ϕ

ϕ ϕ: T1 T2 T1 T2 T1 T2 ∧ ∧ ∧ T2 | = ϕ T2 | = ϕ T2 | = ϕ implies T1 | = ϕ T1 | = ϕ T1 | = ϕ stutter trace equivalence T1

= T2 T1

= T2 T1

= T2 iff T1 T2 T1 T2 T1 T2 and T2 T1 T2 T1 T2 T1

kernel of

  • , i.e.,

coarsest equivalence that refines

  • 50 / 444
slide-51
SLIDE 51

Stutter trace equivalence

=

=

= for TS

stutter5.4-5a

stutter trace inclusion T1 T2 T1 T2 T1 T2 ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 For all LTL\

\ \ formulas ϕ

ϕ ϕ: T1 T2 T1 T2 T1 T2 ∧ ∧ ∧ T2 | = ϕ T2 | = ϕ T2 | = ϕ implies T1 | = ϕ T1 | = ϕ T1 | = ϕ stutter trace equivalence T1

= T2 T1

= T2 T1

= T2 iff T1 T2 T1 T2 T1 T2 and T2 T1 T2 T1 T2 T1 If T1

= T2 T1

= T2 T1

= T2 then T1 T1 T1 and T2 T2 T2 are LTL\

\ \ equivalent.

51 / 444

slide-52
SLIDE 52

Correct or wrong?

stutter5.4-13a

=

=

=

52 / 444

slide-53
SLIDE 53

Correct or wrong?

stutter5.4-13a

correct

=

=

=

53 / 444

slide-54
SLIDE 54

Correct or wrong?

stutter5.4-13a

correct

=

=

= The traces of T1 T1 T1 and T2 T2 T2 have the form •+

+ +•+ + + or •ω ω ω

54 / 444

slide-55
SLIDE 55

Correct or wrong?

stutter5.4-13a

correct

=

=

= The traces of T1 T1 T1 and T2 T2 T2 have the form •+

+ +•+ + + or •ω ω ω

=

=

=

55 / 444

slide-56
SLIDE 56

Correct or wrong?

stutter5.4-13a

correct

=

=

= The traces of T1 T1 T1 and T2 T2 T2 have the form •+

+ +•+ + + or •ω ω ω

wrong

=

=

=

56 / 444

slide-57
SLIDE 57

Correct or wrong?

stutter5.4-13a

correct

=

=

= The traces of T1 T1 T1 and T2 T2 T2 have the form •+

+ +•+ + + or •ω ω ω

wrong

=

=

= T1 T1 T1 has a finite trace •+

+ +•, while T2

T2 T2 has not

57 / 444

slide-58
SLIDE 58

Correct or wrong?

stutter5.4-13b

If T1 T1 T1 and T2 T2 T2 are TS over AP AP AP then: T1 ∼ T2 T1 ∼ T2 T1 ∼ T2 implies T1

= T2 T1

= T2 T1

= T2

58 / 444

slide-59
SLIDE 59

Correct or wrong?

stutter5.4-13b

If T1 T1 T1 and T2 T2 T2 are TS over AP AP AP then: T1 ∼ T2 T1 ∼ T2 T1 ∼ T2 implies T1

= T2 T1

= T2 T1

= T2

ր ր ր

bisimulation equivalence

տ տ տ

stutter trace equivalence

59 / 444

slide-60
SLIDE 60

Correct or wrong?

stutter5.4-13b

If T1 T1 T1 and T2 T2 T2 are TS over AP AP AP then: T1 ∼ T2 T1 ∼ T2 T1 ∼ T2 implies T1

= T2 T1

= T2 T1

= T2

ր ր ր

bisimulation equivalence

տ տ տ

stutter trace equivalence correct

60 / 444

slide-61
SLIDE 61

Correct or wrong?

stutter5.4-13b

If T1 T1 T1 and T2 T2 T2 are TS over AP AP AP then: T1 ∼ T2 T1 ∼ T2 T1 ∼ T2 implies T1

= T2 T1

= T2 T1

= T2

ր ր ր

bisimulation equivalence

տ տ տ

stutter trace equivalence correct, as

  • T1 ∼ T2

T1 ∼ T2 T1 ∼ T2 implies Traces(T1) = Traces(T2) Traces(T1) = Traces(T2) Traces(T1) = Traces(T2)

  • trace equivalent paths are stutter trace equivalent

61 / 444

slide-62
SLIDE 62

Correct or wrong?

stutter5.4-13b

If T1 T1 T1 and T2 T2 T2 are TS over AP AP AP then: T1 ∼ T2 T1 ∼ T2 T1 ∼ T2 implies T1

= T2 T1

= T2 T1

= T2

ր ր ր

bisimulation equivalence

տ տ տ

stutter trace equivalence correct, as

  • T1 ∼ T2

T1 ∼ T2 T1 ∼ T2 implies Traces(T1) = Traces(T2) Traces(T1) = Traces(T2) Traces(T1) = Traces(T2)

  • trace equivalent paths are stutter trace equivalent
  • bviously: Traces(T1) ⊆ Traces(T2)

Traces(T1) ⊆ Traces(T2) Traces(T1) ⊆ Traces(T2) implies T1 T2 T1 T2 T1 T2

62 / 444

slide-63
SLIDE 63

Stutter-insensitive LT properties

stutter5.4-st-ins-prop

63 / 444

slide-64
SLIDE 64

Stutter-insensitive LT properties

stutter5.4-st-ins-prop

stutter equivalence for infinite words

64 / 444

slide-65
SLIDE 65

Stutter-insensitive LT properties

stutter5.4-st-ins-prop

stutter equivalence for infinite words σ1 σ1 σ1, σ2 ∈

  • 2APω

σ2 ∈

  • 2APω

σ2 ∈

  • 2APω:

65 / 444

slide-66
SLIDE 66

Stutter-insensitive LT properties

stutter5.4-st-ins-prop

stutter equivalence for infinite words σ1 σ1 σ1, σ2 ∈

  • 2APω

σ2 ∈

  • 2APω

σ2 ∈

  • 2APω:

σ1

= σ2 σ1

= σ2 σ1

= σ2 iff there exists an infinite word A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω s.t. σ1

σ1 σ1 and σ2 σ2 σ2 are in A0+A1+A2+. . . A0+A1+A2+. . . A0+A1+A2+. . .

66 / 444

slide-67
SLIDE 67

Stutter-insensitive LT properties

stutter5.4-st-ins-prop

stutter equivalence for infinite words σ1 σ1 σ1, σ2 ∈

  • 2APω

σ2 ∈

  • 2APω

σ2 ∈

  • 2APω:

σ1

= σ2 σ1

= σ2 σ1

= σ2 iff there exists an infinite word A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω s.t. σ1

σ1 σ1 and σ2 σ2 σ2 are in A0+A1+A2+. . . A0+A1+A2+. . . A0+A1+A2+. . . Let E ⊆

  • 2APω

E ⊆

  • 2APω

E ⊆

  • 2APω be an LT property. E

E E is called stutter-insensitive iff for all σ1 σ1 σ1, σ2 ∈

  • 2APω

σ2 ∈

  • 2APω

σ2 ∈

  • 2APω:

if σ1 ∈ E σ1 ∈ E σ1 ∈ E and σ1

= σ2 σ1

= σ2 σ1

= σ2 then σ2 ∈ E σ2 ∈ E σ2 ∈ E

67 / 444

slide-68
SLIDE 68

Stutter-insensitive LT properties

stutter5.4-st-ins-prop

stutter equivalence for infinite words σ1 σ1 σ1, σ2 ∈

  • 2APω

σ2 ∈

  • 2APω

σ2 ∈

  • 2APω:

σ1

= σ2 σ1

= σ2 σ1

= σ2 iff there exists an infinite word A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω

A0 A1 A2 . . . ∈

  • 2APω s.t. σ1

σ1 σ1 and σ2 σ2 σ2 are in A0+A1+A2+. . . A0+A1+A2+. . . A0+A1+A2+. . . Let E ⊆

  • 2APω

E ⊆

  • 2APω

E ⊆

  • 2APω be an LT property. E

E E is called stutter-insensitive iff for all σ1 σ1 σ1, σ2 ∈

  • 2APω

σ2 ∈

  • 2APω

σ2 ∈

  • 2APω:

if σ1 ∈ E σ1 ∈ E σ1 ∈ E and σ1

= σ2 σ1

= σ2 σ1

= σ2 then σ2 ∈ E σ2 ∈ E σ2 ∈ E Example: if ϕ ϕ ϕ is an LTL\

\ \ formula then

E = Words(ϕ) E = Words(ϕ) E = Words(ϕ) is stutter-insensitive

68 / 444

slide-69
SLIDE 69

Stutter-insensitive LT properties

stutter5.4-st-ins-prop

Let T1 T1 T1, T2 T2 T2 be two TS and E E E a stutter-insensitive LT-property. Then: T1 T2 T1 T2 T1 T2 and T2 | = E T2 | = E T2 | = E implies T1 | = E T1 | = E T1 | = E

69 / 444

slide-70
SLIDE 70

Stutter-insensitive LT properties

stutter5.4-st-ins-prop

Let T1 T1 T1, T2 T2 T2 be two TS and E E E a stutter-insensitive LT-property. Then: T1 T2 T1 T2 T1 T2 and T2 | = E T2 | = E T2 | = E implies T1 | = E T1 | = E T1 | = E Let T1 T1 T1, T2 T2 T2 be two TS and ϕ ϕ ϕ an LTL\

\ \ formula.

T1 T2 T1 T2 T1 T2 and T2 | = ϕ T2 | = ϕ T2 | = ϕ implies T1 | = ϕ T1 | = ϕ T1 | = ϕ

70 / 444

slide-71
SLIDE 71

Stutter-insensitive LT properties

stutter5.4-st-ins-prop

Let T1 T1 T1, T2 T2 T2 be two TS and E E E a stutter-insensitive LT-property. Then: T1 T2 T1 T2 T1 T2 and T2 | = E T2 | = E T2 | = E implies T1 | = E T1 | = E T1 | = E Let T1 T1 T1, T2 T2 T2 be two TS and ϕ ϕ ϕ an LTL\

\ \ formula.

T1 T2 T1 T2 T1 T2 and T2 | = ϕ T2 | = ϕ T2 | = ϕ implies T1 | = ϕ T1 | = ϕ T1 | = ϕ remind: if ϕ ϕ ϕ is an LTL\

\ \ formula then

E = Words(ϕ) E = Words(ϕ) E = Words(ϕ) is stutter-insensitive

71 / 444

slide-72
SLIDE 72

Overview

  • verview7.4a

Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation-Tree Logic (CTL) Equivalences and Abstraction bisimulation, CTL/CTL*-equivalence computing the bisimulation quotient abstraction stutter steps stutter LT relations stutter bisimulation ← − ← − ← − simulation relations

72 / 444

slide-73
SLIDE 73

Stutter bisimulation

stutter5.4-def-stutter-bis

73 / 444

slide-74
SLIDE 74

Stutter bisimulation

stutter5.4-def-stutter-bis

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS, possibly with terminal states.

74 / 444

slide-75
SLIDE 75

Stutter bisimulation

stutter5.4-def-stutter-bis

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS, possibly with terminal states. A stutter bisimulation for T T T is ....

75 / 444

slide-76
SLIDE 76

Stutter bisimulation

stutter5.4-def-stutter-bis

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS, possibly with terminal states. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S s.t.

76 / 444

slide-77
SLIDE 77

Stutter bisimulation

stutter5.4-def-stutter-bis

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS, possibly with terminal states. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S s.t. for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: (1) labeling condition (2) simulation condition up to stuttering “s2 s2 s2 can mimick all transitions of of s1 s1 s1” (3) simulation condition up to stuttering “s1 s1 s1 can mimick all transitions of of s2 s2 s2”

77 / 444

slide-78
SLIDE 78

Stutter bisimulation

stutter5.4-def-stutter-bis

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS, possibly with terminal states. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S s.t. for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: (1) labeling condition: L(s1) = L(s2) L(s1) = L(s2) L(s1) = L(s2) (2) simulation condition up to stuttering “s2 s2 s2 can mimick all transitions of of s1 s1 s1” (3) simulation condition up to stuttering “s1 s1 s1 can mimick all transitions of of s2 s2 s2”

78 / 444

slide-79
SLIDE 79

Stutter bisimulation

stutter5.4-def-stutter-bis

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS, possibly with terminal states. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S s.t. for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: (1) labeling condition: L(s1) = L(s2) L(s1) = L(s2) L(s1) = L(s2) (2) simulation condition up to stuttering “s2 s2 s2 can mimick all transitions of of s1 s1 s1” (3) simulation condition up to stuttering “s1 s1 s1 can mimick all transitions of of s2 s2 s2”

79 / 444

slide-80
SLIDE 80

Simulation condition

stutter5.4-def-stutter-bis

A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S s.t. for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: . . . . . . . . . . . . . . . . . . (2) simulation condition up to stuttering s1 s1 s1 -R R R- s2 s2 s2 s′

1

s′

1

s′

1

80 / 444

slide-81
SLIDE 81

Simulation condition

stutter5.4-def-stutter-bis

A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S s.t. for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: . . . . . . . . . . . . . . . . . . (2) simulation condition up to stuttering s1 s1 s1 -R R R- s2 s2 s2 s′

1

s′

1

s′

1

with (s′

1, s2) /

∈ R (s′

1, s2) /

∈ R (s′

1, s2) /

∈ R

81 / 444

slide-82
SLIDE 82

Simulation condition

stutter5.4-def-stutter-bis

A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S s.t. for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: . . . . . . . . . . . . . . . . . . (2) simulation condition up to stuttering s1 s1 s1 -R R R- s2 s2 s2 s′

1

s′

1

s′

1

with (s′

1, s2) /

∈ R (s′

1, s2) /

∈ R (s′

1, s2) /

∈ R can be completed to s1 s1 s1 -R R R- s2 s2 s2 s′

1

s′

1

s′

1

u1 u1 u1 . . . . . . . . . un un un s′

2

s′

2

s′

2

  • R

R R-

82 / 444

slide-83
SLIDE 83

Simulation condition

stutter5.4-def-stutter-bis

A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S s.t. for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: . . . . . . . . . . . . . . . . . . (2) simulation condition up to stuttering s1 s1 s1 -R R R- s2 s2 s2 s′

1

s′

1

s′

1

with (s′

1, s2) /

∈ R (s′

1, s2) /

∈ R (s′

1, s2) /

∈ R can be completed to s1 s1 s1 -R R R- s2 s2 s2 s′

1

s′

1

s′

1

u1 u1 u1 . . . . . . . . . un un un s′

2

s′

2

s′

2

  • R

R R- s1 -R- ui s1 -R- ui s1 -R- ui

83 / 444

slide-84
SLIDE 84

Stutter bisimulation for a TS

stutter5.4-stbis

Let T T T be a transition system wih state space S S S. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S such that for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: (1) L(s1) = L(s2) L(s1) = L(s2) L(s1) = L(s2) (2) for each transition s1 → s′

1

s1 → s′

1

s1 → s′

1 with (s′ 1, s2) /

∈ R (s′

1, s2) /

∈ R (s′

1, s2) /

∈ R there exists a path fragment s2 u1 u2 . . . un s′

2

s2 u1 u2 . . . un s′

2

s2 u1 u2 . . . un s′

2

s.t. . . . . . . . . . (3) . . . . . . . . .

84 / 444

slide-85
SLIDE 85

Stutter bisimulation for a TS

stutter5.4-stbis

Let T T T be a transition system wih state space S S S. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S such that for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: (1) L(s1) = L(s2) L(s1) = L(s2) L(s1) = L(s2) (2) for each transition s1 → s′

1

s1 → s′

1

s1 → s′

1 with (s′ 1, s2) /

∈ R (s′

1, s2) /

∈ R (s′

1, s2) /

∈ R there exists a path fragment s2 u1 u2 . . . un s′

2

s2 u1 u2 . . . un s′

2

s2 u1 u2 . . . un s′

2

s.t. n ≥ 0 n ≥ 0 n ≥ 0 and (s1, ui) ∈ R (s1, ui) ∈ R (s1, ui) ∈ R for 1 ≤ i ≤ n 1 ≤ i ≤ n 1 ≤ i ≤ n (3) . . . . . . . . .

85 / 444

slide-86
SLIDE 86

Stutter bisimulation for a TS

stutter5.4-stbis

Let T T T be a transition system wih state space S S S. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S such that for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: (1) L(s1) = L(s2) L(s1) = L(s2) L(s1) = L(s2) (2) for each transition s1 → s′

1

s1 → s′

1

s1 → s′

1 with (s′ 1, s2) /

∈ R (s′

1, s2) /

∈ R (s′

1, s2) /

∈ R there exists a path fragment s2 u1 u2 . . . un s′

2

s2 u1 u2 . . . un s′

2

s2 u1 u2 . . . un s′

2

s.t. n ≥ 0 n ≥ 0 n ≥ 0 and (s1, ui) ∈ R (s1, ui) ∈ R (s1, ui) ∈ R for 1 ≤ i ≤ n 1 ≤ i ≤ n 1 ≤ i ≤ n (3) symmetric condition

86 / 444

slide-87
SLIDE 87

Stutter bisimulation for a TS

stutter5.4-stbis

Let T T T be a transition system wih state space S S S. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S such that for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: (1) L(s1) = L(s2) L(s1) = L(s2) L(s1) = L(s2) (2) for each transition s1 → s′

1

s1 → s′

1

s1 → s′

1 with (s′ 1, s2) /

∈ R (s′

1, s2) /

∈ R (s′

1, s2) /

∈ R there exists a path fragment s2 u1 u2 . . . un s′

2

s2 u1 u2 . . . un s′

2

s2 u1 u2 . . . un s′

2

s.t. n ≥ 0 n ≥ 0 n ≥ 0 and (s1, ui) ∈ R (s1, ui) ∈ R (s1, ui) ∈ R for 1 ≤ i ≤ n 1 ≤ i ≤ n 1 ≤ i ≤ n (3) for each transition s2 → s′

2

s2 → s′

2

s2 → s′

2 with (s1, s′ 2) /

∈ R (s1, s′

2) /

∈ R (s1, s′

2) /

∈ R there exists a path fragment s1 v1 v2 . . . vn s′

1

s1 v1 v2 . . . vn s′

1

s1 v1 v2 . . . vn s′

1

s.t. n ≥ 0 n ≥ 0 n ≥ 0 and (vi, s2) ∈ R (vi, s2) ∈ R (vi, s2) ∈ R for 1 ≤ i ≤ n 1 ≤ i ≤ n 1 ≤ i ≤ n

87 / 444

slide-88
SLIDE 88

Stutter bisimulation equivalence ≈T ≈T ≈T

stutter5.4-def-approx

88 / 444

slide-89
SLIDE 89

Stutter bisimulation equivalence ≈T ≈T ≈T

stutter5.4-def-approx

Let T T T be a transition system wih state space S S S. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S such that for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: (1) labeling condition (2) and (3) mutual simulation condition

89 / 444

slide-90
SLIDE 90

Stutter bisimulation equivalence ≈T ≈T ≈T

stutter5.4-def-approx

Let T T T be a transition system wih state space S S S. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S such that for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: (1) labeling condition (2) and (3) mutual simulation condition stutter bisimulation equivalence ≈T ≈T ≈T :

90 / 444

slide-91
SLIDE 91

Stutter bisimulation equivalence ≈T ≈T ≈T

stutter5.4-def-approx

Let T T T be a transition system wih state space S S S. A stutter bisimulation for T T T is a binary relation R R R

  • n S

S S such that for all (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R: (1) labeling condition (2) and (3) mutual simulation condition stutter bisimulation equivalence ≈T ≈T ≈T : s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 iff there exists a stutter bisimulation R R R for T T T s.t. (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R

91 / 444

slide-92
SLIDE 92

≈T ≈T ≈T is an equivalence

stutter5.4-10

92 / 444

slide-93
SLIDE 93

≈T ≈T ≈T is an equivalence

stutter5.4-10

symmetry: if s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 then s2 ≈T s1 s2 ≈T s1 s2 ≈T s1

93 / 444

slide-94
SLIDE 94

≈T ≈T ≈T is an equivalence

stutter5.4-10

symmetry: if s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 then s2 ≈T s1 s2 ≈T s1 s2 ≈T s1 proof: if R R R is a stutter bisimulation with (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R then R−1 =

  • (t2, t1) : (t1, t2) ∈ R
  • R−1 =
  • (t2, t1) : (t1, t2) ∈ R
  • R−1 =
  • (t2, t1) : (t1, t2) ∈ R
  • is a stutter bisimulation that contains (s2, s1)

(s2, s1) (s2, s1).

94 / 444

slide-95
SLIDE 95

≈T ≈T ≈T is an equivalence

stutter5.4-10

symmetry: if s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 then s2 ≈T s1 s2 ≈T s1 s2 ≈T s1 reflexivity: s ≈T s s ≈T s s ≈T s for all states s s s

95 / 444

slide-96
SLIDE 96

≈T ≈T ≈T is an equivalence

stutter5.4-10

symmetry: if s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 then s2 ≈T s1 s2 ≈T s1 s2 ≈T s1 reflexivity: s ≈T s s ≈T s s ≈T s for all states s s s proof: R =

  • (s, s) : s ∈ S
  • R =
  • (s, s) : s ∈ S
  • R =
  • (s, s) : s ∈ S
  • is a stutter bisimulation

96 / 444

slide-97
SLIDE 97

≈T ≈T ≈T is an equivalence

stutter5.4-10

symmetry: if s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 then s2 ≈T s1 s2 ≈T s1 s2 ≈T s1 reflexivity: s ≈T s s ≈T s s ≈T s for all states s s s transitivity: s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 and s2 ≈T s3 s2 ≈T s3 s2 ≈T s3 implies s1 ≈T s3 s1 ≈T s3 s1 ≈T s3

97 / 444

slide-98
SLIDE 98

≈T ≈T ≈T is an equivalence

stutter5.4-10

symmetry: if s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 then s2 ≈T s1 s2 ≈T s1 s2 ≈T s1 reflexivity: s ≈T s s ≈T s s ≈T s for all states s s s transitivity: s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 and s2 ≈T s3 s2 ≈T s3 s2 ≈T s3 implies s1 ≈T s3 s1 ≈T s3 s1 ≈T s3 Proof: Let R1,2 R1,2 R1,2 and R2,3 R2,3 R2,3 be stutter bisimulations s.t. (s1, s2) ∈ R1,2, (s2, s3) ∈ R2,3 (s1, s2) ∈ R1,2, (s2, s3) ∈ R2,3 (s1, s2) ∈ R1,2, (s2, s3) ∈ R2,3 Show that R = R1,2 ◦ R2,3 R = R1,2 ◦ R2,3 R = R1,2 ◦ R2,3 is a stutter bisimulation.

98 / 444

slide-99
SLIDE 99

s1 s1 s1 s′

1

s′

1

s′

1

R1,2 R1,2 R1,2 s2 s2 s2 R2,3 R2,3 R2,3 s3 s3 s3

99 / 444

slide-100
SLIDE 100

s1 s1 s1 s′

1

s′

1

s′

1

R1,2 R1,2 R1,2 R1,2 R1,2 R1,2 s2 s2 s2 u1 u1 u1 . . . . . . . . . uj−1 uj−1 uj−1 uj uj uj . . . . . . . . . uk−1 uk−1 uk−1 uk uk uk . . . . . . . . . um um um s′

2

s′

2

s′

2

R2,3 R2,3 R2,3 s3 s3 s3

100 / 444

slide-101
SLIDE 101

s1 s1 s1 s′

1

s′

1

s′

1

R1,2 R1,2 R1,2 R1,2 R1,2 R1,2 s2 s2 s2 u1 u1 u1 . . . . . . . . . uj−1 uj−1 uj−1 uj uj uj . . . . . . . . . uk−1 uk−1 uk−1 uk uk uk . . . . . . . . . um um um s′

2

s′

2

s′

2

R2,3 R2,3 R2,3 s3 s3 s3

101 / 444

slide-102
SLIDE 102

s1 s1 s1 s′

1

s′

1

s′

1

R1,2 R1,2 R1,2 R1,2 R1,2 R1,2 s2 s2 s2 u1 u1 u1 . . . . . . . . . uj−1 uj−1 uj−1 uj uj uj . . . . . . . . . uk−1 uk−1 uk−1 uk uk uk . . . . . . . . . um um um s′

2

s′

2

s′

2

R2,3 R2,3 R2,3 s3 s3 s3

102 / 444

slide-103
SLIDE 103

s1 s1 s1 s′

1

s′

1

s′

1

R1,2 R1,2 R1,2 R1,2 R1,2 R1,2 s2 s2 s2 u1 u1 u1 . . . . . . . . . uj−1 uj−1 uj−1 uj uj uj . . . . . . . . . uk−1 uk−1 uk−1 uk uk uk . . . . . . . . . um um um s′

2

s′

2

s′

2

R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 s3 s3 s3 . . . . . . . . . vℓ−1 vℓ−1 vℓ−1 vℓ vℓ vℓ

103 / 444

slide-104
SLIDE 104

s1 s1 s1 s′

1

s′

1

s′

1

R1,2 R1,2 R1,2 R1,2 R1,2 R1,2 s2 s2 s2 u1 u1 u1 . . . . . . . . . uj−1 uj−1 uj−1 uj uj uj . . . . . . . . . uk−1 uk−1 uk−1 uk uk uk . . . . . . . . . um um um s′

2

s′

2

s′

2

R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 s3 s3 s3 . . . . . . . . . vℓ−1 vℓ−1 vℓ−1 vℓ vℓ vℓ . . . . . . . . . vr−1 vr−1 vr−1 vr vr vr

104 / 444

slide-105
SLIDE 105

s1 s1 s1 s′

1

s′

1

s′

1

R1,2 R1,2 R1,2 R1,2 R1,2 R1,2 s2 s2 s2 u1 u1 u1 . . . . . . . . . uj−1 uj−1 uj−1 uj uj uj . . . . . . . . . uk−1 uk−1 uk−1 uk uk uk . . . . . . . . . um um um s′

2

s′

2

s′

2

R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 R2,3 s3 s3 s3 . . . . . . . . . vℓ−1 vℓ−1 vℓ−1 vℓ vℓ vℓ . . . . . . . . . vr−1 vr−1 vr−1 vr vr vr . . . . . . . . . vn vn vn s′

3

s′

3

s′

3

105 / 444

slide-106
SLIDE 106

Stutter bisimulation equivalence

stutter5.4-9

≈T ≈T ≈T is an equivalence on state space S S S of T T T such that for all states s1 s1 s1, s2 s2 s2 with s1 ≈T s2 s1 ≈T s2 s1 ≈T s2: (1) L(s1) = L(s2) L(s1) = L(s2) L(s1) = L(s2) (2) simulation condition up to stuttering s1 s1 s1 ≈T ≈T ≈T s2 s2 s2 s′

1

s′

1

s′

1

with s′

1 ≈T s2

s′

1 ≈T s2

s′

1 ≈T s2

s1 s1 s1 ≈T ≈T ≈T s2 s2 s2 s′

1

s′

1

s′

1

u1 u1 u1 . . . . . . . . . un un un s′

2

s′

2

s′

2

≈T ≈T ≈T can be completed to ui ≈T s2 ui ≈T s2 ui ≈T s2

106 / 444

slide-107
SLIDE 107

Stutter bisimulation equivalence

stutter5.4-9

≈T ≈T ≈T is the coarsest equivalence on state space S S S of T T T such that for all states s1 s1 s1, s2 s2 s2 with s1 ≈T s2 s1 ≈T s2 s1 ≈T s2: (1) L(s1) = L(s2) L(s1) = L(s2) L(s1) = L(s2) (2) simulation condition up to stuttering s1 s1 s1 ≈T ≈T ≈T s2 s2 s2 s′

1

s′

1

s′

1

with s′

1 ≈T s2

s′

1 ≈T s2

s′

1 ≈T s2

s1 s1 s1 ≈T ≈T ≈T s2 s2 s2 s′

1

s′

1

s′

1

u1 u1 u1 . . . . . . . . . un un un s′

2

s′

2

s′

2

≈T ≈T ≈T can be completed to ui ≈T s2 ui ≈T s2 ui ≈T s2

107 / 444

slide-108
SLIDE 108

Example: mutual exclusion with semaphore

stutter5.4-6

AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2} nc1 nc2 y=1 wait1 nc2 y=1 nc1 wait2 y=1 crit1 crit1 crit1 nc2 y=0 wait1 wait2 y=1 nc1 crit2 crit2 crit2 y=0 crit1 crit1 crit1 wait2 y=0 wait1 crit2 crit2 crit2 y=0

108 / 444

slide-109
SLIDE 109

Example: mutual exclusion with semaphore

stutter5.4-6

AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2} nc1 nc2 y=1 wait1 nc2 y=1 nc1 wait2 y=1 crit1 crit1 crit1 nc2 y=0 wait1 wait2 y=1 nc1 crit2 crit2 crit2 y=0 crit1 crit1 crit1 wait2 y=0 wait1 crit2 crit2 crit2 y=0

109 / 444

slide-110
SLIDE 110

Example: mutual exclusion with semaphore

stutter5.4-6

AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2} nc1 nc2 y=1 wait1 nc2 y=1 nc1 wait2 y=1 crit1 crit1 crit1 nc2 y=0 wait1 wait2 y=1 nc1 crit2 crit2 crit2 y=0 crit1 crit1 crit1 wait2 y=0 wait1 crit2 crit2 crit2 y=0 stutter bisimulation with three equivalence classes

110 / 444

slide-111
SLIDE 111

Peterson algorithm

stutter5.4-7

protocol for P1 P1 P1 LOOP FOREVER noncritical section b1 := true b1 := true b1 := true; x := 2 x := 2 x := 2 AWAIT (x=1) ∨ ¬b2 (x=1) ∨ ¬b2 (x=1) ∨ ¬b2 critical section b1 := false b1 := false b1 := false END LOOP

111 / 444

slide-112
SLIDE 112

Peterson algorithm

stutter5.4-7

protocol for P1 P1 P1 LOOP FOREVER noncritical section b1 := true b1 := true b1 := true; x := 2 x := 2 x := 2 AWAIT (x=1) ∨ ¬b2 (x=1) ∨ ¬b2 (x=1) ∨ ¬b2 critical section b1 := false b1 := false b1 := false END LOOP noncrit1 wait1 crit1 b1 := true b1 := true b1 := true (x=1) ∨ ¬b2 (x=1) ∨ ¬b2 (x=1) ∨ ¬b2 b1 := false b1 := false b1 := false x := 2 x := 2 x := 2

112 / 444

slide-113
SLIDE 113

Peterson algorithm

stutter5.4-7

protocol for P1 P1 P1 LOOP FOREVER noncritical section b1 := true b1 := true b1 := true; x := 2 x := 2 x := 2 AWAIT (x=1) ∨ ¬b2 (x=1) ∨ ¬b2 (x=1) ∨ ¬b2 critical section b1 := false b1 := false b1 := false END LOOP protocol for P2 P2 P2 LOOP FOREVER noncritical section b2 := true b2 := true b2 := true; x := 1 x := 1 x := 1 AWAIT (x=2) ∨ ¬b1 (x=2) ∨ ¬b1 (x=2) ∨ ¬b1 critical section b2 := false b2 := false b2 := false END LOOP noncrit1 wait1 crit1 b1 := true b1 := true b1 := true (x=1) ∨ ¬b2 (x=1) ∨ ¬b2 (x=1) ∨ ¬b2 b1 := false b1 := false b1 := false x := 2 x := 2 x := 2

113 / 444

slide-114
SLIDE 114

TS for the Peterson algorithm

stutter5.4-8

n1 n1 n1 n2 n2 n2 x=1 x=1 x=1 n1 n1 n1 n2 n2 n2 x=2 x=2 x=2 w1 w1 w1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 w2 w2 w2 x=1 x=1 x=1 c1 c1 c1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 c2 c2 c2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=2 x=2 x=2 c1 c1 c1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 c2 c2 c2 x=2 x=2 x=2 AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2}

114 / 444

slide-115
SLIDE 115

TS for the Peterson algorithm

stutter5.4-8

n1 n1 n1 n2 n2 n2 x=1 x=1 x=1 n1 n1 n1 n2 n2 n2 x=2 x=2 x=2 w1 w1 w1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 w2 w2 w2 x=1 x=1 x=1 c1 c1 c1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 c2 c2 c2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=2 x=2 x=2 c1 c1 c1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 c2 c2 c2 x=2 x=2 x=2 AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2}

115 / 444

slide-116
SLIDE 116

TS for the Peterson algorithm

stutter5.4-8

n1 n1 n1 n2 n2 n2 x=1 x=1 x=1 n1 n1 n1 n2 n2 n2 x=2 x=2 x=2 w1 w1 w1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 w2 w2 w2 x=1 x=1 x=1 c1 c1 c1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 c2 c2 c2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=2 x=2 x=2 c1 c1 c1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 c2 c2 c2 x=2 x=2 x=2 AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2}

116 / 444

slide-117
SLIDE 117

TS for the Peterson algorithm

stutter5.4-8

n1 n1 n1 n2 n2 n2 x=1 x=1 x=1 n1 n1 n1 n2 n2 n2 x=2 x=2 x=2 w1 w1 w1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 w2 w2 w2 x=1 x=1 x=1 c1 c1 c1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 c2 c2 c2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=2 x=2 x=2 c1 c1 c1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 c2 c2 c2 x=2 x=2 x=2 AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2}

117 / 444

slide-118
SLIDE 118

TS for the Peterson algorithm

stutter5.4-8

n1 n1 n1 n2 n2 n2 x=1 x=1 x=1 n1 n1 n1 n2 n2 n2 x=2 x=2 x=2 w1 w1 w1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 w2 w2 w2 x=1 x=1 x=1 c1 c1 c1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 c2 c2 c2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=2 x=2 x=2 c1 c1 c1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 c2 c2 c2 x=2 x=2 x=2 AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2}

118 / 444

slide-119
SLIDE 119

TS for the Peterson algorithm

stutter5.4-8

n1 n1 n1 n2 n2 n2 x=1 x=1 x=1 n1 n1 n1 n2 n2 n2 x=2 x=2 x=2 w1 w1 w1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 w2 w2 w2 x=1 x=1 x=1 c1 c1 c1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 c2 c2 c2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=2 x=2 x=2 c1 c1 c1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 c2 c2 c2 x=2 x=2 x=2 AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2}

119 / 444

slide-120
SLIDE 120

TS for the Peterson algorithm

stutter5.4-8

n1 n1 n1 n2 n2 n2 x=1 x=1 x=1 n1 n1 n1 n2 n2 n2 x=2 x=2 x=2 w1 w1 w1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 w2 w2 w2 x=1 x=1 x=1 c1 c1 c1 n2 n2 n2 x=2 x=2 x=2 n1 n1 n1 c2 c2 c2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 w2 w2 w2 x=2 x=2 x=2 c1 c1 c1 w2 w2 w2 x=1 x=1 x=1 w1 w1 w1 c2 c2 c2 x=2 x=2 x=2 AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2} 9 9 9 stutter bisimulation equivalence classes

120 / 444

slide-121
SLIDE 121

Stutter bisimulation equivalence for two TS

stutter5.4-11 121 / 444

slide-122
SLIDE 122

Stutter bisimulation equivalence for two TS

stutter5.4-11

transition system T1 T1 T1 s1 s1 s1 state space S1 S1 S1 transition system T2 T2 T2 s2 s2 s2 state space S2 S2 S2

122 / 444

slide-123
SLIDE 123

Stutter bisimulation equivalence for two TS

stutter5.4-11

transition system T1 T1 T1 s1 s1 s1 state space S1 S1 S1 transition system T2 T2 T2 s2 s2 s2 state space S2 S2 S2 T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 iff there exists a stutter bisimulation R R R for T = T1 ⊎ T2 T = T1 ⊎ T2 T = T1 ⊎ T2 such that

123 / 444

slide-124
SLIDE 124

Stutter bisimulation equivalence for two TS

stutter5.4-11

transition system T1 T1 T1 s1 s1 s1 state space S1 S1 S1 transition system T2 T2 T2 s2 s2 s2 state space S2 S2 S2 T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 iff there exists a stutter bisimulation R R R for T = T1 ⊎ T2 T = T1 ⊎ T2 T = T1 ⊎ T2 such that ∀ ∀ ∀ initial states s1 s1 s1 of T1 T1 T1 ∃ ∃ ∃ initial state s2 s2 s2 of T2 T2 T2 s.t. s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 ∀ ∀ ∀ initial states s2 s2 s2 of T2 T2 T2 ∃ ∃ ∃ initial state s1 s1 s1 of T1 T1 T1 s.t. s1 ≈T s2 s1 ≈T s2 s1 ≈T s2

124 / 444

slide-125
SLIDE 125

Stutter bisimulation equivalence for two TS

stutter5.4-11

transition system T1 T1 T1 s1 s1 s1 state space S1 S1 S1 transition system T2 T2 T2 s2 s2 s2 state space S2 S2 S2 T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 iff there exists a stutter bisimulation R R R for (T1, T2) (T1, T2) (T1, T2)

125 / 444

slide-126
SLIDE 126

Stutter bisimulation equivalence for two TS

stutter5.4-11

transition system T1 T1 T1 s1 s1 s1 state space S1 S1 S1 transition system T2 T2 T2 s2 s2 s2 state space S2 S2 S2 T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 iff there exists a stutter bisimulation R R R for (T1, T2) (T1, T2) (T1, T2), i.e., R ⊆ S1 × S2 R ⊆ S1 × S2 R ⊆ S1 × S2 s.t.

126 / 444

slide-127
SLIDE 127

Stutter bisimulation equivalence for two TS

stutter5.4-11

transition system T1 T1 T1 s1 s1 s1 state space S1 S1 S1 transition system T2 T2 T2 s2 s2 s2 state space S2 S2 S2 T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 iff there exists a stutter bisimulation R R R for (T1, T2) (T1, T2) (T1, T2), i.e., R ⊆ S1 × S2 R ⊆ S1 × S2 R ⊆ S1 × S2 s.t. (1) if (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R then L1(s1) = L2(s2) L1(s1) = L2(s2) L1(s1) = L2(s2)

127 / 444

slide-128
SLIDE 128

Stutter bisimulation equivalence for two TS

stutter5.4-11

transition system T1 T1 T1 s1 s1 s1 state space S1 S1 S1 transition system T2 T2 T2 s2 s2 s2 state space S2 S2 S2 T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 iff there exists a stutter bisimulation R R R for (T1, T2) (T1, T2) (T1, T2), i.e., R ⊆ S1 × S2 R ⊆ S1 × S2 R ⊆ S1 × S2 s.t. (1) if (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R then L1(s1) = L2(s2) L1(s1) = L2(s2) L1(s1) = L2(s2) (2) and (3) . . . . . . . . .

128 / 444

slide-129
SLIDE 129

Stutter bisimulation equivalence for two TS

stutter5.4-11

transition system T1 T1 T1 s1 s1 s1 state space S1 S1 S1 transition system T2 T2 T2 s2 s2 s2 state space S2 S2 S2 T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 iff there exists a stutter bisimulation R R R for (T1, T2) (T1, T2) (T1, T2), i.e., R ⊆ S1 × S2 R ⊆ S1 × S2 R ⊆ S1 × S2 s.t. (1) if (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R then L1(s1) = L2(s2) L1(s1) = L2(s2) L1(s1) = L2(s2) (2) and (3) . . . . . . . . . (I) ∀ ∀ ∀ initial state s1 s1 s1 of T1 T1 T1 ∃ ∃ ∃ initial state s2 s2 s2 of T2 T2 T2 with (s1, s2) ∈ R (s1, s2) ∈ R (s1, s2) ∈ R, and vice versa

129 / 444

slide-130
SLIDE 130

Example: door opener

stutter5.4-12

abstract model T1 T1 T1 closed

  • pen

alarm code wrong code AP = { AP = { AP = {closed, open, alarm} } }

130 / 444

slide-131
SLIDE 131

Example: door opener with code no. 181

stutter5.4-12

abstract model T1 T1 T1 closed

  • pen

alarm code wrong code refinement TS T2 T2 T2

  • pen

alarm 1 1 1 2 2 2 = 1 = 1 = 1 1 1 1 8 8 8 1 1 1 = 8 = 8 = 8 = 1 = 1 = 1 AP = { AP = { AP = {closed, open, alarm} } }

131 / 444

slide-132
SLIDE 132

Example: door opener with code no. 181

stutter5.4-12

abstract model T1 T1 T1 closed

  • pen

alarm code wrong code T1 ∼ T2 T1 ∼ T2 T1 ∼ T2 refinement TS T2 T2 T2

  • pen

alarm 1 1 1 2 2 2 = 1 = 1 = 1 1 1 1 8 8 8 1 1 1 = 8 = 8 = 8 = 1 = 1 = 1 AP = { AP = { AP = {closed, open, alarm} } }

132 / 444

slide-133
SLIDE 133

Example: door opener with code no. 181

stutter5.4-12

abstract model T1 T1 T1 closed

  • pen

alarm code wrong code T1 ∼ T2 T1 ∼ T2 T1 ∼ T2 abstraction from stutter steps: T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 refinement TS T2 T2 T2

  • pen

alarm 1 1 1 2 2 2 = 1 = 1 = 1 1 1 1 8 8 8 1 1 1 = 8 = 8 = 8 = 1 = 1 = 1 AP = { AP = { AP = {closed, open, alarm} } }

133 / 444

slide-134
SLIDE 134

Correct or wrong?

stutter5.4-13

T1 ≈ T2 T1 ≈ T2 T1 ≈ T2

134 / 444

slide-135
SLIDE 135

Correct or wrong?

stutter5.4-13

T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 wrong

135 / 444

slide-136
SLIDE 136

Correct or wrong?

stutter5.4-13

s s s s′ s′ s′ T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 wrong T2 T2 T2 does not contain an equivalent state to s s s and s′ s′ s′

136 / 444

slide-137
SLIDE 137

Correct or wrong?

stutter5.4-13

T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 wrong T1 ≈ T2 T1 ≈ T2 T1 ≈ T2

137 / 444

slide-138
SLIDE 138

Correct or wrong?

stutter5.4-13

T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 wrong T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 correct

138 / 444

slide-139
SLIDE 139

Correct or wrong?

stutter5.4-13

T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 wrong s1 s1 s1 t1 t1 t1 v1 v1 v1 u1 u1 u1 w1 w1 w1 T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 s2 s2 s2 v2 v2 v2 correct stutter bisimulation for (T1, T2) (T1, T2) (T1, T2):

  • (s1, s2), (t1, s2), (u1, s2), (w1, s2), (v1, v2)
  • (s1, s2), (t1, s2), (u1, s2), (w1, s2), (v1, v2)
  • (s1, s2), (t1, s2), (u1, s2), (w1, s2), (v1, v2)
  • 139 / 444
slide-140
SLIDE 140

Correct or wrong?

stutter5.4-14

If s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 remind: ∼T ∼T ∼T bisimulation equivalence for T T T ≈T ≈T ≈T stutter bisimulation equivalence for T T T

140 / 444

slide-141
SLIDE 141

Correct or wrong?

stutter5.4-14

If s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 correct remind: ∼T ∼T ∼T bisimulation equivalence for T T T ≈T ≈T ≈T stutter bisimulation equivalence for T T T

141 / 444

slide-142
SLIDE 142

Correct or wrong?

stutter5.4-14

If s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 correct as ∼T ∼T ∼T is a stutter bisimulation for T T T remind: ∼T ∼T ∼T bisimulation equivalence for T T T ≈T ≈T ≈T stutter bisimulation equivalence for T T T

142 / 444

slide-143
SLIDE 143

Correct or wrong?

stutter5.4-14

If s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 correct as ∼T ∼T ∼T is a stutter bisimulation for T T T If s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 then s1 ∼T s2 s1 ∼T s2 s1 ∼T s2

143 / 444

slide-144
SLIDE 144

Correct or wrong?

stutter5.4-14

If s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 correct as ∼T ∼T ∼T is a stutter bisimulation for T T T If s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 then s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 wrong

144 / 444

slide-145
SLIDE 145

Correct or wrong?

stutter5.4-14

If s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 correct as ∼T ∼T ∼T is a stutter bisimulation for T T T If s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 then s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 wrong, e.g.: s1 s1 s1 s2 s2 s2

145 / 444

slide-146
SLIDE 146

Correct or wrong?

stutter5.4-14

If s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 correct as ∼T ∼T ∼T is a stutter bisimulation for T T T If s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 then s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 wrong, e.g.: s1 s1 s1 s2 s2 s2 s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 s1 ∼T s2 s1 ∼T s2 s1 ∼T s2

146 / 444

slide-147
SLIDE 147

Correct or wrong?

stutter5.4-15

Let T T T be a transition system without stutter steps. Then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 implies s1 ∼T s2 s1 ∼T s2 s1 ∼T s2

147 / 444

slide-148
SLIDE 148

Correct or wrong?

stutter5.4-15

Let T T T be a transition system without stutter steps. Then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 implies s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 correct

148 / 444

slide-149
SLIDE 149

Correct or wrong?

stutter5.4-15

Let T T T be a transition system without stutter steps. Then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 implies s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 correct, as ≈T ≈T ≈T is a bisimulation for T T T

149 / 444

slide-150
SLIDE 150

Correct or wrong?

stutter5.4-15

Let T T T be a transition system without stutter steps. Then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 implies s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 correct, as ≈T ≈T ≈T is a bisimulation for T T T (1) labeling condition: √ √ √

150 / 444

slide-151
SLIDE 151

Correct or wrong?

stutter5.4-15

Let T T T be a transition system without stutter steps. Then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 implies s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 correct, as ≈T ≈T ≈T is a bisimulation for T T T (1) labeling condition: √ √ √ (2) Suppose s1 → s′

1

s1 → s′

1

s1 → s′

1.

151 / 444

slide-152
SLIDE 152

Correct or wrong?

stutter5.4-15

Let T T T be a transition system without stutter steps. Then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 implies s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 correct, as ≈T ≈T ≈T is a bisimulation for T T T (1) labeling condition: √ √ √ (2) Suppose s1 → s′

1

s1 → s′

1

s1 → s′

  • 1. Then: L(s1) = L(s′

1)

L(s1) = L(s′

1)

L(s1) = L(s′

1)

152 / 444

slide-153
SLIDE 153

Correct or wrong?

stutter5.4-15

Let T T T be a transition system without stutter steps. Then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 implies s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 correct, as ≈T ≈T ≈T is a bisimulation for T T T (1) labeling condition: √ √ √ (2) Suppose s1 → s′

1

s1 → s′

1

s1 → s′

  • 1. Then: L(s1) = L(s′

1)

L(s1) = L(s′

1)

L(s1) = L(s′

1)

= ⇒ = ⇒ = ⇒ s1 ≈T s′

1

s1 ≈T s′

1

s1 ≈T s′

1

153 / 444

slide-154
SLIDE 154

Correct or wrong?

stutter5.4-15

Let T T T be a transition system without stutter steps. Then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 implies s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 correct, as ≈T ≈T ≈T is a bisimulation for T T T (1) labeling condition: √ √ √ (2) Suppose s1 → s′

1

s1 → s′

1

s1 → s′

  • 1. Then: L(s1) = L(s′

1)

L(s1) = L(s′

1)

L(s1) = L(s′

1)

= ⇒ = ⇒ = ⇒ s1 ≈T s′

1

s1 ≈T s′

1

s1 ≈T s′

1

= ⇒ = ⇒ = ⇒ there is a path fragment s2u1 . . . ums′

2

s2u1 . . . ums′

2

s2u1 . . . ums′

2

with m ≥ 0 m ≥ 0 m ≥ 0 and s1 ≈T ui ∧ s′

1 ≈T s′ 2

s1 ≈T ui ∧ s′

1 ≈T s′ 2

s1 ≈T ui ∧ s′

1 ≈T s′ 2

154 / 444

slide-155
SLIDE 155

Correct or wrong?

stutter5.4-15

Let T T T be a transition system without stutter steps. Then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 implies s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 correct, as ≈T ≈T ≈T is a bisimulation for T T T (1) labeling condition: √ √ √ (2) Suppose s1 → s′

1

s1 → s′

1

s1 → s′

  • 1. Then: L(s1) = L(s′

1)

L(s1) = L(s′

1)

L(s1) = L(s′

1)

= ⇒ = ⇒ = ⇒ s1 ≈T s′

1

s1 ≈T s′

1

s1 ≈T s′

1

= ⇒ = ⇒ = ⇒ there is a path fragment s2u1 . . . ums′

2

s2u1 . . . ums′

2

s2u1 . . . ums′

2

with m ≥ 0 m ≥ 0 m ≥ 0 and s1 ≈T ui ∧ s′

1 ≈T s′ 2

s1 ≈T ui ∧ s′

1 ≈T s′ 2

s1 ≈T ui ∧ s′

1 ≈T s′ 2

= ⇒ = ⇒ = ⇒ m=0 m=0 m=0.

155 / 444

slide-156
SLIDE 156

Correct or wrong?

stutter5.4-15

Let T T T be a transition system without stutter steps. Then s1 ≈T s2 s1 ≈T s2 s1 ≈T s2 implies s1 ∼T s2 s1 ∼T s2 s1 ∼T s2 correct, as ≈T ≈T ≈T is a bisimulation for T T T (1) labeling condition: √ √ √ (2) Suppose s1 → s′

1

s1 → s′

1

s1 → s′

  • 1. Then: L(s1) = L(s′

1)

L(s1) = L(s′

1)

L(s1) = L(s′

1)

= ⇒ = ⇒ = ⇒ s1 ≈T s′

1

s1 ≈T s′

1

s1 ≈T s′

1

= ⇒ = ⇒ = ⇒ there is a path fragment s2u1 . . . ums′

2

s2u1 . . . ums′

2

s2u1 . . . ums′

2

with m ≥ 0 m ≥ 0 m ≥ 0 and s1 ≈T ui ∧ s′

1 ≈T s′ 2

s1 ≈T ui ∧ s′

1 ≈T s′ 2

s1 ≈T ui ∧ s′

1 ≈T s′ 2

= ⇒ = ⇒ = ⇒ m=0 m=0 m=0. Hence: s2 → s′

2

s2 → s′

2

s2 → s′

2 and s′ 1 ≈T s′ 2

s′

1 ≈T s′ 2

s′

1 ≈T s′ 2

156 / 444

slide-157
SLIDE 157

Stutter bisimulation quotient

stutter5.4-16

157 / 444

slide-158
SLIDE 158

Stutter bisimulation quotient

stutter5.4-16

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS.

158 / 444

slide-159
SLIDE 159

Stutter bisimulation quotient

stutter5.4-16

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS. stutter bisimulation quotient of T T T : T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

159 / 444

slide-160
SLIDE 160

Stutter bisimulation quotient

stutter5.4-16

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS. stutter bisimulation quotient of T T T : T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

  • state space: S/≈T

S/≈T S/≈T ← − ← − ← − set of stutter bisimulation equivalence classes

160 / 444

slide-161
SLIDE 161

Stutter bisimulation quotient

stutter5.4-16

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS. stutter bisimulation quotient of T T T : T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

  • state space: S/≈T

S/≈T S/≈T

  • initial states: S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • [s] = [s]≈T =
  • s′ ∈ S : s ≈T s′

[s] = [s]≈T =

  • s′ ∈ S : s ≈T s′

[s] = [s]≈T =

  • s′ ∈ S : s ≈T s′

equivalence class of state s s s

161 / 444

slide-162
SLIDE 162

Stutter bisimulation quotient

stutter5.4-16

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS. stutter bisimulation quotient of T T T : T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

  • state space: S/≈T

S/≈T S/≈T

  • initial states: S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • labeling: L′([s]) = L(s)

L′([s]) = L(s) L′([s]) = L(s) [s] = [s]≈T =

  • s′ ∈ S : s ≈T s′

[s] = [s]≈T =

  • s′ ∈ S : s ≈T s′

[s] = [s]≈T =

  • s′ ∈ S : s ≈T s′

equivalence class of state s s s

162 / 444

slide-163
SLIDE 163

Stutter bisimulation quotient

stutter5.4-16

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS. stutter bisimulation quotient of T T T : T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

  • state space: S/≈T

S/≈T S/≈T

  • initial states: S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • labeling: L′([s]) = L(s)

L′([s]) = L(s) L′([s]) = L(s)

  • transition relation:

s → s′ ∧ s ≈T s′ [s] →≈ [s′] s → s′ ∧ s ≈T s′ [s] →≈ [s′] s → s′ ∧ s ≈T s′ [s] →≈ [s′]

163 / 444

slide-164
SLIDE 164

Stutter bisimulation quotient

stutter5.4-16

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS. stutter bisimulation quotient of T T T : T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

  • state space: S/≈T

S/≈T S/≈T

  • initial states: S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • labeling: L′([s]) = L(s)

L′([s]) = L(s) L′([s]) = L(s)

  • transition relation:

← − ← − ← − actions irrelevant s → s′ ∧ s ≈T s′ [s] →≈ [s′] s → s′ ∧ s ≈T s′ [s] →≈ [s′] s → s′ ∧ s ≈T s′ [s] →≈ [s′]

164 / 444

slide-165
SLIDE 165

Equivalence of T T T and its quotient

stutter5.4-16a

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS. stutter bisimulation quotient of T T T : T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

where S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • and L′([s]) = L(s)

L′([s]) = L(s) L′([s]) = L(s) transition relation: s → s′ ∧ s ≈T s′ [s] →≈ [s′] s → s′ ∧ s ≈T s′ [s] →≈ [s′] s → s′ ∧ s ≈T s′ [s] →≈ [s′]

165 / 444

slide-166
SLIDE 166

Equivalence of T T T and its quotient

stutter5.4-16a

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS. stutter bisimulation quotient of T T T : T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

where S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • and L′([s]) = L(s)

L′([s]) = L(s) L′([s]) = L(s) transition relation: s → s′ ∧ s ≈T s′ [s] →≈ [s′] s → s′ ∧ s ≈T s′ [s] →≈ [s′] s → s′ ∧ s ≈T s′ [s] →≈ [s′] T ≈ T /≈ T ≈ T /≈ T ≈ T /≈

166 / 444

slide-167
SLIDE 167

Equivalence of T T T and its quotient

stutter5.4-16a

Let T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) T = (S, Act, →, S0, AP, L) be a TS. stutter bisimulation quotient of T T T : T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

T /≈ = (S/≈T , Act′, →≈, S′

0, AP, L′)

where S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • S′

0 =

  • [s] : s ∈ S0
  • and L′([s]) = L(s)

L′([s]) = L(s) L′([s]) = L(s) transition relation: s → s′ ∧ s ≈T s′ [s] →≈ [s′] s → s′ ∧ s ≈T s′ [s] →≈ [s′] s → s′ ∧ s ≈T s′ [s] →≈ [s′] proof: R =

  • (s, [s]) : s ∈ S
  • R =
  • (s, [s]) : s ∈ S
  • R =
  • (s, [s]) : s ∈ S
  • is a stutter bisimulation for (T , T /≈)

(T , T /≈) (T , T /≈) T ≈ T /≈ T ≈ T /≈ T ≈ T /≈

167 / 444

slide-168
SLIDE 168

Example: mutual exclusion with semaphore

stutter5.4-16b

AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2} nc1 nc2 y=1 wait1 nc2 y=1 nc1 wait2 y=1 crit1 crit1 crit1 nc2 y=0 wait1 wait2 y=1 nc1 crit2 crit2 crit2 y=0 crit1 crit1 crit1 wait2 y=0 wait1 crit2 crit2 crit2 y=0

168 / 444

slide-169
SLIDE 169

Example: mutual exclusion with semaphore

stutter5.4-16b

AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2} nc1 nc2 y=1 wait1 nc2 y=1 nc1 wait2 y=1 crit1 crit1 crit1 nc2 y=0 wait1 wait2 y=1 nc1 crit2 crit2 crit2 y=0 crit1 crit1 crit1 wait2 y=0 wait1 crit2 crit2 crit2 y=0 stutter bisimulation with three equivalence classes

169 / 444

slide-170
SLIDE 170

Example: mutual exclusion with semaphore

stutter5.4-16b

AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2} Tsem Tsem Tsem

170 / 444

slide-171
SLIDE 171

Example: mutual exclusion with semaphore

stutter5.4-16b

AP = {crit1, crit2} AP = {crit1, crit2} AP = {crit1, crit2} Tsem Tsem Tsem Tsem/≈ Tsem/≈ Tsem/≈

171 / 444

slide-172
SLIDE 172

Alternating bit protocol

stutter5.4-21

Sender Sender Sender Receiver Receiver Receiver Timer Timer Timer message + + + bit acknowledgement (bit)

172 / 444

slide-173
SLIDE 173

Alternating bit protocol

stutter5.4-21

Sender Sender Sender Receiver Receiver Receiver Timer Timer Timer message + + + bit acknowledgement (bit)

  • formalization by a closed channel system

[Sender

  • Timer
  • Receiver]

[Sender

  • Timer
  • Receiver]

[Sender

  • Timer
  • Receiver]

173 / 444

slide-174
SLIDE 174

Alternating bit protocol

stutter5.4-21

Sender Sender Sender Receiver Receiver Receiver Timer Timer Timer message + + + bit acknowledgement (bit)

  • formalization by a closed channel system

[Sender

  • Timer
  • Receiver]

[Sender

  • Timer
  • Receiver]

[Sender

  • Timer
  • Receiver]
  • TS with about 230

230 230 states for channels of capacity 10 10 10

174 / 444

slide-175
SLIDE 175

Alternating bit protocol

stutter5.4-21

Sender Sender Sender Receiver Receiver Receiver Timer Timer Timer message + + + bit acknowledgement (bit) program graph for sender generate message(0) send(0) . . . . . . . . . generate message(1) send(1) . . . . . . . . . d?x d?x d?x c!0 c!0 c!0 lost c!1 c!1 c!1 lost timeout! timeout!

175 / 444

slide-176
SLIDE 176

Alternating bit protocol

stutter5.4-22

SMode=0 SMode=0 SMode=0 SMode=1 SMode=1 SMode=1 RMode=0 RMode=0 RMode=0 RMode=1 RMode=1 RMode=1

176 / 444

slide-177
SLIDE 177

Alternating bit protocol

stutter5.4-22

SMode=0 SMode=0 SMode=0 SMode=1 SMode=1 SMode=1 RMode=0 RMode=0 RMode=0 RMode=1 RMode=1 RMode=1 AP AP AP = = =

  • SMode=0, SMode=1, RMode=0, RMode=1
  • SMode=0, SMode=1, RMode=0, RMode=1
  • SMode=0, SMode=1, RMode=0, RMode=1
  • Φ

Φ Φ = = = ∀♦SMode=0 ∧ ∀♦SMode=1 ∀♦SMode=0 ∧ ∀♦SMode=1 ∀♦SMode=0 ∧ ∀♦SMode=1

177 / 444

slide-178
SLIDE 178

Alternating bit protocol

stutter5.4-22

SMode=0 SMode=0 SMode=0 SMode=1 SMode=1 SMode=1 RMode=0 RMode=0 RMode=0 RMode=1 RMode=1 RMode=1 AP AP AP = = =

  • SMode=0, SMode=1, RMode=0, RMode=1
  • SMode=0, SMode=1, RMode=0, RMode=1
  • SMode=0, SMode=1, RMode=0, RMode=1
  • Φ

Φ Φ = = = ∀♦SMode=0 ∧ ∀♦SMode=1 ∀♦SMode=0 ∧ ∀♦SMode=1 ∀♦SMode=0 ∧ ∀♦SMode=1 ABP | = Φ ABP | = Φ ABP | = Φ

178 / 444

slide-179
SLIDE 179

Alternating bit protocol

stutter5.4-22

SMode=0 SMode=0 SMode=0 SMode=1 SMode=1 SMode=1 RMode=0 RMode=0 RMode=0 RMode=1 RMode=1 RMode=1 AP AP AP = = =

  • SMode=0, SMode=1, RMode=0, RMode=1
  • SMode=0, SMode=1, RMode=0, RMode=1
  • SMode=0, SMode=1, RMode=0, RMode=1
  • Φ

Φ Φ = = = ∀♦SMode=0 ∧ ∀♦SMode=1 ∀♦SMode=0 ∧ ∀♦SMode=1 ∀♦SMode=0 ∧ ∀♦SMode=1 ABP | = Φ ABP | = Φ ABP | = Φ, but ABP/≈ | = Φ ABP/≈ | = Φ ABP/≈ | = Φ

stutter bisimulation quotient

179 / 444

slide-180
SLIDE 180

Alternating bit protocol

stutter5.4-22

SMode=0 SMode=0 SMode=0 SMode=1 SMode=1 SMode=1 RMode=0 RMode=0 RMode=0 RMode=1 RMode=1 RMode=1 stutter bisimulation quotient: SMode=0 SMode=0 SMode=0 RMode=0 RMode=0 RMode=0 SMode=0 SMode=0 SMode=0 RMode=1 RMode=1 RMode=1 SMode=1 SMode=1 SMode=1 RMode=1 RMode=1 RMode=1 SMode=1 SMode=1 SMode=1 RMode=0 RMode=0 RMode=0

180 / 444

slide-181
SLIDE 181

Correct or wrong?

stutter5.4-27

If T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 then T1 T1 T1 and T2 T2 T2 are LTL\

\ \-equivalent.

181 / 444

slide-182
SLIDE 182

Correct or wrong?

stutter5.4-27

If T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 then T1 T1 T1 and T2 T2 T2 are LTL\

\ \-equivalent.

wrong.

182 / 444

slide-183
SLIDE 183

Correct or wrong?

stutter5.4-27

If T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 then T1 T1 T1 and T2 T2 T2 are LTL\

\ \-equivalent.

wrong. T1 T1 T1 T2 T2 T2 ∅ ∅ ∅ {a} {a} {a} ∅ ∅ ∅ {a} {a} {a} AP = {a} AP = {a} AP = {a}

183 / 444

slide-184
SLIDE 184

Correct or wrong?

stutter5.4-27

If T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 then T1 T1 T1 and T2 T2 T2 are LTL\

\ \-equivalent.

wrong. T1 T1 T1 T2 T2 T2 ∅ ∅ ∅ {a} {a} {a} ∅ ∅ ∅ {a} {a} {a} ≈ ≈ ≈ AP = {a} AP = {a} AP = {a}

184 / 444

slide-185
SLIDE 185

Correct or wrong?

stutter5.4-27

If T1 ≈ T2 T1 ≈ T2 T1 ≈ T2 then T1 T1 T1 and T2 T2 T2 are LTL\

\ \-equivalent.

wrong. T1 T1 T1 T2 T2 T2 ∅ ∅ ∅ {a} {a} {a} ∅ ∅ ∅ {a} {a} {a} ≈ ≈ ≈ T1 | = ♦a T1 | = ♦a T1 | = ♦a T2 | = ♦a T2 | = ♦a T2 | = ♦a AP = {a} AP = {a} AP = {a} ∅ω ∈ Traces(T1) ∅ω ∈ Traces(T1) ∅ω ∈ Traces(T1) ∅ω / ∈ Traces(T2) ∅ω / ∈ Traces(T2) ∅ω / ∈ Traces(T2)

185 / 444

slide-186
SLIDE 186

Abstraction from stuttering: LT vs. BT

stutter5.4-23

186 / 444

slide-187
SLIDE 187

Stutter bisimulation/stutter trace equivalence

stutter5.4-23

stutter trace equivalence: T1

= T2 T1

= T2 T1

= T2 iff ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) ∀π1 ∈ Paths(T1) ∃π2 ∈ Paths(T2) s.t. π1

= π2 π1

= π2 π1

= π2 ∀π2 ∈ Paths(T2) ∃π1 ∈ Paths(T1) ∀π2 ∈ Paths(T2) ∃π1 ∈ Paths(T1) ∀π2 ∈ Paths(T2) ∃π1 ∈ Paths(T1) s.t. π1

= π2 π1

= π2 π1

= π2 stutter bisimulation equivalence ≈T ≈T ≈T B ∈ S/≈T B ∈ S/≈T B ∈ S/≈T C ∈ S/≈T C ∈ S/≈T C ∈ S/≈T

187 / 444

slide-188
SLIDE 188

Stutter bisimulation/stutter trace equivalence

stutter5.4-23

=

=

= stutter trace equivalence ≈ ≈ ≈ stutter bisimulation equivalence

188 / 444

slide-189
SLIDE 189

Stutter bisimulation/stutter trace equivalence

stutter5.4-23

=

=

=

=

=

= stutter trace equivalence ≈ ≈ ≈ stutter bisimulation equivalence

189 / 444

slide-190
SLIDE 190

Stutter bisimulation/stutter trace equivalence

stutter5.4-23

=

=

= ≈ ≈ ≈

=

=

= stutter trace equivalence ≈ ≈ ≈ stutter bisimulation equivalence

190 / 444

slide-191
SLIDE 191

Stutter bisimulation/stutter trace equivalence

stutter5.4-23

=

=

= ≈ ≈ ≈

=

=

= stutter trace equivalence ≈ ≈ ≈ stutter bisimulation equivalence

191 / 444

slide-192
SLIDE 192

Stutter bisimulation/stutter trace equivalence

stutter5.4-23

=

=

= ≈ ≈ ≈ ≈ ≈ ≈

=

=

= stutter trace equivalence ≈ ≈ ≈ stutter bisimulation equivalence

192 / 444

slide-193
SLIDE 193

Stutter bisimulation/stutter trace equivalence

stutter5.4-23

=

=

= ≈ ≈ ≈ ≈ ≈ ≈

=

=

=

=

=

= stutter trace equivalence ≈ ≈ ≈ stutter bisimulation equivalence

193 / 444

slide-194
SLIDE 194

Stutter bisimulation/stutter trace equivalence

stutter5.4-23

=

=

= ≈ ≈ ≈ ≈ ≈ ≈

=

=

=

=

=

= stutter trace equivalence ≈ ≈ ≈ stutter bisimulation equivalence ≈ ≈ ≈ and

=

=

= are incomparable

194 / 444