Dynamically Updatable Multiparty Session Protocols (Artifact)

Authors David Castro-Perez , Nobuko Yoshida



PDF
Thumbnail PDF

Artifact Description

DARTS.9.2.10.pdf
  • Filesize: 0.49 MB
  • 2 pages

Document Identifiers

Author Details

David Castro-Perez
  • University of Kent, UK
Nobuko Yoshida
  • University of Oxford, UK

Acknowledgements

We deeply thank Benito Echarren Serrano for his initial collaboration on a preliminary version of this work. This work is supported by EPSRC EP/T006544/2, EP/K011715/1, EP/K034413/1, EP/L00058X/1, EP/N027833/2, EP/N028201/1, EP/T014709/2, EP/V000462/1, EP/X015955/1, NCSS/EPSRC VeTSS, and Horizon EU TaRDIS 101093006.

Cite As Get BibTex

David Castro-Perez and Nobuko Yoshida. Dynamically Updatable Multiparty Session Protocols (Artifact). In Special Issue of the 37th European Conference on Object-Oriented Programming (ECOOP 2023). Dagstuhl Artifacts Series (DARTS), Volume 9, Issue 2, pp. 10:1-10:2, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023) https://doi.org/10.4230/DARTS.9.2.10

Artifact

  MD5 Sum: 3e53a6f7f7205c6beca84de5f3d9907a (Get MD5 Sum)

Artifact Evaluation Policy

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

Abstract

Multiparty Session Types (MPST) are typing disciplines that guarantee the absence of deadlocks and communication errors in concurrent and distributed systems. However, existing MPST frameworks do not support protocols with dynamic unbounded participants, and cannot express many common programming patterns that require the introduction of new participants into a protocol. This poses a barrier for the adoption of MPST in languages that favour the creation of new participants (processes, lightweight threads, etc) that communicate via message passing, such as Go or Erlang.
This artifact contains an implementation of Dynamically Updatable Multiparty Session Protocols, a new MPST theory (DMst) that supports protocols with an unbounded number of fresh participants, whose communication topologies are dynamically updatable. DMst guarantees deadlock-freedom and liveness. The artifact comprises a toolchain, GoScr (Go-Scribble), which generates Go implementations from DMst, ensuring by construction, that the different participants will only perform I/O actions that comply with a given protocol specification. We evaluate GoScr by (1) implementing representative parallel and concurrent algorithms from existing benchmarks, textbooks and literature; (2) showing that GoScr does not introduce significant overheads compared to a naive implementation, for computationally expensive benchmarks; and (3) building three realistic protocols (dynamic task delegation, recursive Domain Name System, and a parallel Min-Max strategy) in GoScr that could not be represented with previous theories of session types.

Subject Classification

ACM Subject Classification
  • Theory of computation → Program specifications
  • Computing methodologies → Concurrent programming languages
Keywords
  • Multiparty Session Types
  • Correctness-by-construction
  • Concurrency
  • Golang

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