A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming

Scalas, A., Dardha, O. , Hu, R. and Yoshida, N. (2017) A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming. In: 31st European Conference on Object-Oriented Programming (ECOOP 2017), Barcelona, Spain, 18-23 Jun 2017, 24:1-24:31. ISBN 9783959770354 (doi:10.4230/LIPIcs.ECOOP.2017.24)

[img]
Preview
Text
144402.pdf - Published Version
Available under License Creative Commons Attribution.

990kB

Abstract

Multiparty Session Types (MPST) is a typing discipline for message-passing distributed pro- cesses that can ensure properties such as absence of communication errors and deadlocks, and protocol conformance. Can MPST provide a theoretical foundation for concurrent and distrib- uted programming in “mainstream” languages? We address this problem by (1) developing the first encoding of a full-fledged multiparty session π-calculus into linear π-calculus, and (2) using the encoding as the foundation of a practical toolchain for safe multiparty programming in Scala. Our encoding is type-preserving and operationally sound and complete. Crucially, it keeps the distributed choreographic nature of MPST, illuminating that the safety properties of multiparty sessions can be precisely represented with a decomposition into binary linear channels. Previous works have only studied the relation between (limited) multiparty and binary sessions via cent- ralised orchestration means. We exploit these results to implement an automated generation of Scala APIs for multiparty sessions, abstracting existing libraries for binary communication chan- nels. This allows multiparty systems to be safely implemented over binary message transports, as commonly found in practice. Our implementation is the first to support distributed multiparty delegation: our encoding yields it for free, via existing mechanisms for binary delegation.

Item Type:Conference Proceedings
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Dardha, Dr Ornela
Authors: Scalas, A., Dardha, O., Hu, R., and Yoshida, N.
Subjects:Q Science > QA Mathematics > QA75 Electronic computers. Computer science
Q Science > QA Mathematics > QA76 Computer software
College/School:College of Science and Engineering > School of Computing Science
ISSN:1868-8969
ISBN:9783959770354
Copyright Holders:Copyright © 2017 Alceste Scalas, Ornela Dardha, Raymond Hu, and Nobuko Yoshida
First Published:First published in 31st European Conference on Object-Oriented Programming (ECOOP 2017): 24:1-24:31
Publisher Policy:Reproduced under a Creative Commons license

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
612411From Data Types to Session Types - A Basis for Concurrency and Distribution.Simon GayEngineering and Physical Sciences Research Council (EPSRC)EP/K034413/1COM - COMPUTING SCIENCE
614451Exploiting Parallelism through Type Transformations for Hybrid Manycore Systems.Wim VanderbauwhedeEngineering and Physical Sciences Research Council (EPSRC)EP/L00058X/1COM - COMPUTING SCIENCE
720431Border Patrol: Improving Hardware Security through Type-Aware Systems DesignWim VanderbauwhedeEngineering and Physical Sciences Research Council (EPSRC)EP/N028201/1COM - COMPUTING SCIENCE