Multiparty asynchronous session types

被引:118
作者
Honda, Kohei [1 ]
Yoshida, Nobuko [2 ]
Carbone, Marco [1 ]
机构
[1] Univ London, London WC1E 7HU, England
[2] Univ London Imperial Coll Sci Technol & Med, London SW7 2AZ, England
基金
英国工程与自然科学研究理事会;
关键词
theory; types; design; communications; multiparty; structured programming; session types; mobile processes; causality; choreography; LANGUAGE; SYSTEM;
D O I
10.1145/1328897.1328472
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Communication is becoming one of the central elements in software development. As a potential typed foundation for structured communication-centred programming, session types have been studied over the last decade for a wide range of process calculi and programming languages, focussing on binary (two-party) sessions. This work extends the foregoing theories of binary session types to multiparty, asynchronous sessions, which often arise in practical communication-centred applications. Presented as a typed calculus for mobile processes, the theory introduces a new notion of types in which interactions involving multiple peers are directly abstracted as a global scenario. Global types retain a friendly type syntax of binary session types while capturing complex causal chains of multiparty asynchronous interactions. A global type plays the role of a shared agreement among communication peers, and is used as a basis of efficient type checking through its projection onto individual peers. The fundamental properties of the session type discipline such as communication safety, progress and session fidelity are established for general n-party asynchronous interactions.
引用
收藏
页码:273 / 284
页数:12
相关论文
共 50 条
[31]   MODULAR SESSION TYPES FOR OBJECTS [J].
Gay, Simon J. ;
Gesbert, Nils ;
Ravara, Antonio ;
Vasconcelos, Vasco T. .
LOGICAL METHODS IN COMPUTER SCIENCE, 2015, 11 (04)
[32]   Embedding Session Types in Haskell [J].
Lindley, Sam ;
Morris, J. Garrett .
ACM SIGPLAN NOTICES, 2016, 51 (12) :133-145
[33]   Undecidability of asynchronous session subtyping [J].
Bravetti, Mario ;
Carbone, Marco ;
Zavattaro, Gianluigi .
INFORMATION AND COMPUTATION, 2017, 256 :300-320
[34]   Two Sides of the Same Coin: Session Types and Game Semantics A Synchronous Side and an Asynchronous Side [J].
Castellan, Simon ;
Yoshida, Nobuko .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL)
[35]   Modular Session Types for Distributed Object-Oriented Programming [J].
Gay, Simon J. ;
Vasconcclos, Vasco T. ;
Ravara, Antonio ;
Gesbert, Nils ;
Caldeira, Alexandre Z. .
ACM SIGPLAN NOTICES, 2010, 45 (01) :299-312
[36]   Relating Functional and Imperative Session Types [J].
Saffrich, Hannes ;
Thiemann, Peter .
COORDINATION MODELS AND LANGUAGES, COORDINATION 2021, 2021, 12717 :61-79
[37]   Haskell Session Types with (Almost) No Class [J].
Pucella, Riccardo ;
Tov, Jesse A. .
ACM SIGPLAN NOTICES, 2009, 44 (02) :25-36
[38]   CAMP: Cost-Aware Multiparty Session Protocols [J].
Castro-Perez, David ;
Yoshida, Nobuko .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (OOPSLA)
[39]   An implementation of session types [J].
Neubauer, M ;
Thiemann, P .
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, 2004, 3057 :56-70
[40]   TIMED SESSION TYPES [J].
Bartoletti, Massimo ;
Cimoli, Tiziana ;
Murgia, Maurizio .
LOGICAL METHODS IN COMPUTER SCIENCE, 2017, 13 (04)