370 likes | 523 Views
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
E N D
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 • 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]
Outline (2) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work
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]
The π-calculus The π-calculus (2) • Semantics: structural congruence (≡) and reduction (→), or transition relations (→) • Semantics-based equivalences ( , ≈) • [San01] l ~ =
Outline (3) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work
Concurrent Combinators • Atoms have ports connected to names • Port polarities determine computation • Fixed dyadic interaction (reduction)
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]
The cc Duplicator • d(abc) | m(ae) →m(be) | m(ce) • cz(bz | cz) | āe → be | ce - - - -
The cc Forwarder • fw(ab) | m(ae) →m(be) • az.bz | āe → be - -
The cc Killer • k(a) | m(ae) →0 • az.0 | āe → 0
The cc Left-binder • bl(ab) | m(ae) →fw(eb) • az.zw.bw | āe → ew.bw - -
The cc Right-binder • br(ab) | m(ae) →fw(be) • az.bw.zw | āe → bw.ew - -
The cc Synchroniser • s(abc) | m(ae) →fw(bc) • az.bw.cw. | āe → bw.cw - -
The cc cc-terms • e.g. Switcher: sw(ab) = (vc)(br(ac) | m(cb))
Outline (4) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work
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]
Encoding the π-calculus in the cc From π-calculus to thecc (2)
Encoding the π-calculus in the cc Analysis of Input Prefix
Encoding the π-calculus in the cc Analysis of Input Prefix (2)
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)
From π-calculus to thecc (3) - - • x*z.(bz|cz) = (vc1,c2)(d(xc1c2) | fw(c1b) | fw(c2b))
Encoding the π-calculus in the cc Analysis of Input Prefix (4) • (vi) x*z.c(v- ũ) = (vc)(s(xvc) | c(c- ũ))
Encoding the π-calculus in the cc From π-calculus to thecc (4)
Outline (5) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work
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]
Properties of the cc Replication • x*z.!P = (vc)(fw(xc) | !c*z.(P | m(cz))) • Want to show: xz.!P ≈ x*z.!P
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)
Properties of the cc Replication (3) 1b)
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)
Outline (6) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work
Conclusion Conclusion • π-calculus • Behaviour: reduction, transition • Equivalences • The cc • Concurrent combinator system • Encoding of input prefix • Proofs
Outline (6) • Introduction • The π-calculus • The cc • Encoding the π-calculus in the cc • Properties of the cc • Conclusion • Related Work
Related Work Minimality and Separation [Yos98] • Generation • Basis • Essential elements • Minimality • 5/7 atoms essential for the asynch.-π • Tool for comparing expressiveness • Separation
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
Related Work Solos in Concert [LV99]