COMP30112: Concurrency Topics 2.4: More FSP Theory Howard Barringer - - PowerPoint PPT Presentation

comp30112 concurrency
SMART_READER_LITE
LIVE PREVIEW

COMP30112: Concurrency Topics 2.4: More FSP Theory Howard Barringer - - PowerPoint PPT Presentation

Topic 2.4: FSP Theory COMP30112: Concurrency Topics 2.4: More FSP Theory Howard Barringer Room KB2.20: email: Howard.Barringer@manchester.ac.uk March 2008 Topic 2.4: FSP Theory Outline Topic 2.4: FSP Theory Process Equivalence Examples


slide-1
SLIDE 1

Topic 2.4: FSP Theory

COMP30112: Concurrency

Topics 2.4: More FSP Theory

Howard Barringer

Room KB2.20: email: Howard.Barringer@manchester.ac.uk

March 2008

slide-2
SLIDE 2

Topic 2.4: FSP Theory

Outline

Topic 2.4: FSP Theory Process Equivalence Examples Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion

slide-3
SLIDE 3

Topic 2.4: FSP Theory

Outline

Topic 2.4: FSP Theory Process Equivalence Examples Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion

slide-4
SLIDE 4

Topic 2.4: FSP Theory

FSP Process Equivalence

Question: When Are FSP Processes Equivalent? i.e. when do they exhibit the ‘same’ behaviour?

slide-5
SLIDE 5

Topic 2.4: FSP Theory

FSP Process Equivalence

Question: When Are FSP Processes Equivalent? i.e. when do they exhibit the ‘same’ behaviour?

  • Answer 1: When they have isomorphic LTSs?
slide-6
SLIDE 6

Topic 2.4: FSP Theory

FSP Process Equivalence

Question: When Are FSP Processes Equivalent? i.e. when do they exhibit the ‘same’ behaviour?

  • Answer 1: When they have isomorphic LTSs?

Two LTSs are isomorphic if they are the same except that the names of the states may be different.

slide-7
SLIDE 7

Topic 2.4: FSP Theory

FSP Process Equivalence

Question: When Are FSP Processes Equivalent? i.e. when do they exhibit the ‘same’ behaviour?

  • Answer 1: When they have isomorphic LTSs?

Two LTSs are isomorphic if they are the same except that the names of the states may be different. (P =1 Q) if lts(P) is isomorphic to lts(Q) (lts(P) is the LTS of the process expression P)

slide-8
SLIDE 8

Topic 2.4: FSP Theory

  • Answer 2: When they have the same trace sets?
slide-9
SLIDE 9

Topic 2.4: FSP Theory

  • Answer 2: When they have the same trace sets?

The trace set of an FSP process is the set of traces of its LTS; i.e. the set of finite sequences a1 · · · an of actions that can label a transition path of the LTS, starting from the start state.

slide-10
SLIDE 10

Topic 2.4: FSP Theory

  • Answer 2: When they have the same trace sets?

The trace set of an FSP process is the set of traces of its LTS; i.e. the set of finite sequences a1 · · · an of actions that can label a transition path of the LTS, starting from the start state.

(P =2 Q) if traces(lts(P)) = traces(lts(Q)) i.e. the LTSs are trace-equivalent (traces(T) is the set of traces of the LTS T)

slide-11
SLIDE 11

Topic 2.4: FSP Theory

  • Answer 2: When they have the same trace sets?

The trace set of an FSP process is the set of traces of its LTS; i.e. the set of finite sequences a1 · · · an of actions that can label a transition path of the LTS, starting from the start state.

(P =2 Q) if traces(lts(P)) = traces(lts(Q)) i.e. the LTSs are trace-equivalent (traces(T) is the set of traces of the LTS T)

  • Answer 3: When nothing they can interact with can tell the

difference?

slide-12
SLIDE 12

Topic 2.4: FSP Theory

  • Answer 2: When they have the same trace sets?

The trace set of an FSP process is the set of traces of its LTS; i.e. the set of finite sequences a1 · · · an of actions that can label a transition path of the LTS, starting from the start state.

(P =2 Q) if traces(lts(P)) = traces(lts(Q)) i.e. the LTSs are trace-equivalent (traces(T) is the set of traces of the LTS T)

  • Answer 3: When nothing they can interact with can tell the

