Resource Sharing via Capability-Based Multiparty Session Types

Abstract

Multiparty Session Types (MPST) are a type formalism used to model communication protocols among components in distributed systems, by specifying type and direction of data transmitted. It is standard for multiparty session type systems to use access control based on linear or affine types. While useful in offering strong guarantees of communication safety and session fidelity, linearity and affinity run into the well-known problem of inflexible programming, excluding scenarios that make use of shared channels or need to store channels in shared data structures. In this paper, we develop capability-based resource sharing for multiparty session types. In this setting, channels are split into two entities, the channel itself and the capability of using it. This gives rise to a more flexible session type system, which allows channel references to be shared and stored in persistent data structures. We illustrate our type system through a producer-consumer case study. Finally, we prove that the resulting language satisfies type safety.

Publication
In iFM 2019
Laura Voinea
Laura Voinea
Research Associate

Laura Voinea is a Research Associate at the University of Kent School of Computing

Ornela Dardha
Ornela Dardha
Assistant Professor

Dr. Ornela Dardha is a Lecturer (Assistant Professor) at the School of Computing Science, University of Glasgow.

Simon Gay
Simon Gay
Head of School of Computing Science

Professor Simon Gay is Head of School in the School of Computing Science.

Related