Session Types as Generic Process Types
Simon J. Gay (School of Computing Science, University of Glasgow),, Nils Gesbert (Grenoble INP - Ensimag), Ant\'onio Ravara (CITI, Dep de, Inform\'atica, FCT, Universidade Nova de Lisboa)

TL;DR
This paper explores encoding session types into a generic process type system within pi-calculus, enabling the combination of protocol-specific guarantees with the flexibility of generic types.
Contribution
It provides a formal encoding of session types into a generic process type system, establishing operational and typing correspondences, and enhancing the expressiveness of process types.
Findings
Operational correspondence between session and process types
Encoding of session subtyping into process subtyping
Enhanced expressiveness with record constructors and subtyping rules
Abstract
Behavioural type systems ensure more than the usual safety guarantees of static analysis. They are based on the idea of "types-as-processes", providing dedicated type algebras for particular properties, ranging from protocol compatibility to race-freedom, lock-freedom, or even responsiveness. Two successful, although rather different, approaches, are session types and process types. The former allows to specify and verify (distributed) communication protocols using specific type (proof) systems; the latter allows to infer from a system specification a process abstraction on which it is simpler to verify properties, using a generic type (proof) system. What is the relationship between these approaches? Can the generic one subsume the specific one? At what price? And can the former be used as a compiler for the latter? The work presented herein is a step towards answers to such questions.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
