This preview shows pages 1–10. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: A Theoretical Basis of CommunicationCentred Concurrent Programming Marco Carbone 1 , 2 Kohei Honda 1 Nobuko Yoshida 2 Robin Milner 3 Gary Brown 4 Steve RossTalbot 4 1 Queen Mary, University of London, UK 2 Imperial College, London, UK 3 University of Cambridge, UK 4 Pi4 Technologies Ltd Abstract. This document presents two different paradigms of description of communication behaviour, one focussing on global message flows and another on endpoint behaviours, as formal calculi based on session types. The global calculus originates from Choreography Description Language, a web service description language developed by W3C WSCDL working group. The endpoint calculus is a typed πcalculus. The global calculus describes an interaction scenario from a vantage viewpoint; the endpoint calculus precisely identifies a local behaviour of each participant. After introducing the static and dynamic semantics of these two calculi, we explore a theory of endpoint projection which defines three principles for wellstructured global description. The theory then defines a translation under the three principles which is sound and complete in the sense that all and only behaviours speci fied in the global description are realised as communications among endpoint processes. Throughout the theory, underlying type structures play a fundamental role. The document is divided in two parts: part I introduces the two descriptive frameworks using simple but nontrivial examples; the second part establishes a theory of the global and endpoint formalisms. iii Contents Abstract. iii Part 1. Introductory Examples 1 1. Introduction to Part 1 3 2. Describing Communication Behaviour (1) 5 3. Describing Communication Behaviour (2) 10 4. Describing Communication Behaviour (3) 15 5. Correspondence with CDL 23 Part 2. A Formal Theory of Structured Global Programming 25 6. Introduction to Part 2 27 7. Informal Preview 28 8. Global Calculus (1): Syntax 31 9. Global Calculus (2): Reduction 36 10. Global Calculus (3): Typing 41 11. EndPoint Calculus (1): Syntax and Reduction 52 12. EndPoint Calculus (2): Typing 58 13. Theory of EndPoint Projection (1): Connectedness 66 14. Theory of EndPoint Projection (2): WellThreadedness 72 15. Theory of EndPoint Projection (3): Coherence 83 16. Main Results: EPP Theorem and its Consequences 91 17. Extension and Applications 110 18. Related Work 114 Bibliography 117 Appendix 119 Appendix A. Subject Reduction for the global calculus type system 121 Appendix B. Subject Reduction for the endpoint calculus type system 123 Appendix C. Alternative Inference Algorithm for Wellthreadedness 125 v Part 1 Introductory Examples 1. Introduction to Part 1 This paper introduces two different ways of describing communicationcentred software in the form of formal calculi and discusses their relationship. Two different frameworks of description, one centring on global message flows and another centring on local (endpoint) behaviours, share the common feature,...
View
Full
Document
This note was uploaded on 12/27/2011 for the course CMPSC 290h taught by Professor Chong during the Fall '09 term at UCSB.
 Fall '09
 Chong

Click to edit the document details