Process Algebra (2IF45) Probabilistic extension: semantics Parallel composition
Process Algebra (2IF45) Abstraction and Recursions in Process Algebra
description
Transcript of Process Algebra (2IF45) Abstraction and Recursions in Process Algebra
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