License: Creative Commons Attribution 3.0 Germany license (CC BY 3.0 DE)
When quoting this document, please refer to the following
DOI: 10.4230/DARTS.3.2.3
URN: urn:nbn:de:0030-drops-72847
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2017/7284/
Scalas, Alceste ;
Dardha, Ornela ;
Hu, Raymond ;
Yoshida, Nobuko
A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming (Artifact)
Abstract
This artifact contains a version of the Scribble tool that, given a protocol specification with multiple participants, can generate Scala APIs for implementing each participant in a type-safe, protocol-abiding way. Crucially, the API generation leverages a decomposition of the multiparty protocol into type-safe peer-to-peer interactions between pairs of participants; and this, in turn, allows to implement the API internals on top of the existing lchannels library for type-safe binary session programming. As a result, several technically challenging aspects in the implementation of multiparty sessions are solved "for free", at the underlying binary level. This includes distributed multiparty session delegation: this artifact implements it for the first time.
BibTeX - Entry
@Article{scalas_et_al:DARTS:2017:7284,
author = {Alceste Scalas and Ornela Dardha and Raymond Hu and Nobuko Yoshida},
title = {{A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming (Artifact)}},
pages = {3:1--3:2},
journal = {Dagstuhl Artifacts Series},
ISSN = {2509-8195},
year = {2017},
volume = {3},
number = {2},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2017/7284},
URN = {urn:nbn:de:0030-drops-72847},
doi = {10.4230/DARTS.3.2.3},
annote = {Keywords: process calculi, session types, concurrent programming, Scala}
}
Keywords: |
|
process calculi, session types, concurrent programming, Scala |
Collection: |
|
DARTS, Volume 3, Issue 2 |
Related Scholarly Article: |
|
http://dx.doi.org/10.4230/LIPIcs.ECOOP.2017.24 |
Issue Date: |
|
2017 |
Date of publication: |
|
20.06.2017 |