Process algebra 2if45 abstraction in process algebra
This presentation is the property of its rightful owner.
Sponsored Links
1 / 37

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


  • 91 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Process Algebra (2IF45) Abstraction in Process Algebra

An Image/Link below is provided (as is) to download presentation

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

Presentation Transcript


Process algebra 2if45 abstraction in process algebra

Process Algebra (2IF45)Abstraction in Process Algebra

Suzana Andova


Outline of the lecture

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

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

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 first1

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

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


Process algebra 2if45 abstraction in process algebra

Spectrum of behavioural relations

more

power of the observer

less


Process algebra 2if45 abstraction in process algebra

most powerful


Weak bisimulation just a short comparison

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 bisimulation and composition


Branching bisimulation and composition1

Branching bisimulation and composition

branching bisimilar!

b

a

a

+

+

b

b

branching bisimilar? NO!

a

a


Branching bisimulation and composition2

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 composition3

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


Axiomatizing rooted branching bisimulations

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)


Axiomatizing rooted branching bisimulations1

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)


Process algebra 2if45 abstraction in process algebra

Axiomazing Rooted branching bisimulation

bb

y

x

x

+

+

y

x

+

Turned into equation looks like:

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


Process algebra 2if45 abstraction in process algebra

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)


Axiomatizing rooted branching bisimulations2

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

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

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

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

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

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

Exercises

  • see distributed copies

Process Algebra (2IF45)


Abstraction silent steps and recursion

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

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 fairness1

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 fairness2

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)


Process algebra 2if45 abstraction in process algebra

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)


Process algebra 2if45 abstraction in process algebra

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)


Process algebra 2if45 abstraction in process algebra

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)


Process algebra 2if45 abstraction in process algebra

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)


Process algebra 2if45 abstraction in process algebra

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)


Process algebra 2if45 abstraction in process algebra

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)


Process algebra 2if45 abstraction in process algebra

Abstraction and Recursion and Fairness:

Example of tossing a coin

Process Algebra (2IF45)


Home work part2

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)


  • Login