1 / 23

# Process Algebra (2IF45) Extending Process Algebra: Parallel composition More examples - PowerPoint PPT Presentation

Process Algebra (2IF45) Extending Process Algebra: Parallel composition More examples. Dr. Suzana Andova. TCP language. TCP(A,  ) A is a pre-defied set of atomic actions  is a pre-defined communication function Signature: (constructs of the language) constants 0,1

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

## PowerPoint Slideshow about ' Process Algebra (2IF45) Extending Process Algebra: Parallel composition More examples' - kapila

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)Extending Process Algebra:Parallel composition More examples

Dr. Suzana Andova

• TCP(A, )

• A is a pre-defied set of atomic actions

•  is a pre-defined communication function

• Signature: (constructs of the language)

• constants 0,1

• action prefix a._

• non-deterministic choice _+_

• sequential composition _  _

• Process behaviour specification described by process equations,

• recursive specifications

• guarded recursive process variables and guarded process specifications

• uniqueness of the process defined by a guarded Rspec

• Additional mechanism for “equating” recursive specifications: RDP and RSP, where “equating” = they define the same (up to bisimulation) process

parallel composition _ || _

communication composition. _ | _

encapsulation H(_), where H  A

reduction

on specification

components’ specifications

reduction

on specification

the whole system specification

composition by axiom

• simpler

• smaller

• in a particular form (basic)

reduction

on LTSs

the state space

SOS rules

Process Algebra (2IF45)

• Assume a set of data elements D = {0,1}

• Bn,m is the process that specify the current content of B

• n is the number of 0s

• m is the number of 1s

• B0,0 = r1(0). B1,0 + r1(1). B0,1

• B0, m+1 = r1(0). B1,m+1 + r1(1). B0,m+2 + s2(1). B0,m

• Bn+1,0 = r1(0). Bn+2,0 + r1(1). Bn+1,1 + s2(0). Bm,0

• Bn+1, m+1 = r1(0). Bn+2,m+1 + r1(1). Bn+1,m+2

• + s2(0). Bn,m+1 + s2(1).Bn+1, m

2

1

• Assume a set of data elements D = {0,1}

• Bn,m is the process that specify the current content of B

• n is the number of 0s

• m is the number of 1s

• B0,0 = r1(0). B1,0 + r1(1). B0,1

• B0, m+1 = r1(0). B1,m+1 + r1(1). B0,m+2 + s2(1). B0,m

• Bn+1,0 = r1(0). Bn+2,0 + r1(1). Bn+1,1 + s2(0). Bn,0

• Bn+1, m+1 = r1(0). Bn+2,m+1 + r1(1). Bn+1,m+2

• + s2(0). Bn,m+1 + s2(1).Bn+1, m

• This is an infinite recursive specification!

• Can we do better?

2

1

• Assume a set of data elements D = {0,1}

• Bn,m is the process that specify the current content of B

• n is the number of 0s

• m is the number of 1s

• Bag = r1(0). (Bag || s2(0)) + r1(1). (Bag || s2(1))

Do they define the same process, namely a bag process?

TCP, RSP, RDP |- Bag = B0,0?

Bag = r1(0). (Bag || s2(0)) + r1(1). (Bag || s2(1))

B0,0 = r1(0). B1,0 + r1(1). B0,1

B0, m+1 = r1(0). B1,m+1 + r1(1). B0,m+2 + s2(1). B0,m

Bn+1,0 = r1(0). Bn+2,0 + r1(1). Bn+1,1 + s2(0). Bn,0

Bn+1, m+1 = r1(0). Bn+2,m+1 + r1(1). Bn+1,m+2

+ s2(0). Bn,m+1 + s2(1).Bn+1, m

1. Define new equations Dn,m using Bag such that

Bag is exactly D0,0

2. and prove that

TCP, RSP, RDP |- D0,0 = B0,0!

Bag = r1(0). (Bag || s2(0)) + r1(1). (Bag || s2(1))

B0,0 = r1(0). B1,0 + r1(1). B0,1

B0, m+1 = r1(0). B1,m+1 + r1(1). B0,m+2 + s2(1). B0,m

Bn+1,0 = r1(0). Bn+2,0 + r1(1). Bn+1,1 + s2(0). Bn,0

