Modular session types for objects

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 se-mantics, a sound type system, and a sound and complete type checking algorithm for a small distributed class-based object-oriented language with structural subtyping. Static typing guarantees that both sequences of messages on channels, and sequences of method calls on objects, conform to type-theoretic specifications, thus ensuring type-safety. The language includes expected features of session types, such as delegation, and expected features of object-oriented programming, such as encapsulation of local state.
Type de document :
Article dans une revue
Logical Methods in Computer Science, Logical Methods in Computer Science Association, 2015, 4 (12), pp.76. <http://www.lmcs-online.org/>. <10.2168/LMCS-11(4:12)2015>
Liste complète des métadonnées


https://hal.archives-ouvertes.fr/hal-00700635
Contributeur : Tyrex Equipe <>
Soumis le : jeudi 8 octobre 2015 - 16:49:16
Dernière modification le : mercredi 16 décembre 2015 - 11:16:31
Document(s) archivé(s) le : samedi 9 janvier 2016 - 10:35:46

Fichiers

main.pdf
Fichiers produits par l'(les) auteur(s)

Licence


Distributed under a Creative Commons Paternité - Pas de modifications 4.0 International License

Identifiants

Collections

INRIA | LIG | UGA

Citation

Simon J. Gay, Nils Gesbert, António Ravara, Vasco Thudichum Vasconcelos. Modular session types for objects. Logical Methods in Computer Science, Logical Methods in Computer Science Association, 2015, 4 (12), pp.76. <http://www.lmcs-online.org/>. <10.2168/LMCS-11(4:12)2015>. <hal-00700635v4>

Partager

Métriques

Consultations de
la notice

263

Téléchargements du document

82