Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

22
Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova

Transcript of Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

Page 1: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

Process Algebra (2IF45)

Abstraction and Recursions in Process Algebra

Suzana Andova

Page 2: 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)

Page 3: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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’

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

Page 4: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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

Page 5: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

5 Process Algebra (2IF45)

Combining internal step with other operators:Encapsulation operator

Language with

Signature: 0, 1, (a._ )aA, , +, H (H A) blocks actions

Page 6: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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

Page 7: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

7

Exercises

Process Algebra (2IF45)

Page 8: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

8

Home work

• You DID prove soundness of B axiom wrt rooted BB!• You DID Read the proof of ground completeness

Process Algebra (2IF45)

Page 9: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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, ))

Page 10: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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

Page 11: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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

Page 12: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

12

Abstraction and Recursion and Fairness

Process Algebra (2IF45)

X

Y

a

0

Z

U

a

0

Page 13: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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:

Page 14: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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?

Page 15: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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

Page 16: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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

Page 17: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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

?

Page 18: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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 rules

We want to derive that I(X’) = .a.0 = I(Z’)! We need new rules for this!

Page 19: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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))

Page 20: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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

Page 21: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

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

Page 22: Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.

23 Process Algebra (2IF45)

There will be no lecture on 29th of May