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)
|
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