API Generation for Multiparty Session Types, Revisited and Revised Using Scala 3

Guillermina Cledou, Luc Edixhoven, Sung-Shik Jongmans*, José Proença

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference Article in proceedingAcademicpeer-review

Abstract

Construction and analysis of distributed systems is difficult. Multiparty session types (MPST) constitute a method to make it easier. The idea is to use type checking to statically prove deadlock freedom and protocol compliance of communicating processes. 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. Our fresh perspective allows us to avoid two forms of combinatorial explosion resulting from implementing concurrent subprotocols in the DFA-based approach. We implement our approach in a new API generation tool.

Original languageEnglish
Title of host publication36th European Conference on Object-Oriented Programming
Subtitle of host publicationECOOP 2022
EditorsKarim Ali , Jan Vitek
PublisherSchloss Dagstuhl - LZI GmbH
Pages27:1-27:28
Number of pages28
Volume222
ISBN (Print)9781713858881, 978-3-95977-225-9
DOIs
Publication statusPublished - Jun 2022
EventEuropean Conference on Object Oriented Programming - Berlin, Germany
Duration: 6 Jun 202210 Jun 2022
https://2022.ecoop.org/

Publication series

SeriesLeibniz International Proceedings in Informatics, LIPIcs
Volume222
ISSN1868-8969

Conference

ConferenceEuropean Conference on Object Oriented Programming
Abbreviated titleECOOP 2022
Country/TerritoryGermany
CityBerlin
Period6/06/2210/06/22
Internet address

Keywords

  • Concurrency
  • Scala 3
  • match types
  • pomsets (partially ordered multisets)

Fingerprint

Dive into the research topics of 'API Generation for Multiparty Session Types, Revisited and Revised Using Scala 3'. Together they form a unique fingerprint.

Cite this