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

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



PDF
Thumbnail PDF

Artifact Description

DARTS.8.2.19.pdf
  • Filesize: 0.55 MB
  • 4 pages

Document Identifiers

Author Details

Guillermina Cledou
  • HASLab, INESC TEC, Porto, Portugal
  • University of Minho, Braga, Portugal
Luc Edixhoven
  • Open University of the Netherlands, Heerlen, The Netherlands
  • NWO-I, Centrum Wiskunde & Informatica, Amsterdam, The Netherlands
Sung-Shik Jongmans
  • Open University of the Netherlands, Heerlen, The Netherlands
  • NWO-I, Centrum Wiskunde & Informatica, Amsterdam, The Netherlands
José Proença
  • CISTER, ISEP, Polytechnic Institute of Porto, Portugal

Cite As Get BibTex

Guillermina Cledou, Luc Edixhoven, Sung-Shik Jongmans, and José Proença. API Generation for Multiparty Session Types, Revisited and Revised Using Scala 3 (Artifact). In Special Issue of the 36th European Conference on Object-Oriented Programming (ECOOP 2022). Dagstuhl Artifacts Series (DARTS), Volume 8, Issue 2, pp. 19:1-19:4, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2022) https://doi.org/10.4230/DARTS.8.2.19

Artifact

  MD5 Sum: 557dab5a53589ecef7d64c1c13abce9d (Get MD5 Sum)

Artifact Evaluation Policy

The artifact has been evaluated as described in the ECOOP 2022 Call for Artifacts and the ACM Artifact Review and Badging Policy

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. With this artifact, and the companion paper, 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, called Pompset. This artifact contains Pompset.

Subject Classification

ACM Subject Classification
  • Software and its engineering → Software notations and tools
Keywords
  • Concurrency
  • pomsets (partially ordered multisets)
  • match types
  • Scala 3

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail