Process Algebra (2IF45)
Abstraction and Recursions in Process Algebra
Suzana Andova
2
Outline of the lecture
• Combining silent steps with recursion• Fairness rules• Some examples
• Fairness: is this what it is really about?
Process Algebra (2IF45)
3 Process Algebra (2IF45)
Axiomatizing Rooted Branching Bisimulations
Language: BPA(A)
Signature: 0, 1, (a._ )aA, , +, • Language terms T(BPA(A,))
Closed terms C(BPA(A))
Rooted BranchingBisimilarity 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
1 x (x + y)
a.x x a
y y’ x + y y’
aa
y (x + y) ⑥
x x’ x y x’ y
a
a
x y (x y)
x y y’ x y y’
a
a
4 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
5 Process Algebra (2IF45)
Combining internal step with other operators:Encapsulation operator
Language with
Signature: 0, 1, (a._ )aA, , +, H (H A) blocks actions
6 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
7
Exercises
Process Algebra (2IF45)
8
Home work
• You DID prove soundness of B axiom wrt rooted BB!• You DID Read the proof of ground completeness
Process Algebra (2IF45)
9
Bisimilarity vs. Derivability
Process Algebra (2IF45)
Rooted branching bisimulation
TCP (A, )….a.(.(x+y) +x) = a.(x+y)…
SoundenssGCompleteness
a
a
b b
Language: TCP(A)
Signature: 0, 1, (a._ )aA, , +, •, I (I A), ||, |, ╙, H,
Language terms T(BPA(A, ))
Closed terms C(BPA(A, ))
10 Process Algebra (2IF45)
Rooted branching bisimulation
TCP (A, )….a.(.(x+y) +x) = a.(x+y)…
SoundenssGCompleteness
a
a
b b
a
aconsistency
TCP (A, ) (+RSP,RDP,…)
X = .YY = .Y +a.0
Can we derive X = .a.0?
Language: TCP(A)
Signature: 0, 1, (a._ )aA, , +, •, I (I A), ||, |, ╙, H,
Language terms T(BPA(A, ))
Closed terms C(BPA(A, ))
Bisimilarity vs. Derivability
11
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
Process Algebra (2IF45)
Guardedness with silent step is defined
12
Abstraction and Recursion and Fairness
Process Algebra (2IF45)
X
Y
a
0
Z
U
a
0
13
Abstraction and Recursion and Fairness
Process Algebra (2IF45)
X
Y
a
0
X = .YY = .Y + a.0
Z
U
a
0
Z = .UU = a.0
HOW?RSP+RDP?
X = Z
Observation on LTSs:1. they are rooted bb bisimilar2. implicitly internal loop is left eventually
= fairness
As recursive specifications:
14
Abstraction and Recursion and Fairness
Process Algebra (2IF45)
X
Y
a
0
X = .YY = .Y + a.0
Z
U
a
0
Z = .UU = 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 bisimilar2. implicitly internal loop is left eventually
= fairness
As recursive specifications:
HOW?RSP+RDP?
15 Process Algebra (2IF45)
X = .YY = .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
iapplying {i} (X’)
Abstraction and Recursion and Fairness: problem 1. dealing with guardedness
16 Process Algebra (2IF45)
Z = .UU = a.0
Z’ = i.U’U’ = a.0
Abstraction and Recursion and Fairness: problem 1. dealing with guardedness
X = .YY = .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
iapplying {i} (X’)
represents
Z’
U’
i
a
0
applying {i} (Z’) Z
U
0
a
17 Process Algebra (2IF45)
Z = .UU = 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 = .YY = .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
iapplying {i} (X’)
represents
OK! OK!
How to connect them
?
18 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 rulesWe want to derive that I(X’) = .a.0 = I(Z’)! We need new rules for this!
19 Process Algebra (2IF45)
a bit more general rule:
x1 = i1.x1 + y1, i1 I, I A
. I(x1) = . I(y1)
Abstraction and Recursion and Fairness: Fairness rules KFARb
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))
21 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
22 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
23 Process Algebra (2IF45)
There will be no lecture on 29th of May