Title: Concurrent Combinators for Mobile Processes
1Concurrent Combinators for Mobile Processes
- Raymond Hu
- Imperial College, 2006
2Outline
- Introduction
- The p-calculus
- The cc
- Encoding the p-calculus in the cc
- Properties of the cc
- Conclusion
- Related Work
3Combinators
Introduction
- 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/xM - HS86
4Outline (2)
- Introduction
- The p-calculus
- The cc
- Encoding the p-calculus in the cc
- Properties of the cc
- Conclusion
- Related Work
5The p-calculus
The p-calculus
- Concurrent computation
- Process calculus syntax, op. sem., equiv.
- Synchronisation, name passing
- Communication interaction observation
- Mobility (dynamic communication topology)
- The asynchronous p-calculus
- Mil99, San01, HT92, Bou92, Pal97
6The p-calculus (2)
The p-calculus
- Semantics structural congruence () and
reduction (?), or transition relations (?) - Semantics-based equivalences ( , )
- San01
l
7Outline (3)
- Introduction
- The p-calculus
- The cc
- Encoding the p-calculus in the cc
- Properties of the cc
- Conclusion
- Related Work
8Concurrent Combinators
- Atoms have ports connected to names
- Port polarities determine computation
- Fixed dyadic interaction (reduction)
9The cc
The cc
- 7 atoms
- Constant units of name passing behaviour
- Pcc c(u) PQ (?z)P !P 0
- Constructs have same meaning as in the p-calculus
- defined by same rules as p-calculus
- HY94, Yos98
10Duplicator
The cc
- d(abc) m(ae) ? m(be) m(ce)
- cz(bz cz) ae ? be ce
-
-
-
-
11Forwarder
The cc
- fw(ab) m(ae) ? m(be)
- az.bz ae ? be
-
-
12Killer
The cc
- k(a) m(ae) ? 0
- az.0 ae ? 0
13Left-binder
The cc
- bl(ab) m(ae) ? fw(eb)
- az.zw.bw ae ? ew.bw
-
-
14Right-binder
The cc
- br(ab) m(ae) ? fw(be)
- az.bw.zw ae ? bw.ew
-
-
15Synchroniser
The cc
- s(abc) m(ae) ? fw(bc)
- az.bw.cw. ae ? bw.cw
-
-
16cc-terms
The cc
- e.g. Switcher sw(ab) (vc)(br(ac) m(cb))
17Outline (4)
- Introduction
- The p-calculus
- The cc
- Encoding the p-calculus in the cc
- Properties of the cc
- Conclusion
- Related Work
18From p-calculus to the cc
Encoding the p-calculus in the cc
- Homomorphic mapping with emulation of input
prefix - synchronisation
- binding
- xz.P abstraction
- HY94, Yos98
19From p-calculus to the cc (2)
Encoding the p-calculus in the cc
20Analysis of Input Prefix
Encoding the p-calculus in the cc
21Analysis of Input Prefix (2)
Encoding the p-calculus in the cc
22Analysis of Input Prefix (3)
Encoding the p-calculus in the cc
- (i) xz.(PQ) (vc1,c2)(d(xc1c2) c1z.P
c2z.Q)
23From p-calculus to the cc (3)
-
-
- xz.(bzcz) (vc1,c2)(d(xc1c2) fw(c1b)
fw(c2b))
24Analysis of Input Prefix (4)
Encoding the p-calculus in the cc
- (vi) xz.c(v- u) (vc)(s(xvc) c(c- u))
25From p-calculus to the cc (4)
Encoding the p-calculus in the cc
26Outline (5)
- Introduction
- The p-calculus
- The cc
- Encoding the p-calculus in the cc
- Properties of the cc
- Conclusion
- Related Work
27Theorems on the cc
Properties of the cc
- xz.P xz.P
- xz.P m(xy) ? Py/z
- Proof rule induction over pref. map. rules
- P Pcc
- Proof structural induction
- HY94, Yos98
28Replication
Properties of the cc
- xz.!P (vc)(fw(xc) !cz.(P m(cz)))
- Want to show xz.!P xz.!P
29Replication (2)
Properties of the cc
- Let A !P where P P0y/z,
- B (vc)(m(cy) !cz.(P0 m(cz))),
- S (QA, QB) U , L QA, R QB
1a)
30Replication (3)
Properties of the cc
1b)
31Replication (4)
Properties of the cc
- Let A !P where P P0y/z,
- B (vc)(m(cy) !cz.(P0 m(cz))),
- S (QA, QB) U , L QA, R QB
2)
32Outline (6)
- Introduction
- The p-calculus
- The cc
- Encoding the p-calculus in the cc
- Properties of the cc
- Conclusion
- Related Work
33Conclusion
Conclusion
- p-calculus
- Behaviour reduction, transition
- Equivalences
- The cc
- Concurrent combinator system
- Encoding of input prefix
- Proofs
34Outline (6)
- Introduction
- The p-calculus
- The cc
- Encoding the p-calculus in the cc
- Properties of the cc
- Conclusion
- Related Work
35Minimality and Separation Yos98
Related Work
- Generation
- Basis
- Essential elements
- Minimality
- 5/7 atoms essential for the asynch.-p
- Tool for comparing expressiveness
- Separation
36More Related Work
Related Work
- Replication in Concurrent Combinators HY94
- additional atoms, emulation of replication
- Solos in Concert LV99
- two encodings of continuations in the fusion
calculus
37Solos in Concert LV99
Related Work