Modular session types for objects - Archive ouverte HAL
Pré-Publication, Document De Travail Année : 2015

Modular session types for objects

Simon J. Gay
  • Fonction : Auteur
  • PersonId : 925471
Nils Gesbert
  • Fonction : Auteur
  • PersonId : 958488
Vasco T. Vasconcelos
  • Fonction : Auteur
  • PersonId : 925473

Résumé

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.
Fichier principal
Vignette du fichier
main.pdf (865.34 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00700635 , version 1 (23-05-2012)
hal-00700635 , version 2 (20-01-2015)
hal-00700635 , version 3 (30-01-2015)
hal-00700635 , version 4 (08-10-2015)

Licence

Identifiants

Citer

Simon J. Gay, Nils Gesbert, António Ravara, Vasco T. Vasconcelos. Modular session types for objects. 2015. ⟨hal-00700635v3⟩
649 Consultations
340 Téléchargements

Altmetric

Partager

More