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)
Feedback for Dagstuhl Publishing