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 Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion
Topic 2.4: FSP Theory Outline Topic 2.4: FSP Theory Process Equivalence Examples Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion
Topic 2.4: FSP Theory FSP Process Equivalence Question : When Are FSP Processes Equivalent? i.e. when do they exhibit the ‘same’ behaviour?
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?
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.
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 )
Topic 2.4: FSP Theory • Answer 2: When they have the same trace sets?
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 a 1 · · · a n of actions that can label a transition path of the LTS, starting from the start state.
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 a 1 · · · a n 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 )
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 a 1 · · · a n 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?
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 a 1 · · · a n 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 · P � R behaves the same as Q � R
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 a 1 · · · a n 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 · P � R behaves the same as Q � R ( P = 1 Q ) = ⇒ ( P = equiv Q ) = ⇒ ( P = 2 Q ) or = 1 ⊆ = equiv ⊆ = 2
Topic 2.4: FSP Theory Outline Topic 2.4: FSP Theory Process Equivalence Examples Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion
Topic 2.4: FSP Theory Examples P1 = (a -> Q1 P2 = (a -> Q2), |a -> R1), Q2 = (b -> Q2). Q1 = (b -> Q1), R1 = (b -> R1). P1 P2 a a a Q1 R1 Q2 b b b Obviously, = 1 does not make enough things equal.
Topic 2.4: FSP Theory Another Example P = (a -> b -> P). S2 = ( a -> c -> B S3 = ( a -> c -> B1 Q = (c -> b -> Q). | c -> a -> B), | c -> a -> B2), ||S1 = (P||Q). B = (b -> S2). B1 = (b -> S3), B2 = (b -> S3). S3 S2 S1 b b a a a c c c b b a a c a c c B B1 B2 ⋆ Are they equivalent? ⋆
Topic 2.4: FSP Theory And another ... ⋆ Should the following be equivalent? ⋆ P1 = ( a -> Q1), P2 = ( a -> Q2 Q1 = ( b -> STOP | a -> R2), | c -> STOP). Q2 = (b -> STOP), R2 = (c -> STOP). ⋆ ( P 1 = 2 P 2) ? ⋆ ⋆ ( P 1 = equiv P 2) ? ⋆
Topic 2.4: FSP Theory And another ... ⋆ Should the following be equivalent? ⋆ P1 = ( a -> Q1), P2 = ( a -> Q2 Q1 = ( b -> STOP | a -> R2), | c -> STOP). Q2 = (b -> STOP), R2 = (c -> STOP). ⋆ ( P 1 = 2 P 2) ? ⋆ Yes , all traces the same ⋆ ( P 1 = equiv P 2) ? ⋆
Topic 2.4: FSP Theory And another ... ⋆ Should the following be equivalent? ⋆ P1 = ( a -> Q1), P2 = ( a -> Q2 Q1 = ( b -> STOP | a -> R2), | c -> STOP). Q2 = (b -> STOP), R2 = (c -> STOP). ⋆ ( P 1 = 2 P 2) ? ⋆ Yes , all traces the same ⋆ ( P 1 = equiv P 2) ? ⋆ No , consider parallel composition with:
Topic 2.4: FSP Theory And another ... ⋆ Should the following be equivalent? ⋆ P1 = ( a -> Q1), P2 = ( a -> Q2 Q1 = ( b -> STOP | a -> R2), | c -> STOP). Q2 = (b -> STOP), R2 = (c -> STOP). ⋆ ( P 1 = 2 P 2) ? ⋆ Yes , all traces the same ⋆ ( P 1 = equiv P 2) ? ⋆ No , consider parallel composition with: S1 = ( a -> b -> STOP ) + { c } .
Topic 2.4: FSP Theory And another ... ⋆ Should the following be equivalent? ⋆ P1 = ( a -> Q1), P2 = ( a -> Q2 Q1 = ( b -> STOP | a -> R2), | c -> STOP). Q2 = (b -> STOP), R2 = (c -> STOP). ⋆ ( P 1 = 2 P 2) ? ⋆ Yes , all traces the same ⋆ ( P 1 = equiv P 2) ? ⋆ No , consider parallel composition with: S1 = ( a -> b -> STOP ) + { c } . We need a notion of equivalence called Bisimilarity
Topic 2.4: FSP Theory Outline Topic 2.4: FSP Theory Process Equivalence Examples Strong Bisimilarity Minimising LTSs Weak Bisimilarity Conclusion
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 ))
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
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
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
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.
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
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.
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 → P ′ there is a a same colour then for any transition P → Q ′ where P ′ , Q ′ have the same colour. a transition Q
Recommend
More recommend