220 likes | 369 Views
Process Algebra (2IF45) Abstraction and Recursions in Process Algebra . Suzana Andova. Outline of the lecture. Combining silent steps with recursion Fairness rules Some examples Fairness: is this what it is really about?. Axiomatizing Rooted Branching Bisimulations.
E N D
Process Algebra (2IF45)Abstraction and Recursions in Process Algebra Suzana Andova
Outline of the lecture • Combining silent steps with recursion • Fairness rules • Some examples • Fairness: is this what it is really about? Process Algebra (2IF45)
AxiomatizingRooted Branching Bisimulations Language: BPA(A) Signature: 0, 1, (a._ )aA, , +, • Language terms T(BPA(A,)) Closed terms C(BPA(A)) x+ y = y+x (x+y) + z = x+ (y + z) x + x = x x+ 0 = x (x+ y) z = xz+yz (xy) 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) Deduction rules for BPA(A) (a A): a a a.x x x x’ x + y x’ a a x (x + y) y y’ x + y y’ a 1 a a x x’ x y x’ y x y y’ x y y’ a a x y (x y) y (x + y) ⑥ Soundness Rooted Branching Bisimilarity on LTSs Equality of terms Completeness Process Algebra (2IF45)
Combining internal step with other operators:Hiding operator Language: BPA(A) Signature: 0, 1, (a._ )aA, ,+, •, I(I A) Language terms T(BPA(A,)) Closed terms C(BPA(A)) turns external actions into internal steps Process Algebra (2IF45)
Combining internal step with other operators:Encapsulation operator Languagewith Signature: 0, 1, (a._ )aA, ,+, H(H A) blocks actions Process Algebra (2IF45)
Combining internal step with other operators:Parallel composition and communication Language: TCP(A) Signature: 0, 1, (a._ )aA, ,+, •, 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 Process Algebra (2IF45)
Exercises Process Algebra (2IF45)
Home work • You DID prove soundness of B axiom wrt rooted BB! • You DID Read the proof of ground completeness Process Algebra (2IF45)
Bisimilarity vs. Derivability Language: TCP(A) Signature: 0, 1, (a._ )aA, ,+, •, I(I A), ||, |, ╙, H, Language terms T(BPA(A, )) Closed terms C(BPA(A, )) Rooted branching bisimulation TCP (A, ) …. a.(.(x+y) +x) = a.(x+y) … b b Soundenss GCompleteness a a Process Algebra (2IF45)
Bisimilarity vs. Derivability Language: TCP(A) Signature: 0, 1, (a._ )aA, ,+, •, I(I A), ||, |, ╙, H, Language terms T(BPA(A, )) Closed terms C(BPA(A, )) Rooted branching bisimulation TCP (A, ) …. a.(.(x+y) +x) = a.(x+y) … b b • Soundenss • GCompleteness a a TCP (A, ) (+RSP,RDP,…) X = .Y Y = .Y +a.0 Can we derive X = .a.0? consistency a a Process Algebra (2IF45)
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 tX in X = tX X = i.I(X), where i I has solutions i.a.1 but also i.b.1 • Guardedness with silent step is defined Process Algebra (2IF45)
Abstraction and Recursion and Fairness Z X U Y a a 0 0 Process Algebra (2IF45)
Abstraction and Recursion and Fairness • Observation on LTSs: • they are rooted bb bisimilar • implicitly internal loop is left eventually • = fairness Z X U Y a a 0 0 As recursive specifications: HOW? RSP+RDP? X = .Y Y = .Y + a.0 Z = .U U = a.0 X = Z Process Algebra (2IF45)
Abstraction and Recursion and Fairness • Observation on LTSs: • they are rooted bb bisimilar • implicitly internal loop is left eventually • = fairness Z X U Y a a 0 0 As recursive specifications: HOW? RSP+RDP? X = .Y Y = .Y + a.0 Z = .U U = a.0 X = Z At least two problems: One is not guarder recursive specification! Even if it is somehow made guarded, (but how?) B axiom is not sufficient to rewrite one spec into another Process Algebra (2IF45)
Abstraction and Recursion and Fairness: problem 1. dealing with guardedness for some action i to be turned internal “soon” by applying I for I = {i} X’ = i.Y’ Y’ = i.Y’ + a.0 represents X = .Y Y = .Y + a.0 applying {i} (X’) X X’ i i Y Y’ a a 0 0 Process Algebra (2IF45)
Abstraction and Recursion and Fairness: problem 1. dealing with guardedness for some action i to be turned internal “soon” by applying I for I = {i} Z’ = i.U’ U’ = a.0 X’ = i.Y’ Y’ = i.Y’ + a.0 represents represents Z = .U U = a.0 X = .Y Y = .Y + a.0 applying {i} (Z’) applying {i} (X’) Z Z’ X X’ i i i U’ U Y Y’ a a a a 0 0 0 0 Process Algebra (2IF45)
Abstraction and Recursion and Fairness: problem 1. dealing with guardedness for some action i to be turned internal “soon” by applying I for I = {i} Z’ = i.U’ U’ = a.0 X’ = i.Y’ Y’ = i.Y’ + a.0 represents represents Z = .U U = a.0 X = .Y Y = .Y + a.0 applying {i} (Z’) applying {i} (X’) Z Z’ X X’ i i How to connect them ? i U’ U Y Y’ a a a a 0 0 0 0 OK! OK! Process Algebra (2IF45)
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! 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) Process Algebra (2IF45)
Abstraction and Recursion and Fairness: Fairness rules KFARb a bit more general rule: x1 = i1.x1 + y1, i1 I, I A .I(x1) =. I(y1) General KFARnb rule is: x1 = i1.x2 + y1, x2 = i2.x3 + y2, … xn = in.x1 + yn, {i1, … in } I {} , there is ik .I(x1) =. (I(y1) + … + I(yn)) 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 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 CFARrule Process Algebra (2IF45)
There will be no lecture on 29th of May Process Algebra (2IF45)