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

Littérature citée [72 références]  Voir  Masquer  Télécharger

https://hal.archives-ouvertes.fr/hal-00700635
Contributeur : Tyrex Equipe <>
Soumis le : jeudi 8 octobre 2015 - 16:49:16
Dernière modification le : mercredi 29 novembre 2017 - 15:25:01
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

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

349

Téléchargements de fichiers

92