difference? (P =equiv Q) if ∀R · PR behaves the same as QR

slide-13
SLIDE 13

Topic 2.4: FSP Theory

  • Answer 2: When they have the same trace sets?

The trace set of an FSP process is the set of traces of its LTS; i.e. the set of finite sequences a1 · · · an of actions that can label a transition path of the LTS, starting from the start state.

(P =2 Q) if traces(lts(P)) = traces(lts(Q)) i.e. the LTSs are trace-equivalent (traces(T) is the set of traces of the LTS T)

  • Answer 3: When nothing they can interact with can tell the

difference? (P =equiv Q) if ∀R · PR behaves the same as QR (P =1 Q) = ⇒ (P =equiv Q) = ⇒ (P =2 Q)

  • r =1 ⊆ =equiv ⊆ =2
slide-14
SLIDE 14

Topic 2.4: FSP Theory

Outline

Topic 2.4: FSP Theory Process Equivalence Examples Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion

slide-15
SLIDE 15

Topic 2.4: FSP Theory

Examples

P1 = (a -> Q1 |a -> R1), Q1 = (b -> Q1), R1 = (b -> R1). P2 = (a -> Q2), Q2 = (b -> Q2).

a a b b Q1 R1 P1 a b P2 Q2

Obviously, =1 does not make enough things equal.

slide-16
SLIDE 16

Topic 2.4: FSP Theory

Another Example

P = (a -> b -> P). Q = (c -> b -> Q). ||S1 = (P||Q). S2 = ( a -> c -> B | c -> a -> B), B = (b -> S2). S3 = ( a -> c -> B1 | c -> a -> B2), B1 = (b -> S3), B2 = (b -> S3).

a a c c b S1

S2 B a a c c b

B1 B2 S3 b a c a c b

⋆ Are they equivalent? ⋆

slide-17
SLIDE 17

Topic 2.4: FSP Theory

And another ...

⋆ Should the following be equivalent? ⋆ P1 = ( a -> Q1), Q1 = ( b -> STOP | c -> STOP). P2 = ( a -> Q2 | a -> R2), Q2 = (b -> STOP), R2 = (c -> STOP). ⋆ (P1 =2 P2)? ⋆ ⋆ (P1 =equiv P2)? ⋆

slide-18
SLIDE 18

Topic 2.4: FSP Theory

And another ...

⋆ Should the following be equivalent? ⋆ P1 = ( a -> Q1), Q1 = ( b -> STOP | c -> STOP). P2 = ( a -> Q2 | a -> R2), Q2 = (b -> STOP), R2 = (c -> STOP). ⋆ (P1 =2 P2)? ⋆ Yes, all traces the same ⋆ (P1 =equiv P2)? ⋆

slide-19
SLIDE 19

Topic 2.4: FSP Theory

And another ...

⋆ Should the following be equivalent? ⋆ P1 = ( a -> Q1), Q1 = ( b -> STOP | c -> STOP). P2 = ( a -> Q2 | a -> R2), Q2 = (b -> STOP), R2 = (c -> STOP). ⋆ (P1 =2 P2)? ⋆ Yes, all traces the same ⋆ (P1 =equiv P2)? ⋆ No, consider parallel composition with:

slide-20
SLIDE 20

Topic 2.4: FSP Theory

And another ...

⋆ Should the following be equivalent? ⋆ P1 = ( a -> Q1), Q1 = ( b -> STOP | c -> STOP). P2 = ( a -> Q2 | a -> R2), Q2 = (b -> STOP), R2 = (c -> STOP). ⋆ (P1 =2 P2)? ⋆ Yes, all traces the same ⋆ (P1 =equiv P2)? ⋆ No, consider parallel composition with: S1 = ( a -> b -> STOP ) + {c}.

slide-21
SLIDE 21

Topic 2.4: FSP Theory

And another ...

⋆ Should the following be equivalent? ⋆ P1 = ( a -> Q1), Q1 = ( b -> STOP | c -> STOP). P2 = ( a -> Q2 | a -> R2), Q2 = (b -> STOP), R2 = (c -> STOP). ⋆ (P1 =2 P2)? ⋆ Yes, all traces the same ⋆ (P1 =equiv P2)? ⋆ No, consider parallel composition with: S1 = ( a -> b -> STOP ) + {c}. We need a notion of equivalence called Bisimilarity

