Creative Commons Attribution 3.0 Germany license
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.
@Article{scalas_et_al:DARTS.3.2.3,
author = {Scalas, Alceste and Dardha, Ornela and Hu, Raymond and Yoshida, Nobuko},
title = {{A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming (Artifact)}},
pages = {3:1--3:3},
journal = {Dagstuhl Artifacts Series},
ISSN = {2509-8195},
year = {2017},
volume = {3},
number = {2},
editor = {Scalas, Alceste and Dardha, Ornela and Hu, Raymond and Yoshida, Nobuko},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.3.2.3},
URN = {urn:nbn:de:0030-drops-72847},
doi = {10.4230/DARTS.3.2.3},
annote = {Keywords: process calculi, session types, concurrent programming, Scala}
}
ae0ea460fbe40c7a96abba0913fe546c
(Get MD5 Sum)