Bn+1, m+1 = r1(0). Bn+2,m+1 + r1(1). Bn+1,m+2

+ s2(0). Bn,m+1 + s2(1).Bn+1, m

n (n0)

• Define new equations Dn,m using Bag

• Dn,m = Bag || (s2(0).s2(0)…. s2(0).1 )

• || (s2(1).s2(1).… s2(1).1 )

• such that Bag is exactly D0,0

• 2. and prove that TCP, RSP, RDP |- D0,0 = B0,0?

m (m0)

Bag = r1(0). (Bag || s2(0)) + r1(1). (Bag || s2(1))

Observe that

D0,0 = Bag

Dn,m = Bag || s2(0) n1 || s2(1) m1 for n,m 0

• Our goal is to show that Dn,m = Bn,m, for any n and any m

• Namelly to show that

• D0,0 = B0,0

• D0,m+1 = B, 0, m+1 (only this case on the next slides)

• Dn+1, 0 = Bn+1,0

• Dn+1,m+1 = Bn+1,m+1

?

Bag = r1(0). (Bag || s2(0)) + r1(1). (Bag || s2(1))

Observe that

D0,0 = Bag

Dn,m = Bag || s2(0) n1 || s2(1) m1 for n,m 0

II. D0,m+1 = Bag || (s2(1) m+11)

= Bag ||_ s2(1) m+11 + s2(1) m+11 ||_ Bag

= (r1(0). (Bag || s2(0) ) + r1(1). (Bag || s2(1))) ||_ (s2(1) m+11)

+ (s2(1) m+11) ||_ Bag

= (r1(0). (Bag || s2(0))) ||_ (s2(1) m+11)+

(r1(1). (Bag || s2(1))) ||_ (s2(1) m+11) + (s2(1) m+11) ||_ Bag

=

no communication

Bag = r1(0). (Bag || s2(0)) + r1(1). (Bag || s2(1))

Observe that

D0,0 = Bag

Dn,m = Bag || s2(0) n1 || s2(1) m1 for n,m 0

II. D0,m+1 = Bag || s2(1) m+11

= Bag ||_ s2(1) m+11 + s2(1) m+11 ||_ Bag

= (r1(0). (Bag || s2(0) ) + r1(1). (Bag || s2(1))) ||_ (s2(1) m+11)

+ (s2(1) m+11) ||_ Bag

= (r1(0). (Bag || s2(0)))||_ s2(1) m+11+

(r1(1). (Bag || s2(1)))||_ s2(1) m+11 + s2(1) m+11 ||_ Bag

= r1(0). ((Bag || s2(0))|| s2(1) m+11)+

r1(1). ((Bag || s2(1)) || s2(1) m+11) + s2(1). (s2(1)m1|| Bag)

s2(1) m+11 ||_Bag =

s2(1).s2(1) m1 ||_Bag =s2(1). (s2(1)m1|| Bag)

Bag = r1(0). (Bag || s2(0)) + r1(1). (Bag || s2(1))

Observe that

D0,0 = Bag

Dn,m = Bag || s2(0) n1 || s2(1) m+11 for n,m 0

II. D0,m+1 = Bag || s2(1) m+11

= Bag ||_ s2(1) m+11 + s2(1) m+11 ||_ Bag

= (r1(0). (Bag || s2(0) ) + r1(1). (Bag || s2(1))) ||_ (s2(1) m+11)

+ (s2(1) m+11) ||_ Bag

= (r1(0). (Bag || s2(0)))||_ s2(1) m+11+

(r1(1). (Bag || s2(1)))||_ s2(1) m+11 + s2(1) m+11 ||_ Bag

= r1(0). ((Bag || s2(0))|| s2(1) m+11)+

r1(1). ((Bag || s2(1)) || s2(1) m+11) + s2(1). (s2(1)m1|| Bag)

= r1(0). (D1,m+1)+ r1(1). (D0,m+2) + s2(1). (D0,m)

s2(1).1 || s2(1) m+11 =

s2(1) m+11

Bag = r1(0). (Bag || s2(0)) + r1(1). (Bag || s2(1))

Observe that

D0,0 = Bag

