Modular session types for objects
Simon J. Gay (University of Glasgow), Nils Gesbert (Grenoble INP -, Ensimag), Ant\'onio Ravara (Universidade Nova de Lisboa), Vasco T., Vasconcelos (Universidade de Lisboa)

TL;DR
This paper introduces a modular approach to session types in distributed object-oriented programming, enabling type-safe communication protocols and dynamic object behavior through class and channel session types.
Contribution
It extends session types to classes and channels, allowing modular protocol specifications and unifying communication channels with object session types in an object-oriented setting.
Findings
Type safety for message sequences and method calls.
Modular session types for classes and channels.
Integration of session types with object-oriented features.
Abstract
Session types allow communication protocols to be specified type-theoretically so that protocol implementations can be verified by static type checking. We extend previous work on session types for distributed object-oriented languages in three ways. (1) We attach a session type to a class definition, to specify the possible sequences of method calls. (2) We allow a session type (protocol) implementation to be modularized, i.e. partitioned into separately-callable methods. (3) We treat session-typed communication channels as objects, integrating their session types with the session types of classes. The result is an elegant unification of communication channels and their session types, distributed object-oriented programming, and a form of typestate supporting non-uniform objects, i.e. objects that dynamically change the set of available methods. We define syntax, operational…
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.