slide-22
SLIDE 22

Topic 2.4: FSP Theory

Outline

Topic 2.4: FSP Theory Process Equivalence Examples Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion

slide-23
SLIDE 23

Topic 2.4: FSP Theory

Strong Bisimilarity

  • Processes P and Q are equivalent, i.e. (P =equiv Q) if their LTSs

are strongly bisimilar: (lts(P) ∼ lts(Q))

slide-24
SLIDE 24

Topic 2.4: FSP Theory

Strong Bisimilarity

  • Processes P and Q are equivalent, i.e. (P =equiv Q) if their LTSs

are strongly bisimilar: (lts(P) ∼ lts(Q))

  • LTSs are [strongly] bisimilar if they have
slide-25
SLIDE 25

Topic 2.4: FSP Theory

Strong Bisimilarity

  • Processes P and Q are equivalent, i.e. (P =equiv Q) if their LTSs

are strongly bisimilar: (lts(P) ∼ lts(Q))

  • LTSs are [strongly] bisimilar if they have
  • the same alphabet
slide-26
SLIDE 26

Topic 2.4: FSP Theory

Strong Bisimilarity

  • Processes P and Q are equivalent, i.e. (P =equiv Q) if their LTSs

are strongly bisimilar: (lts(P) ∼ lts(Q))

  • LTSs are [strongly] bisimilar if they have
  • the same alphabet
  • compatible colourings
slide-27
SLIDE 27

Topic 2.4: FSP Theory

Strong Bisimilarity

  • Processes P and Q are equivalent, i.e. (P =equiv Q) if their LTSs

are strongly bisimilar: (lts(P) ∼ lts(Q))

  • LTSs are [strongly] bisimilar if they have
  • the same alphabet
  • compatible colourings
  • A colouring of an LTS is an assignment of a colour to each node.
slide-28
SLIDE 28

Topic 2.4: FSP Theory

Strong Bisimilarity

  • Processes P and Q are equivalent, i.e. (P =equiv Q) if their LTSs

are strongly bisimilar: (lts(P) ∼ lts(Q))

  • LTSs are [strongly] bisimilar if they have
  • the same alphabet
  • compatible colourings
  • A colouring of an LTS is an assignment of a colour to each node.
  • The colourings of one or more coloured LTSs are compatible if
slide-29
SLIDE 29

Topic 2.4: FSP Theory

Strong Bisimilarity

  • Processes P and Q are equivalent, i.e. (P =equiv Q) if their LTSs

are strongly bisimilar: (lts(P) ∼ lts(Q))

  • LTSs are [strongly] bisimilar if they have
  • the same alphabet
  • compatible colourings
  • A colouring of an LTS is an assignment of a colour to each node.
  • The colourings of one or more coloured LTSs are compatible if
  • 1. The starting states of distinct LTSs have the same colour.
slide-30
SLIDE 30

Topic 2.4: FSP Theory

Strong Bisimilarity

  • Processes P and Q are equivalent, i.e. (P =equiv Q) if their LTSs

are strongly bisimilar: (lts(P) ∼ lts(Q))

  • LTSs are [strongly] bisimilar if they have
  • the same alphabet
  • compatible colourings
  • A colouring of an LTS is an assignment of a colour to each node.
  • The colourings of one or more coloured LTSs are compatible if
  • 1. The starting states of distinct LTSs have the same colour.
  • 2. Whenever states P, Q (of the same or distinct LTS) have the

same colour then for any transition P

a

→ P′ there is a transition Q

a

→ Q′ where P′, Q′ have the same colour.

slide-31
SLIDE 31

Topic 2.4: FSP Theory

Example: Non-isomorphic Bisimilar LTSs

P = (a -> Q), Q = (a -> P). P = (a -> P). P = (a -> P | a -> Q), Q = (a -> P). P = (a -> Q), Q = (a -> Q |a -> R), R = (a -> P).

⋆ Draw LTSs; calculate colouring? ⋆

slide-32
SLIDE 32

