Exploring Type-Level Bisimilarity towards More Expressive Multiparty Session Types

@article{Jongmans2020ExploringTB,
  title={Exploring Type-Level Bisimilarity towards More Expressive Multiparty Session Types},
  author={S. Jongmans and N. Yoshida},
  journal={Programming Languages and Systems},
  year={2020},
  volume={12075},
  pages={251 - 279}
}
A key open problem with multiparty session types (MPST) concerns their expressiveness: current MPST have inflexible choice, no existential quantification over participants, and limited parallel composition. This precludes many real protocols to be represented by MPST. To overcome these bottlenecks of MPST, we explore a new technique using weak bisimilarity between global types and endpoint types, which guarantees deadlock-freedom and absence of protocol violations. Based on a process algebraic… Expand
Generalising Projection in Asynchronous Multiparty Session Types
TLDR
The standard projection operation in MSTs is generalised to allow us to model and type-check many design patterns in distributed systems, such as load balancing, that are rejected by the standard projection. Expand
Assuming Just Enough Fairness to make Session Types Complete for Lock-freedom
TLDR
It is shown that, by using a general merge operator in an otherwise standard approach to global session types, a session type system complete for the strongest amongst those notions of lock-freedom is obtained, which assumes only justness of execution paths. Expand
Discourje: Runtime Verification of Communication Protocols in Clojure
This paper presents Discourje: a runtime verification framework for communication protocols in Clojure. Discourje guarantees safety of protocol implementations relative to specifications, based on anExpand
Programming Languages and Systems: 29th European Symposium on Programming, ESOP 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25–30, 2020, Proceedings
TLDR
A generalized compiler correctness definition is studied, which uses source and target traces drawn from potentially different sets and connected by an arbitrary relation to provide a generic characterization of the target trace property ensured by correctly compiling a program that satisfies a given source property. Expand
Choreographies as Objects
TLDR
Choral is the first framework for programming choreographies (multiparty protocols) that builds on top of mainstream programming abstractions: in Choral, choreographies are objects and an implementation for each role in the choreography is automatically generated by a compiler. Expand

References

SHOWING 1-10 OF 56 REFERENCES
Timed Multiparty Session Types
TLDR
A typing theory, based on multiparty session types, for modular verification of real-time choreographic interactions, gives a sound and complete characterisation of a new class of CTAs with general topologies that enjoys progress and liveness. Expand
Less is more: multiparty session types revisited
TLDR
A new MPST theory is proposed that is less complicated, and yet more general, than the classic one, and does not require global multiparty session types nor binary session type duality, and proves type safety of many more protocols and processes. Expand
Multiparty Compatibility in Communicating Automata: Characterisation and Synthesis of Global Session Types
TLDR
The key property of the findings is the notion of multiparty compatibility which non-trivially extends the duality condition for binary session types. Expand
Multiparty Session Types Meet Communicating Automata
TLDR
A generalised variant of multiparty session types that have a direct semantical correspondence to CFSMs is presented, generalising Gouda et al's work [12] (for two machines) to an arbitrary number of machines. Expand
A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming
TLDR
The first encoding of a full-fledged multiparty session pi-calculus into linear pi-Calculus is developed, using the encoding as the foundation of a practical toolchain for safe multiparty programming in Scala and the implementation is the first to support distributed multiparty delegation. Expand
Explicit Connection Actions in Multiparty Session Types
TLDR
This work extends asynchronous multiparty session types MPST with explicit connection actions to support protocols with optional and dynamic participants, and develops a modelling-based approach to validate MPST safety and progress for these enriched protocols. Expand
Parameterised Multiparty Session Types
TLDR
A dependent type theory for multiparty sessions which can statically guarantee type-safe, deadlock-free multiparty interactions among processes whose specifications are parameterised by indices is proposed. Expand
Undecidability of asynchronous session subtyping
TLDR
The (un)decidability of subtyping for session types in asynchronously communicating systems is investigated and it is evince that further restrictions on the structure of types make the core subtyped relation decidable. Expand
Deadlock-freedom-by-design: multiparty asynchronous global programming
TLDR
This work proposes a purely-global programming model that defines a new class of deadlock-free concurrent systems, provides type inference, and supports session mobility, and develops a typing discipline that verifies choreographies against protocol specifications, based on multiparty sessions. Expand
On Global Types and Multi-Party Session
TLDR
A new, streamlined language of global types equipped with a trace-based semantics and whose features and restrictions are semantically justified is presented, allowing a multi-party session to leave out redundant traces from an underspecified global type. Expand
...
1
2
3
4
5
...