Foundations of Session Types

被引:48
|
作者
Castagna, Giuseppe [1 ]
Dezani-Ciancaglini, Mariangiola
Giachino, Elena [1 ]
Padovani, Luca
机构
[1] Univ Paris 07, PPS CNRS, Paris, France
来源
PPDP'09: PROCEEDINGS OF THE 11TH INTERNATIONAL ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING | 2009年
关键词
Concurrency; Communication Centered Programming; Sessions Types; Testing Equivalencies; Semantic Subtyping; PI-CALCULUS; LANGUAGES; PROGRESS;
D O I
10.1145/1599410.1599437
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We present a streamlined theory of session types based on a simple yet general and expressive formalism whose main features are semantically characterized and where each design choice is semantically justified. We formally define the semantics of session types and use it to devise the subsessioning relation. We give a coinductive characterization of subsessioning and describe algorithms to decide all the key relations defined in the article. We demonstrate the generality and expressive power of our framework by providing a session-based type system for a pi-calculus variant that does not rely on any specialized construct for session-based communication. The type system is shown to guarantee absence of communication errors and global progress.
引用
收藏
页码:219 / 230
页数:12
相关论文
共 50 条
  • [1] Foundations of Session Types and Behavioural Contracts
    Huttel, Hans
    Lanese, Ivan
    Vasconcelos, Vasco T.
    Caires, Luis
    Carbone, Marco
    Denielou, Pierre-Malo
    Mostrous, Dimitris
    Padovani, Luca
    Ravara, Antonio
    Tuosto, Emilio
    Vieira, Hugo Torres
    Zavattaro, Gianluigi
    ACM COMPUTING SURVEYS, 2016, 49 (01)
  • [2] Foundations of Session Types: 10 Years Later
    Castagna, Giuseppe
    Dezani-Ciancaglini, Mariangiola
    Giachino, Elena
    Padovani, Luca
    PROCEEDINGS OF THE 21ST INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING (PPDP 2019), 2019,
  • [3] Session Types = Intersection Types
    Padovani, Luca
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2011, (45): : 71 - 89
  • [4] Session Types as Generic Process Types
    Gay, Simon
    Gesbert, Nils
    Ravara, Antonio
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2014, (160): : 94 - 110
  • [5] An implementation of session types
    Neubauer, M
    Thiemann, P
    PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, 2004, 3057 : 56 - 70
  • [6] Session Types for Broadcasting
    Kouzapas, Dimitrios
    Gutkovas, Ramunas
    Gay, Simon J.
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2014, (155): : 25 - 31
  • [7] TIMED SESSION TYPES
    Bartoletti, Massimo
    Cimoli, Tiziana
    Murgia, Maurizio
    LOGICAL METHODS IN COMPUTER SCIENCE, 2017, 13 (04)
  • [8] Nested Session Types
    Das, Ankush
    DeYoung, Henry
    Mordido, Andreia
    Pfenning, Frank
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2022, 44 (03):
  • [9] Objects and session types
    Dezani-Ciancaglini, Mariangiola
    Drossopoulou, Sophia
    Mostrous, Dimitris
    Yoshida, Nobuko
    INFORMATION AND COMPUTATION, 2009, 207 (05) : 595 - 641
  • [10] Nested Session Types
    Das, Ankush
    DeYoung, Henry
    Mordido, Andreia
    Pfenning, Frank
    PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2021, 2021, 12648 : 178 - 206