API Generation for Multiparty Session Types, Revisited and Revised using Scala 3 (Pearl)VCOOP 2022ECOOP 2022
Thu 7 Jul 2022 15:00 - 15:30 at Zoom - VCOOP 10 Chair(s): Philipp Haller
Construction and analysis of distributed systems is difficult. Multiparty session types (MPST) constitute a method to make it easier. In practice, the premier approach to apply the MPST method in combination with mainstream programming languages has been based on API generation. In this paper (pearl), we revisit and revise this approach.
Regarding our “revisitation”, using Scala 3, we present the existing API generation approach, which is based on deterministic finite automata (DFA), in terms of both the existing states-as-classes encoding of DFAs as APIs, and a new states-as-type-parameters encoding; the latter leverages match types in Scala 3. Regarding our “revision”, also using Scala 3, we present a new API generation approach that is based on sets of pomsets instead of DFAs; it crucially leverages match types, too. Through this fresh perspective, which can avoid two forms of combinatorial explosion that the DFA-based approach suffers from, we show how to effectively support an important feature—concurrent subprotocols—for the first time; it is incorporated in a new tool, which we present as well.
Thu 9 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30 | Session Types 1Research Papers / Expert Discussion at Aurora Borealis 1 Chair(s): Dominic Orchard University of Kent, UK | ||
11:00 30mPanel | Concurrent and distributed programmingExpert Discussion Expert Discussion | ||
11:30 20mTalk | Ferrite: A Judgmental Embedding of Session Types in RustVCOOP 2022ECOOP 2022 Research Papers Ruo Fei Chen Independent Researcher, Stephanie Balzer Carnegie Mellon University, Bernardo Toninho Nova University of Lisbon / NOVA-LINCS Pre-print | ||
11:50 20mTalk | API Generation for Multiparty Session Types, Revisited and Revised using Scala 3 (Pearl)VCOOP 2022ECOOP 2022 Research Papers Guillermina Cledou HASLab, INESC TEC; University of Minho, Luc Edixhoven Open University of the Netherlands; CWI, Sung-Shik Jongmans Open University of the Netherlands; CWI, José Proença ISEP P.PORTO & INESC TEC |
Thu 7 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:00 - 16:30 | |||
15:00 30mTalk | API Generation for Multiparty Session Types, Revisited and Revised using Scala 3 (Pearl)VCOOP 2022ECOOP 2022 Research Papers Guillermina Cledou HASLab, INESC TEC; University of Minho, Luc Edixhoven Open University of the Netherlands; CWI, Sung-Shik Jongmans Open University of the Netherlands; CWI, José Proença ISEP P.PORTO & INESC TEC | ||
15:30 30mTalk | Global Type Inference for Featherweight Generic JavaVCOOP 2022ECOOP 2022 Research Papers Andreas Stadelmeier DHBW Stuttgart, Campus Horb, Germany, Martin Plümicke DHBW Stuttgart, Campus Horb, Germany, Peter Thiemann University of Freiburg, Germany | ||
16:00 30mTalk | Stay Safe under Panic: Affine Rust Programming with Multiparty Session TypesVCOOP 2022ECOOP 2022 Research Papers Nicolas Lagaillardie Imperial College London, Rumyana Neykova Brunel University London, Nobuko Yoshida Imperial College London |