Blogs (1) >>
POPL 2019
Sun 13 - Sat 19 January 2019 Cascais, Portugal
Wed 16 Jan 2019 16:59 - 17:21 at Sala II - Session Types II Chair(s): Andrew D. Gordon

This paper presents a framework for the static specification and safe programming of message passing protocols where the number and kinds of participants are dynamically instantiated. We develop the first theory of distributed multiparty session types (MPST) to support parameterised protocols with indexed roles—our framework statically infers the different kinds of participants induced by a protocol definition as role variants, and produces decoupled endpoint projections of the protocol onto each variant. This enables safe MPST-based programming of the parameterised endpoints in distributed settings: each endpoint can be implemented separately by different programmers, using different techniques (or languages). We prove the decidability of role variant inference and well-formedness checking, and the correctness of projection.

We implement our theory as a toolchain for programming such role-parametric MPST protocols in Go. Our approach is to generate API families of lightweight, protocol- and variant-specific type wrappers for I/O. The APIs ensure a well-typed Go endpoint program (by native Go type checking) will perform only compliant I/O actions w.r.t. the source protocol. We leverage the abstractions of MPST to support the specification and implementation of Go applications involving multiple channels, possibly over mixed transports (e.g., Go channels, TCP), and channel passing via a unified programming interface. We evaluate the applicability and run-time performance of our generated APIs using microbenchmarks and real-world applications.

Slides (slides.pdf)1.61MiB

Wed 16 Jan

Displayed time zone: Belfast change

16:37 - 17:43
Session Types IIResearch Papers at Sala II
Chair(s): Andrew D. Gordon Microsoft Research and University of Edinburgh
16:37
22m
Talk
Interconnectability of Session-Based Logical ProcessesTOPLAS
Research Papers
Bernardo Toninho Imperial College London, Nobuko Yoshida Imperial College London
Link to publication DOI Pre-print Media Attached
16:59
22m
Talk
Distributed Programming using Role-Parametric Session Types in Go
Research Papers
David Castro-Perez Imperial College London, Raymond Hu Imperial College London, Sung-Shik Jongmans Open University of the Netherlands, Nicholas Ng Imperial College London, Nobuko Yoshida Imperial College London
Link to publication DOI Pre-print Media Attached File Attached
17:21
22m
Talk
Less is More: Multiparty Session Types Revisited
Research Papers
Alceste Scalas Imperial College London, Nobuko Yoshida Imperial College London
Link to publication DOI Pre-print Media Attached File Attached