Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova
1 Outline of the lecture Combining silent steps with recursion Fairness rules Some examples Fairness: is this what it is really about? Process Algebra (2IF45)
2 Axiomatizing Rooted Branching Bisimulations Language: BPA (A) Signature: 0, 1, (a._ ) a A, , +, Language terms T(BPA (A,)) Closed terms C(BPA (A)) Rooted Branching Bisimilarity on LTSs Equality of terms x+ y = y+x (x+y) + z = x+ (y + z) x + x = x x+ 0 = x (x+ y) z = x z+y z (x y) z = x (y z) 0 x = 0 x 1 = x 1 x = x a.x y = a.(x y) a.( .(x+y) + x) = a.(x+y) Completeness Soundness Deduction rules for BPA (A) (a A ): x x’ x + y x’ a a 11 x (x + y) a.x x a y y’ x + y y’ a a y (x + y) ⑥ x x’ x y x’ y a a x y (x y) x y y’ x y y’ a a
3 Process Algebra (2IF45) Combining internal step with other operators: Hiding operator Language: BPA (A) Signature: 0, 1, (a._ ) a A, , +,, I (I A) Language terms T(BPA (A,)) Closed terms C(BPA (A)) turns external actions into internal steps
4 Process Algebra (2IF45) Combining internal step with other operators: Encapsulation operator Language with Signature: 0, 1, (a._ ) a A, , +, H (H A) blocks actions
5 Process Algebra (2IF45) Combining internal step with other operators: Parallel composition and communication Language: TCP (A) Signature : 0, 1, (a._ ) a A, , +,, I (I A), ||, |, ╙, H, Language terms T(BPA (A, )) Closed terms C(BPA (A, )) Axioms for parallel composition with silent step: x ╙ .y = x ╙ y x | .y = 0
6 Exercises Process Algebra (2IF45)
7 Home work You DID prove soundness of B axiom wrt rooted BB! You DID Read the proof of ground completeness Process Algebra (2IF45)
8 Bisimilarity vs. Derivability Process Algebra (2IF45) Rooted branching bisimulation TCP (A, ) …. a.( .(x+y) +x) = a.(x+y) … a a b b Language: TCP (A) Signature : 0, 1, (a._ ) a A, , +,, I (I A), ||, |, ╙, H, Language terms T(BPA (A, )) Closed terms C(BPA (A, ))
9 Process Algebra (2IF45) Rooted branching bisimulation TCP (A, ) …. a.( .(x+y) +x) = a.(x+y) … a a b b a a TCP (A, ) (+RSP,RDP,…) X = . Y Y = . Y +a.0 Can we derive X = . a.0? Language: TCP (A) Signature : 0, 1, (a._ ) a A, , +,, I (I A), ||, |, ╙, H, Language terms T(BPA (A, )) Closed terms C(BPA (A, )) Bisimilarity vs. Derivability
10 Abstraction, silent steps and Recursion Guardedness and silent steps: cannot be a guard of a variable X = . X has solutions . . a.1 but also . . b.1 (Do you remember what a solution of a rec. spec. is?) Guardedness and hiding operator: I cannot appear in t X in X = t X X = i. I (X), where i I has solutions i.a.1 but also i. b.1 Process Algebra (2IF45) Guardedness with silent step is defined
11 Abstraction and Recursion and Fairness Process Algebra (2IF45) X Y a 0 Z U a 0
12 Abstraction and Recursion and Fairness Process Algebra (2IF45) X Y a 0 X = .Y Y = .Y + a.0 Z U a 0 Z = .U U = a.0 HOW? RSP+RDP ? X = Z Observation on LTSs: 1.they are rooted bb bisimilar 2.implicitly internal loop is left eventually = fairness As recursive specifications:
13 Abstraction and Recursion and Fairness Process Algebra (2IF45) X Y a 0 X = .Y Y = .Y + a.0 Z U a 0 Z = .U U = a.0 X = Z At least two problems: 1.One is not guarder recursive specification! 2.Even if it is somehow made guarded, (but how?) B axiom is not sufficient to rewrite one spec into another Observation on LTSs: 1.they are rooted bb bisimilar 2.implicitly internal loop is left eventually = fairness As recursive specifications: HOW? RSP+RDP ?
14 Process Algebra (2IF45) X = .Y Y = .Y + a.0 X’ = i.Y’ Y’ = i.Y’ + a.0 for some action i to be turned internal “soon” by applying I for I = {i} represents X Y a 0 X’ Y’ i a 0 i applying {i} (X’) Abstraction and Recursion and Fairness: problem 1. dealing with guardedness
15 Process Algebra (2IF45) Z = .U U = a.0 Z’ = i.U’ U’ = a.0 Abstraction and Recursion and Fairness: problem 1. dealing with guardedness X = .Y Y = .Y + a.0 X’ = i.Y’ Y’ = i.Y’ + a.0 for some action i to be turned internal “soon” by applying I for I = {i} represents X Y a 0 X’ Y’ i a 0 i applying {i} (X’) represents Z’ U’ i a 0 applying {i} (Z’) Z U 0 a
16 Process Algebra (2IF45) Z = .U U = a.0 Z’ = i.U’ U’ = a.0 Z’ U’ i a 0 applying {i} (Z’) Z U 0 a Abstraction and Recursion and Fairness: problem 1. dealing with guardedness X = .Y Y = .Y + a.0 X’ = i.Y’ Y’ = i.Y’ + a.0 for some action i to be turned internal “soon” by applying I for I = {i} represents X Y a 0 X’ Y’ i a 0 i applying {i} (X’) represents OK! How to connect them ?
17 Process Algebra (2IF45) X’ = i.Y’ Y’ = i.Y’ + a.0 Something like this shall help: Y’ = i.Y’ + a.0, i I . I (Y’) = . I (a.0) Abstraction and Recursion and Fairness: problem 2. derivation rules We want to derive that I (X’) = . a.0 = I (Z’)! We need new rules for this!
18 Process Algebra (2IF45) a bit more general rule: x 1 = i 1.x 1 + y 1, i 1 I, I A . I (x 1 ) = . I (y 1 ) Abstraction and Recursion and Fairness: Fairness rules KFAR b General KFAR n b rule is: x 1 = i 1.x 2 + y 1, x 2 = i 2.x 3 + y 2, … x n = i n.x 1 + y n, {i 1, … i n } I { }, there is i k . I (x 1 ) = . ( I (y 1 ) + … + I (y n ))
19 Process Algebra (2IF45) General KFAR n b rule is: x 1 = i 1.x 2 + y 1, x 2 = i 2.x 3 + y 2, … x n = i n.x 1 + y n, i 1, … i n I, there is i k . I (x 1 ) = . ( I (y 1 ) + … + I (y n )) Abstraction and Recursion and Fairness: Fairness rule KFAR n b
20 Process Algebra (2IF45) Abstraction and Recursion and Fairness: Example of tossing coins This exercise has be worked out during the lecture. If you didn’t attend the lecture you can find a similar exercise in [1] to show applicability of the KFAR rule
21 Process Algebra (2IF45) Abstraction and Recursion and Fairness: Example of throwing a die This exercise has be worked out during the lecture. If you didn’t attend the lecture you can find a similar exercise in [1] to show applicability of the CFAR rule
22 Process Algebra (2IF45) There will be no lecture on 29 th of May