Topic 2.4: FSP Theory

Example: Non-isomorphic Bisimilar LTSs

P = (a -> Q), Q = (a -> P). P = (a -> P). P = (a -> P | a -> Q), Q = (a -> P). P = (a -> Q), Q = (a -> Q |a -> R), R = (a -> P).

P Q a a P a P Q a a a R Q P a a a a

slide-33
SLIDE 33

Topic 2.4: FSP Theory

Example: Non-isomorphic Bisimilar LTSs

P = (a -> Q), Q = (a -> P). P = (a -> P). P = (a -> P | a -> Q), Q = (a -> P). P = (a -> Q), Q = (a -> Q |a -> R), R = (a -> P).

Q P a a a P a a a P Q a a a a Q R P

slide-34
SLIDE 34

Topic 2.4: FSP Theory

Example: Non-isomorphic Bisimilar LTSs

P = (a -> Q), Q = (a -> P). P = (a -> P). P = (a -> P | a -> Q), Q = (a -> P). P = (a -> Q), Q = (a -> Q |a -> R), R = (a -> P).

Q P a a a P a a a P Q a a a a Q R P

All the same colour, so they are bisimilar

slide-35
SLIDE 35

Topic 2.4: FSP Theory

And some more ...

P1 = (a -> Q1 |a -> R1), Q1 = (b -> Q1), R1 = (b -> R1). P2 = (a -> Q2), Q2 = (b -> Q2). P3 = (a -> Q3 | a -> R3), Q3 = (b -> b -> b -> Q3), R3 = (b -> R3). P4 = (a -> b -> Q4 | a -> Q4), Q4 = (b -> Q4).

⋆ Draw LTSs; calculate colouring? ⋆

slide-36
SLIDE 36

Topic 2.4: FSP Theory

And some more ...

P1 = (a -> Q1 |a -> R1), Q1 = (b -> Q1), R1 = (b -> R1). P2 = (a -> Q2), Q2 = (b -> Q2). P3 = (a -> Q3 | a -> R3), Q3 = (b -> b -> b -> Q3), R3 = (b -> R3). P4 = (a -> b -> Q4 | a -> Q4), Q4 = (b -> Q4).

a a b b Q1 R1 P1 a b P2 Q2 b b b a a b R3 Q3 P3 b b a a P3 Q3

slide-37
SLIDE 37

Topic 2.4: FSP Theory

And some more ...

P1 = (a -> Q1 |a -> R1), Q1 = (b -> Q1), R1 = (b -> R1). P2 = (a -> Q2), Q2 = (b -> Q2). P3 = (a -> Q3 | a -> R3), Q3 = (b -> b -> b -> Q3), R3 = (b -> R3). P4 = (a -> b -> Q4 | a -> Q4), Q4 = (b -> Q4).

a a b b Q1 R1 P1 a b P2 Q2 b b b b a a R3 Q3 P3 b b a a P3 Q3

slide-38
SLIDE 38

Topic 2.4: FSP Theory

And some more ...

P1 = (a -> Q1 |a -> R1), Q1 = (b -> Q1), R1 = (b -> R1). P2 = (a -> Q2), Q2 = (b -> Q2). P3 = (a -> Q3 | a -> R3), Q3 = (b -> b -> b -> Q3), R3 = (b -> R3). P4 = (a -> b -> Q4 | a -> Q4), Q4 = (b -> Q4).

a a b b Q1 R1 P1 a b P2 Q2 b b b b a a R3 Q3 P3 b b a a P3 Q3

Compatible colourings, so processes are bisimilar

slide-39
SLIDE 39

Topic 2.4: FSP Theory

Example: Non-Bisimilar but Trace-Equivalent LTSs

P = ( a -> Q ), Q = ( b -> STOP | c -> d -> P). P = ( a -> Q | a -> R), Q = ( b -> STOP), R = ( c -> d -> P). ⋆ Draw LTSs; calculate colouring? ⋆

slide-40
SLIDE 40

Topic 2.4: FSP Theory

Example: Non-Bisimilar but Trace-Equivalent LTSs

P = ( a -> Q ), Q = ( b -> STOP | c -> d -> P). P = ( a -> Q | a -> R), Q = ( b -> STOP), R = ( c -> d -> P).