Dn,m = Bag || s2(0) n1 || s2(1) m+11

From RDP and RSP it follows that

I. D0,0 = B0,0

II. D0,m+1 = B0,m+1

III. Dn+1,0= Bn+1,0

IV. Dn+1,m+1 = Bn+1,m+1

Final conclusion: B0,0 = Bag

Assume a set of data elements D = {0,1}

II. Two place buffer

BufTwo = r1(0).B0 + r1(1).B1

B0 = s2(0).BufTwo + r1(0).s2(0).B0 + r1(1).s2(0).B1

B1 = s2(1).BufTwo + r1(0).s2(1).B0 + r1(1).s2(1).B1

1

2

BufTwo

Process Algebra (2IF45)

Assume a set of data elements D = {0,1}

III. Implementing a Two place buffer with Two One place buffers

1

3

2

BufOne13 = r1(0).s3(0).BufOne13 + r1(1).s3(1).BufOne13

BufOne32 = r3(0).s2(0).BufOne32 + r3(1).s2(1).BufOne32

communication: (r3(x), s3(x)) = c3(x), for x  D

blocking: H = {r3(x), s3(x) | x D}

BufTwoInOne = ∂H( BufOne13 || BufOne32 )

Process Algebra (2IF45)

III. Implementing a Two place buffer with Two One place buffers

BufOne13 = r1(0).s3(0).BufOne13 + r1(1).s3(1).BufOne13

BufOne32 = r3(0).s2(0).BufOne32 + r3(1).s2(1).BufOne32

• communication: (r3(x), s3(x)) = c3(x), for x  D

• blocking: H = {r3(x), s3(x) | x  D}

BufTwoInOne = r1(0).c3(0).X0 + r1(1).c3(1).X1

X0 = r1(0).s2(0).c3(0).X0 + r1(1).s2(0). c3(1). X1 + s2(0). BufTwoInOne

X1 = r1(0).s2(1).c3(0).X0 + r1(1).s2(1).c3(1). X1 + s2(1). BufTwoInOne

II. Back to our original specification: Two place buffer

BufTwo = r1(0).B0 + r1(1).B1

B0 = s2(0).BufTwo + r1(0).s2(0).B0 + r1(1).s2(0).B1

B1 = s2(0).BufTwo + r1(0).s2(0).B0 + r1(1).s2(0).B1

NOT YET!

### Process Algebra (2IF45)Extending Process Algebra:Abstraction

Dr. Suzana Andova

reduction

on specification

components’ specifications

reduction

on specification

the whole system specification

composition by axiom

• simpler

• smaller

• in a particular form (basic)

reduction

on LTSs

the state space

SOS rules

Process Algebra (2IF45)

• TCP(A, )

• A is a pre-defied set of atomic actions

• internal (silent) action ,   A

•  is a pre-defined communication function

• Signature: (constructs of the language)

• constants 0,1

• action prefix a._

• non-deterministic choice _+_

• sequential composition _  _

• hiding operator I for I  A

• Process behaviour specification described by process equations,

• guarded recursive process variables and guarded process specifications

• equivalence relation that treats  differently

parallel composition _ || _

communication composition. _ | _

encapsulation H(_), where H  A

Towards  equivalence relation(s)

Think about different ways to reduce these processes?

hiding

reducing

?

in50c

in1euro

in50c

!coffee

!coffee

!coffee

!coffee

hiding

reducing

?

50c

40c

!coffee

!coffee

!tea

!tea

Which reduced process preserves “the same moment of choice” as

in the original process with s?

Process Algebra (2IF45)

Towards  equivalence relation(s)

reducing

hiding

?

insert

insert

40c

coffee

coffee

reducing

hiding

?

insert

insert

coin

card

coffee

coffee

Process Algebra (2IF45)

• Some internal steps cannot be removed.

• Some internal steps can be removed. They are called inert!

• Inert internal steps occur in following situations:

reduces to

a

a

Q

P

P

+

+

Q

P

+

• Some internal steps cannot be removed.

• Some internal steps can be removed. They are called inert!

• Inert internal steps occur in following situations:

• Relation to be established is:

reduces to

a

a

Q

P

P

+

+

Q

P

+