1 / 37

# Process Algebra (2IF45) Abstraction in Process Algebra - PowerPoint PPT Presentation

Process Algebra (2IF45) Abstraction in Process Algebra. Suzana Andova. Outline of the lecture. Our way of dealing with internal behaviour : branching bisimulation How we capture Abstraction in Process Algebra combining it with other concepts. Abstraction. Abstraction is used to

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Process Algebra (2IF45) Abstraction in Process Algebra

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

## Process Algebra (2IF45)Abstraction in Process Algebra

Suzana Andova

### Outline of the lecture

• Our way of dealing with internal behaviour: branching bisimulation

• How we capture Abstraction in Process Algebra

• combining it with other concepts

Process Algebra (2IF45)

### Abstraction

Abstraction is used to

• check the correctness of implementation against the system specification

• reduce and simplify the model to enable better, fasted and cleaner model analysis

Question: How do we chose to relate behaviours with internal steps?

Branching bisimulation

Process Algebra (2IF45)

### Branching bisimulation – simple examples first

a

b

a

is branching bisim to

b

a

“ related states must have the same potential

which does not change until an observable action is executed ”

Process Algebra (2IF45)

### Branching bisimulation – simple examples first

is branching bisim to

a

b

a

b

it is not branching bisim to

b

a

Process Algebra (2IF45)

### Branching bisimilar processes

s

s

s

t

t

t

t

a

t’

s’

s’

s’

t’’

a

t’’

• Branching Bisimulation relation: A binary relation R on the set of state S of an LTS is branching bisimulation relation iff the following transfer conditions hold:

• for all states s, t, s’ S, whenever (s, t)  R and s → s’ for some a  A, then there are

• states t’, t’’ S such that t t’ and t’ → t’’ and (s, t’), (s’,t’’)  R;

• 2. vice versa, for all states s, t, s’ S, whenever (s, t)  R and t→ t’ for some a  A, then there are states s’,s’’ S such thats s’ and s’ → s’’ and (s’, t), (s’’,t’)  R;

• 3. if (s, t)  R and s then there is a state t’ such that t t’ , t’ and (s, t’)  R

• 4. whenever (s, t)  R and t then there is a state s’ such that s s’ , s’ and (s’, t)  R

• Two LTSs s and t are branching bisimilar, s b t, iff there is a branching bisimulation relation R such that (s, t)  R

a

a

a

a

Spectrum of behavioural relations

more

power of the observer

less

most powerful

### Weak bisimulation just a short comparison

a

b

c

d1

d2

d3

d4

b

a

b

c

d1

d2

d3

d4

b

a

b

c

d1

d2

d3

d4

Process Algebra (2IF45)

### Branching bisimulation and composition

branching bisimilar!

b

a

a

+

+

b

b

branching bisimilar? NO!

a

a

### Branching bisimulation and composition

branching bisimilar!

b

a

a

+

+

b

b

branching bisimilar? NO!

a

a

Painful conclusion: branching bisimilation is not compositional.

### Branching bisimulation and composition

branching bisimilar

components!

Not branching bisimilar

compositions!

+

+

b

a

b

a

a

a

What to do? Two choices:

Make the relation weaker and relate the two compositions too!

Make the relation stronger and do not relate the two components

from the beginning!

### Rooted Branching Bisimilar processes

Rooted branching bisimulationis strengthened variant of

branching bisimulation strict enough to obtain compositionality

s

t

s

s

t

t

a

a

a

a

a

a

s’

s’

s’

t’

t’

t

t’

b

q

p

p

p

q

b

(aA i.e. can be from A or can be  )

r

• R is Rooted BB between state (s, t)  R if R is Branching Bisimulation relation (as already defined) and the rootcondition:

• if s → s’ for a  A, then there is a state t’S such that t → t’ and (s’, t’) R;

• if t → t’ for a  A, then there is a state s’S such that s → s’ and (s’, t’) R;

• s  if and only if t

• LTSss and t arerooted branching bisimilar, s rb t, iff there is a rooted branching bisimulation relation R such that (s, t)  R

a

a

a

a

### AxiomatizingRooted Branching Bisimulations

Language: BPA(A)

Signature: 0, 1, (a._ )aA, , +, •

Language terms T(BPA(A,))

Closed terms C(BPA(A))

Deduction rules for BPA(A) (a A):

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

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’

x y  y’

x  y  y’

a

a

x y

(x  y) 

y

(x + y) 

Soundness

Strong Bisimilarityon LTSs

Equality of terms

Completeness

Process Algebra (2IF45)

### AxiomatizingRooted Branching Bisimulations

Language: BPA(A)

Signature: 0, 1, (a._ )aA, , +, •

Language terms T(BPA(A,))

Closed terms C(BPA(A))

Deduction rules for BPA(A) (a A):

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

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

Strong Bisimilarityon LTSs

Equality of terms

Rooted Branching

Completeness

Process Algebra (2IF45)

Axiomazing Rooted branching bisimulation

bb

y

x

x

+

+

y

x

+

Turned into equation looks like:

.(x+y) + x = x+y

Axiomazing Rooted branching bisimulation

rb

a

a

bb

y

x

x

+

+

y

x

+

Turned into equation looks like:

B axiom a.(.(x+y) + x) = a.(x+y)

### AxiomatizingRooted Branching Bisimulations

Language: BPA(A)

Signature: 0, 1, (a._ )aA, , +, •

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

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

Strong Bisimilarityon LTSs

Equality of terms

Rooted Branching

Completeness

Process Algebra (2IF45)

### Home work

• Prove soundness of B axiom wrt rooted BB

• Read the proof of ground completeness

Process Algebra (2IF45)

### Combining internal step with other operators

Language: BPA(A)

Signature: 0, 1, (a._ )aA, ,+, •

Language terms T(BPA(A,))

Closed terms C(BPA(A))

Axioms

Deduction rules

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

Axioms for I

Deduction rules for I

Process Algebra (2IF45)

### Combining internal step with other operators:Encapsulation operator

Languagewith

Signature: 0, 1, (a._ )aA, ,+, 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._ )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

Process Algebra (2IF45)

### Exercises

• see distributed copies

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

Guardedness and hiding operator: I cannot appear in tX in X = tX

X = i.I(X), where i  I has solutions i.i.a.1 but also i.i.b.1

Process Algebra (2IF45)

### Abstraction and Recursion and Fairness

• Observation:

• they are rooted bb bisimilar

• implicitly internal loop is left eventually

• = 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:

X = .Y

Y = .Y + a.0

Z = .U

U = a.0

RSP+RDP?

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:

X = .Y

Y = .Y + a.0

Z = .U

U = a.0

RSP+RDP?

X = Z

At least two problems:

Those are not guarder recursive specifications!

Even if they are somehow made guarded, 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’

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

Z’

i

applying {i}

U’

U

X

X’

i

a

a

i

0

0

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}

applying {i}

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’) = 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(Y’) =. I(a.0)

Process Algebra (2IF45)

Abstraction and Recursion and Fairness: Fairness rule KFAR1b

a bit more general rule:

x1 = i1.x1 + y1, i1 I

.I(x1) =. I(y1)

Process Algebra (2IF45)

Abstraction and Recursion and Fairness: Fairness rule KFARnb

General KFAR 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 a coin

Process Algebra (2IF45)

### Home Work (part2)

• Study the Coin tossing example

• Study the complete proof for ABP, derivation up to abstraction and derivation by means of fairness derivation rules.

Process Algebra (2IF45)