d a b c Q

STOP

P a a b d c Q R

STOP

P

slide-41
SLIDE 41

Topic 2.4: FSP Theory

Example: Non-Bisimilar but Trace-Equivalent LTSs

P = ( a -> Q ), Q = ( b -> STOP | c -> d -> P). P = ( a -> Q | a -> R), Q = ( b -> STOP), R = ( c -> d -> P).

d c b a

STOP

Q P a a b d c Q R

STOP

P

slide-42
SLIDE 42

Topic 2.4: FSP Theory

Example: Non-Bisimilar but Trace-Equivalent LTSs

P = ( a -> Q ), Q = ( b -> STOP | c -> d -> P). P = ( a -> Q | a -> R), Q = ( b -> STOP), R = ( c -> d -> P).

d c b a

STOP

Q P a a b d c R

STOP

P Q

slide-43
SLIDE 43

Topic 2.4: FSP Theory

Example: Non-Bisimilar but Trace-Equivalent LTSs

P = ( a -> Q ), Q = ( b -> STOP | c -> d -> P). P = ( a -> Q | a -> R), Q = ( b -> STOP), R = ( c -> d -> P).

d c b a Q

STOP

P a a b d c R

STOP

P Q

slide-44
SLIDE 44

Topic 2.4: FSP Theory

Example: Non-Bisimilar but Trace-Equivalent LTSs

P = ( a -> Q ), Q = ( b -> STOP | c -> d -> P). P = ( a -> Q | a -> R), Q = ( b -> STOP), R = ( c -> d -> P).

d c b a Q

STOP

P a a b d c R

STOP

P Q

States Q and R on the right cannot have the same colour, and cannot be the same as Q on the left. Not equal!

slide-45
SLIDE 45

Topic 2.4: FSP Theory

Computing a colouring

  • 1. Start with LTS with all states the same colour.
slide-46
SLIDE 46

Topic 2.4: FSP Theory

Computing a colouring

  • 1. Start with LTS with all states the same colour.
  • 2. Pick a colour c and an action α such that some of the states

with colour c can make the action α to some particular colour

  • f state and some states cannot.
slide-47
SLIDE 47

Topic 2.4: FSP Theory

Computing a colouring

  • 1. Start with LTS with all states the same colour.
  • 2. Pick a colour c and an action α such that some of the states

with colour c can make the action α to some particular colour

  • f state and some states cannot.
  • 3. Give the states with colour c that can make the action α a

new colour.

slide-48
SLIDE 48

Topic 2.4: FSP Theory

Computing a colouring

  • 1. Start with LTS with all states the same colour.
  • 2. Pick a colour c and an action α such that some of the states

with colour c can make the action α to some particular colour

  • f state and some states cannot.
  • 3. Give the states with colour c that can make the action α a

new colour.

  • 4. Repeat from step two until no further colour/action pairs

meet the criteria listed there.

slide-49
SLIDE 49

Topic 2.4: FSP Theory

Colouring Example

P = ( a -> Q | b-> T ), Q = ( a -> U | b-> R ), R = ( a -> Q | b-> V ), S = ( a -> U | b-> T ), T = ( a -> S | b-> V ), U = c -> STOP, V = d -> STOP. ⋆ Draw LTS? ⋆

slide-50
SLIDE 50

Topic 2.4: FSP Theory

Colouring Example

P = ( a -> Q | b-> T ), Q = ( a -> U | b-> R ), R = ( a -> Q | b-> V ), S = ( a -> U | b-> T ), T = ( a -> S | b-> V ), U = c -> STOP, V = d -> STOP.

d b a c b a a a b a b b V U T Q STOP S R P

slide-51
SLIDE 51

Topic 2.4: FSP Theory

Colouring Example

P = ( a -> Q | b-> T ), Q = ( a -> U | b-> R ), R = ( a -> Q | b-> V ), S = ( a -> U | b-> T ), T = ( a -> S | b-> V ), U = c -> STOP, V = d -> STOP. ⋆ Calculate colouring? ⋆

d b a c b a a a b a b b V U T Q STOP S R P

slide-52
SLIDE 52

Topic 2.4: FSP Theory

Colouring Example

