1 / 37

Concurrent Combinators for Mobile Processes

Concurrent Combinators for Mobile Processes. Raymond Hu Imperial College, 2006. Outline. Introduction The π -calculus The cc Encoding the π -calculus in the cc Properties of the cc Conclusion Related Work. Introduction. Combinators. Atoms of computation

aida
Download Presentation

Concurrent Combinators for Mobile Processes

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. Concurrent Combinators for Mobile Processes Raymond Hu Imperial College, 2006

  2. Outline • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work

  3. Introduction Combinators • Atoms of computation • The λ-calculus and CL (SKI): syntax and op. sem. • λ*x abstraction (elimination) • CL-term and β-redex behaviour : (λ*x.M)N ►w [N/x]M • [HS86]

  4. Outline (2) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work

  5. The π-calculus The π-calculus • Concurrent computation • Process calculus: syntax, op. sem., equiv. • Synchronisation, name passing • Communication = interaction = observation • Mobility (dynamic communication topology) • The asynchronous π-calculus • [Mil99, San01, HT92, Bou92, Pal97]

  6. The π-calculus The π-calculus (2) • Semantics: structural congruence (≡) and reduction (→), or transition relations (→) • Semantics-based equivalences ( , ≈) • [San01] l ~ =

  7. Outline (3) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work

  8. Concurrent Combinators • Atoms have ports connected to names • Port polarities determine computation • Fixed dyadic interaction (reduction)

  9. The cc The cc • 7 atoms • Constant units of name passing behaviour • Pcc ::= c(ũ) | P|Q | (νz)P | !P | 0 • Constructs have same meaning as in the π-calculus • ≡ defined by same rules as π-calculus • [HY94, Yos98]

  10. The cc Duplicator • d(abc) | m(ae) →m(be) | m(ce) • cz(bz | cz) | āe → be | ce - - - -

  11. The cc Forwarder • fw(ab) | m(ae) →m(be) • az.bz | āe → be - -

  12. The cc Killer • k(a) | m(ae) →0 • az.0 | āe → 0

  13. The cc Left-binder • bl(ab) | m(ae) →fw(eb) • az.zw.bw | āe → ew.bw - -

  14. The cc Right-binder • br(ab) | m(ae) →fw(be) • az.bw.zw | āe → bw.ew - -

  15. The cc Synchroniser • s(abc) | m(ae) →fw(bc) • az.bw.cw. | āe → bw.cw - -

  16. The cc cc-terms • e.g. Switcher: sw(ab) = (vc)(br(ac) | m(cb))

  17. Outline (4) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work

  18. Encoding the π-calculus in the cc From π-calculus to thecc • Homomorphic mapping with emulation of input prefix: • synchronisation • binding • x*z.P abstraction • [HY94, Yos98]

  19. Encoding the π-calculus in the cc From π-calculus to thecc (2)

  20. Encoding the π-calculus in the cc Analysis of Input Prefix

  21. Encoding the π-calculus in the cc Analysis of Input Prefix (2)

  22. Encoding the π-calculus in the cc Analysis of Input Prefix (3) • (i) x*z.(P|Q) = (vc1,c2)(d(xc1c2) | c1*z.P | c2*z.Q)

  23. From π-calculus to thecc (3) - - • x*z.(bz|cz) = (vc1,c2)(d(xc1c2) | fw(c1b) | fw(c2b))

  24. Encoding the π-calculus in the cc Analysis of Input Prefix (4) • (vi) x*z.c(v- ũ) = (vc)(s(xvc) | c(c- ũ))

  25. Encoding the π-calculus in the cc From π-calculus to thecc (4)

  26. Outline (5) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work

  27. Properties of the cc Theorems on the cc • xz.P ≈ x*z.P • x*z.P | m(xy) →≈ P{y/z} Proof: rule induction over pref. map. rules • P ≈ [[P]]cc Proof: structural induction • [HY94, Yos98]

  28. Properties of the cc Replication • x*z.!P = (vc)(fw(xc) | !c*z.(P | m(cz))) • Want to show: xz.!P ≈ x*z.!P

  29. Properties of the cc Replication (2) Let A = !P where P = P0{y/z}, B = (vc)(m(cy) | !c*z.(P0 | m(cz))), S = {(Q|A, Q|B)} U ≡, L = Q|A, R = Q|B 1a)

  30. Properties of the cc Replication (3) 1b)

  31. Properties of the cc Replication (4) Let A = !P where P = P0{y/z}, B = (vc)(m(cy) | !c*z.(P0 | m(cz))), S = {(Q|A, Q|B)} U ≡, L = Q|A, R = Q|B 2)

  32. Outline (6) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work

  33. Conclusion Conclusion • π-calculus • Behaviour: reduction, transition • Equivalences • The cc • Concurrent combinator system • Encoding of input prefix • Proofs

  34. Outline (6) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work

  35. Related Work Minimality and Separation [Yos98] • Generation • Basis • Essential elements • Minimality • 5/7 atoms essential for the asynch.-π • Tool for comparing expressiveness • Separation

  36. Related Work More Related Work • Replication in Concurrent Combinators [HY94] • additional atoms, emulation of replication • Solos in Concert [LV99] • two encodings of continuations in the fusion calculus

  37. Related Work Solos in Concert [LV99]

More Related