1 / 23

Process Algebra (2IF45) Extending Process Algebra: Parallel composition More examples

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

kapila
Download Presentation

Process Algebra (2IF45) Extending Process Algebra: Parallel composition More examples

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Process Algebra (2IF45)Extending Process Algebra:Parallel composition More examples Dr. Suzana Andova

  2. 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 • 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

  3. System specification manipulation (recap) 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)

  4. Example: Specifying a Bag • 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

  5. Example: Specifying a Bag • 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

  6. Example: Specifying a Bag • 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?

  7. Example: Specifying a Bag 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!

  8. Example: Specifying a Bag 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)

  9. Example: Specifying a 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) 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 ?

  10. Example: Specifying a 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) 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

  11. Example: Specifying a 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) 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)

  12. Example: Specifying a 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

  13. Example: Specifying a Bag - Conclusion 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

  14. Example: Buffer - Revision 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)

  15. Example: Buffer 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)

  16. Example: BufTwoInOne Recursive Specification 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!

  17. Process Algebra (2IF45)Extending Process Algebra:Abstraction Dr. Suzana Andova

  18. System specification manipulation (recap) 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)

  19. TCP language extended with hiding feature • 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

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

  21. Towards  equivalence relation(s) reducing hiding ? insert insert 40c  coffee coffee reducing hiding ? insert insert  coin card  coffee coffee Process Algebra (2IF45)

  22. Towards our equivalence relation -Conclusions • 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 +

  23. Towards our equivalence relation -Conclusions • 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 +

More Related