P = ( a -> Q | b-> T ), Q = ( a -> U | b-> R ), R = ( a -> Q | b-> V ), S = ( a -> U | b-> T ), T = ( a -> S | b-> V ), U = c -> STOP, V = d -> STOP. ⋆ Calculate colouring? ⋆

d b a a c b a b a b b a V U T Q STOP S R P

split on a

slide-53
SLIDE 53

Topic 2.4: FSP Theory

Colouring Example

P = ( a -> Q | b-> T ), Q = ( a -> U | b-> R ), R = ( a -> Q | b-> V ), S = ( a -> U | b-> T ), T = ( a -> S | b-> V ), U = c -> STOP, V = d -> STOP. ⋆ Calculate colouring? ⋆

d b a a c b a b a b b a V U T Q STOP S R P

split on a again

slide-54
SLIDE 54

Topic 2.4: FSP Theory

Colouring Example

P = ( a -> Q | b-> T ), Q = ( a -> U | b-> R ), R = ( a -> Q | b-> V ), S = ( a -> U | b-> T ), T = ( a -> S | b-> V ), U = c -> STOP, V = d -> STOP. ⋆ Calculate colouring? ⋆

d b a a c b a b a b b a V U T Q STOP S R P

split on b

slide-55
SLIDE 55

Topic 2.4: FSP Theory

Colouring Example

P = ( a -> Q | b-> T ), Q = ( a -> U | b-> R ), R = ( a -> Q | b-> V ), S = ( a -> U | b-> T ), T = ( a -> S | b-> V ), U = c -> STOP, V = d -> STOP. ⋆ Calculate colouring? ⋆

d b a a c b a b a b b a V U Q STOP S R P T

split on c

slide-56
SLIDE 56

Topic 2.4: FSP Theory

Colouring Example

P = ( a -> Q | b-> T ), Q = ( a -> U | b-> R ), R = ( a -> Q | b-> V ), S = ( a -> U | b-> T ), T = ( a -> S | b-> V ), U = c -> STOP, V = d -> STOP. ⋆ Calculate colouring? ⋆

d b a a c b a b a b b a V T Q STOP S R P U

split on d

slide-57
SLIDE 57

Topic 2.4: FSP Theory

Colouring Example

P = ( a -> Q | b-> T ), Q = ( a -> U | b-> R ), R = ( a -> Q | b-> V ), S = ( a -> U | b-> T ), T = ( a -> S | b-> V ), U = c -> STOP, V = d -> STOP. ⋆ Calculate colouring? ⋆

d b a a c b a b a b b a V T Q STOP S R P U

LTS is partitioned

slide-58
SLIDE 58

Topic 2.4: FSP Theory

Review ...

  • Fact: Isomorphic LTSs are bisimilar
slide-59
SLIDE 59

Topic 2.4: FSP Theory

Review ...

  • Fact: Isomorphic LTSs are bisimilar
  • Fact: Bisimilar LTSs have the same trace sets.
slide-60
SLIDE 60

Topic 2.4: FSP Theory

Review ...

  • Fact: Isomorphic LTSs are bisimilar
  • Fact: Bisimilar LTSs have the same trace sets.
  • Fact: The relation ∼ is an equivalence relation, i.e.

reflexive, symmetric, transitive

slide-61
SLIDE 61

Topic 2.4: FSP Theory

Review ...

  • Fact: Isomorphic LTSs are bisimilar
  • Fact: Bisimilar LTSs have the same trace sets.
  • Fact: The relation ∼ is an equivalence relation, i.e.

reflexive, symmetric, transitive

  • A colouring of an LTS is trivial if distinct states get distinct

colours.

slide-62
SLIDE 62

Topic 2.4: FSP Theory

Review ...

  • Fact: Isomorphic LTSs are bisimilar
  • Fact: Bisimilar LTSs have the same trace sets.
  • Fact: The relation ∼ is an equivalence relation, i.e.

reflexive, symmetric, transitive

  • A colouring of an LTS is trivial if distinct states get distinct

colours.

  • Simplification:
slide-63
SLIDE 63

Topic 2.4: FSP Theory

Review ...

  • Fact: Isomorphic LTSs are bisimilar
  • Fact: Bisimilar LTSs have the same trace sets.
  • Fact: The relation ∼ is an equivalence relation, i.e.

reflexive, symmetric, transitive

  • A colouring of an LTS is trivial if distinct states get distinct

colours.

  • Simplification:
  • An LTS may have a non-trivial self-compatible colouring; i.e.

there are distinct states that get the same colouring.

slide-64
SLIDE 64

Topic 2.4: FSP Theory

Review ...

  • Fact: Isomorphic LTSs are bisimilar
  • Fact: Bisimilar LTSs have the same trace sets.
  • Fact: The relation ∼ is an equivalence relation, i.e.

reflexive, symmetric, transitive

  • A colouring of an LTS is trivial if distinct states get distinct

colours.

  • Simplification:
  • An LTS may have a non-trivial self-compatible colouring; i.e.

there are distinct states that get the same colouring.

  • Simplify LTS by identifying states that have the same colour.

(no problem with transitions due to self-compatibility property)

slide-65
SLIDE 65

Topic 2.4: FSP Theory

Review ...

  • Fact: Isomorphic LTSs are bisimilar
  • Fact: Bisimilar LTSs have the same trace sets.
  • Fact: The relation ∼ is an equivalence relation, i.e.

reflexive, symmetric, transitive

  • A colouring of an LTS is trivial if distinct states get distinct

colours.

  • Simplification:
  • An LTS may have a non-trivial self-compatible colouring; i.e.

there are distinct states that get the same colouring.

  • Simplify LTS by identifying states that have the same colour.

(no problem with transitions due to self-compatibility property)

  • The new LTS will be bisimilar to the original one (Why?)
slide-66
SLIDE 66

Topic 2.4: FSP Theory

Outline

Topic 2.4: FSP Theory Process Equivalence Examples Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion

slide-67
SLIDE 67

Topic 2.4: FSP Theory

Minimisation of LTSs

An LTS is minimised if every self-compatible colouring is trivial. Fact: Every LTS can be minimised; i.e. for every LTS there is a minimised LTS that is bisimilar with it.

  • LTS T not minimised? Then it has a non-trivial colouring.
slide-68
SLIDE 68

Topic 2.4: FSP Theory

Minimisation of LTSs

An LTS is minimised if every self-compatible colouring is trivial. Fact: Every LTS can be minimised; i.e. for every LTS there is a minimised LTS that is bisimilar with it.

  • LTS T not minimised? Then it has a non-trivial colouring.
  • Identify states with the same colour to form T1. Then

T ∼ T1.

slide-69
SLIDE 69

Topic 2.4: FSP Theory

Minimisation of LTSs

An LTS is minimised if every self-compatible colouring is trivial. Fact: Every LTS can be minimised; i.e. for every LTS there is a minimised LTS that is bisimilar with it.

  • LTS T not minimised? Then it has a non-trivial colouring.
  • Identify states with the same colour to form T1. Then

T ∼ T1.

  • If T1 is minimised then finish.
slide-70
SLIDE 70

Topic 2.4: FSP Theory

Minimisation of LTSs

An LTS is minimised if every self-compatible colouring is trivial. Fact: Every LTS can be minimised; i.e. for every LTS there is a minimised LTS that is bisimilar with it.

  • LTS T not minimised? Then it has a non-trivial colouring.
  • Identify states with the same colour to form T1. Then

T ∼ T1.

  • If T1 is minimised then finish.
  • If not we can repeat the procedure to get T2 with

T ∼ T1 ∼ T2.

slide-71
SLIDE 71

Topic 2.4: FSP Theory

Minimisation of LTSs

An LTS is minimised if every self-compatible colouring is trivial. Fact: Every LTS can be minimised; i.e. for every LTS there is a minimised LTS that is bisimilar with it.

  • LTS T not minimised? Then it has a non-trivial colouring.
  • Identify states with the same colour to form T1. Then

T ∼ T1.

  • If T1 is minimised then finish.
  • If not we can repeat the procedure to get T2 with

T ∼ T1 ∼ T2.

  • Termination: Ti has strictly fewer states than the previous

LTS Ti−1

slide-72
SLIDE 72

Topic 2.4: FSP Theory

Outline

Topic 2.4: FSP Theory Process Equivalence Examples Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion

slide-73
SLIDE 73

Topic 2.4: FSP Theory

Weak Bisimilarity

  • ASCII tau is Greek letter τ!
  • τ actions are not ‘observable’ so ignore them and simplify?
  • Yes. . . sometimes, BUT they can lead to a significant change
  • f state.
  • Write transition path:

P

τ

→ · · · τ → Q as: P

τ

⇒ Q (zero or more τ transitions going from state P to state Q)

  • If there are no τ transitions then P is the same state as Q.
  • If a is a non-silent action (i.e. a is not τ)

Write transition path: P

τ

⇒ P′

a

→ Q′

τ

⇒ Q as: P

a

⇒ Q (where P′, Q′ are intermediate states)

slide-74
SLIDE 74

Topic 2.4: FSP Theory

  • LTSs are weakly bisimilar if they have weakly compatible

colourings.

  • The colourings of one or more coloured LTSs are weakly

compatible if

  • 1. The starting states of distinct LTSs have the same colour.
  • 2. Whenever states P, Q (of the same or distinct LTS) have the

same colour then for any transition path P

a

⇒ P′ there is a transition path Q

a

⇒ Q′ where P′, Q′ have the same colour. (a may be the ‘empty’ action, ǫ).

  • Strongly bisimilar LTSs are also weakly bisimilar
  • Weak bisimulation is NOT preserved by Choice
slide-75
SLIDE 75

Topic 2.4: FSP Theory

Outline

Topic 2.4: FSP Theory Process Equivalence Examples Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion

slide-76
SLIDE 76

Topic 2.4: FSP Theory

A little background & history

  • Strong bisimulation, the silent action τ, and weak bisimulation

were first introduced by Robin Milner in his process algebra Calculus of Communicating Systems, CCS, (see his book Communication and Concurrency, Prentice Hall (1989)).

slide-77
SLIDE 77

Topic 2.4: FSP Theory

A little background & history

  • Strong bisimulation, the silent action τ, and weak bisimulation

were first introduced by Robin Milner in his process algebra Calculus of Communicating Systems, CCS, (see his book Communication and Concurrency, Prentice Hall (1989)).

  • Many other process algebras have been introduced, used and

studied, with a considerable variety of equivalences.

slide-78
SLIDE 78

Topic 2.4: FSP Theory

A little background & history

  • Strong bisimulation, the silent action τ, and weak bisimulation

were first introduced by Robin Milner in his process algebra Calculus of Communicating Systems, CCS, (see his book Communication and Concurrency, Prentice Hall (1989)).

  • Many other process algebras have been introduced, used and

studied, with a considerable variety of equivalences.

  • One of the main competing approaches is due to Tony Hoare,

his process algebra is called Communicating Sequential Processes, CSP, (see his book with this title, Prentice Hall, (1985)).

slide-79
SLIDE 79

Topic 2.4: FSP Theory

A little background & history

  • Strong bisimulation, the silent action τ, and weak bisimulation

were first introduced by Robin Milner in his process algebra Calculus of Communicating Systems, CCS, (see his book Communication and Concurrency, Prentice Hall (1989)).

  • Many other process algebras have been introduced, used and

studied, with a considerable variety of equivalences.

  • One of the main competing approaches is due to Tony Hoare,

his process algebra is called Communicating Sequential Processes, CSP, (see his book with this title, Prentice Hall, (1985)).

  • FSP uses equivalences of CCS, but the parallel composition
  • perator and syntax is more like CSP.
slide-80
SLIDE 80

Topic 2.4: FSP Theory

A little background & history

  • Strong bisimulation, the silent action τ, and weak bisimulation

were first introduced by Robin Milner in his process algebra Calculus of Communicating Systems, CCS, (see his book Communication and Concurrency, Prentice Hall (1989)).

  • Many other process algebras have been introduced, used and

studied, with a considerable variety of equivalences.

  • One of the main competing approaches is due to Tony Hoare,

his process algebra is called Communicating Sequential Processes, CSP, (see his book with this title, Prentice Hall, (1985)).

  • FSP uses equivalences of CCS, but the parallel composition
  • perator and syntax is more like CSP.
  • FSP is finite-state; CCS and CSP may be infinite-state