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 subp
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 subp
Original language | English |
---|---|
Place of Publication | Heerlen |
Publisher | Open Universiteit Nederland |
Number of pages | 31 |
Publication status | Published - Jun 2022 |
Publication series
Series | OUNL-CS (Technical Reports) |
---|---|
Number | 03 |
Volume | 2022 |