Linear type theory for asynchronous session types

被引:109
|
作者
Gay, Simon J. [1 ]
Vasconcelos, Vasco T. [2 ]
机构
[1] Univ Glasgow, Dept Comp Sci, Glasgow G12 8QQ, Lanark, Scotland
[2] Univ Lisbon, Fac Ciencias, Dept Informat, P-1749016 Lisbon, Portugal
基金
英国工程与自然科学研究理事会;
关键词
LANGUAGE PRIMITIVES; DISCIPLINE;
D O I
10.1017/S0956796809990268
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Session types Support a type-theoretic formulation of structured patterns of communication, so that the communication behaviour of agents in a distributed system call be verified by static typechecking. Applications include network protocols, business processes and operating system services-In this paper we define a multithread functional language with session types, which unifies, simplifies and extends previous work. There are four main contributions. First is an operational semantics with buffered channels, instead of the synchronous communication of previous work. Second, we prove that the session type of a channel gives all upper bound on the necessary size of the buffer. Third, Session types are Manipulated by means of the standard structures Of a linear type theory, rather than by means of new forms of typing judgement. Fourth, a notion Of subtyping, including the standard subtyping relation for session types (imported into the functional setting), and a novel form of subtyping between standard and linear function types, which allows the typechecker to handle linear types conveniently. Our new approach significantly simplifies session types ill the functional setting clarifies their essential features and provides a secure foundation for language developments Such as polymorphism and object-orientation.
引用
收藏
页码:19 / 50
页数:32
相关论文
共 50 条
  • [1] Dependent Session Types via Intuitionistic Linear Type Theory
    Toninho, Bernardo
    Caires, Luis
    Pfenning, Frank
    [J]. PPDP 11 - PROCEEDINGS OF THE 2011 SYMPOSIUM ON PRINCIPLES AND PRACTICES OF DECLARATIVE PROGRAMMING, 2011, : 161 - 171
  • [2] Exceptional Asynchronous Session Types
    Fowler, Simon
    Lindley, Sam
    Morris, J. Garrett
    Decova, Sara
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3
  • [3] Multiparty asynchronous session types
    Honda, Kohei
    Yoshida, Nobuko
    Carbone, Marco
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (01) : 273 - 284
  • [4] Multiparty Asynchronous Session Types
    Honda, Kohei
    Yoshida, Nobuko
    Carbone, Marco
    [J]. JOURNAL OF THE ACM, 2016, 63 (01)
  • [5] Multiparty Asynchronous Session Types
    Honda, Kohei
    Yoshida, Nobuko
    Carbone, Marco
    [J]. POPL'08: PROCEEDINGS OF THE 35TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2008, : 273 - 284
  • [6] On Urgency in Asynchronous Timed Session Types
    Murgia, Maurizio
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2018, (279): : 85 - 94
  • [7] Fair Refinement for Asynchronous Session Types
    Bravetti, Mario
    Lange, Julien
    Zavattaro, Gianluigi
    [J]. FOUNDATIONS OF SOFTWARE SCIENCE AND COMPUTATION STRUCTURES, FOSSACS 2021, 2021, 12650 : 144 - 163
  • [8] Asynchronous Session Types: Exceptions and Multiparty Interactions
    Carbone, Marco
    Yoshida, Nobuko
    Honda, Kohei
    [J]. FORMAL METHODS FOR WEB SERVICES, 2009, 5569 : 187 - +
  • [9] A Gentle Introduction to Multiparty Asynchronous Session Types
    Coppo, Mario
    Dezani-Ciancaglini, Mariangiola
    Padovani, Luca
    Yoshida, Nobuko
    [J]. FORMAL METHODS FOR MULTICORE PROGRAMMING, SFM 2015, 2015, 9104 : 146 - 178
  • [10] Relating Session Types and Behavioural Contracts: The Asynchronous Case
    Bravetti, Mario
    Zavattaro, Gianluigi
    [J]. SOFTWARE ENGINEERING AND FORMAL METHODS (SEFM 2019), 2019, 11724 : 29 - 47