Session Coalgebras: A Coalgebraic View on Session Types and Communication Protocols

被引:8
|
作者
Keizer, Alex C. [1 ]
Basold, Henning [2 ]
Perez, Jorge A. [3 ,4 ]
机构
[1] Univ Amsterdam, ILLC, Log, Amsterdam, Netherlands
[2] LIACS Leiden Univ, Leiden, Netherlands
[3] Univ Groningen, Groningen, Netherlands
[4] CWI, Amsterdam, Netherlands
基金
美国国家卫生研究院; 荷兰研究理事会;
关键词
Session types; Coalgebra; Process calculi; Coinduction;
D O I
10.1007/978-3-030-72019-3_14
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Compositional methods are central to the development and verification of software systems. They allow breaking down large systems into smaller components, while enabling reasoning about the behaviour of the composed system. For concurrent and communicating systems, compositional techniques based on behavioural type systems have received much attention. By abstracting communication protocols as types, these type systems can statically check that programs interact with channels according to a certain protocol, whether the intended messages are exchanged in a certain order. In this paper, we put on our coalgebraic spectacles to investigate session types, a widely studied class of behavioural type systems. We provide a syntax-free description of session-based concurrency as states of coalgebras. As a result, we rediscover type equivalence, duality, and subtyping relations in terms of canonical coinductive presentations. In turn, this coinductive presentation makes it possible to elegantly derive a decidable type system with subtyping for pi-calculus processes, in which the states of a coalgebra will serve as channel protocols. Going full circle, we exhibit a coalgebra structure on an existing session type system, and show that the relations and type system resulting from our coalgebraic perspective agree with the existing ones.
引用
收藏
页码:375 / 403
页数:29
相关论文
共 50 条
  • [31] SEMIAUTOMATIC IMPLEMENTATION OF TRANSPORT AND SESSION PROTOCOLS
    VONBOCHMANN, G
    COMPUTER STANDARDS & INTERFACES, 1986, 5 (04) : 343 - 349
  • [32] Parameterised Multiparty Session Types
    Yoshida, Nobuko
    Denielou, Pierre-Malo
    Bejleri, Andi
    Hu, Raymond
    FOUNDATIONS OF SOFTWARE SCIENCE AND COMPUTATIONAL STRUCTURES, PROCEEDINGS, 2010, 6014 : 128 - 145
  • [33] Session types for functional multithreading
    Vasconcelos, V
    Ravara, A
    Gay, S
    CONCUR 2004 - CONCURRENCY THEORY, PROCEEDINGS, 2004, 3170 : 497 - 511
  • [34] Exceptional Asynchronous Session Types
    Fowler, Simon
    Lindley, Sam
    Morris, J. Garrett
    Decova, Sara
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL):
  • [35] Session types for orchestration charts
    Fantechi, Alessandro
    Najm, Elie
    COORDINATION MODELS AND LANGUAGES, PROCEEDINGS, 2008, 5052 : 117 - +
  • [36] Linearly Refined Session Types
    Baltazar, Pedro
    Mostrous, Dimitris
    Vasconcelos, Vasco T.
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2012, (101): : 38 - 49
  • [37] Synchronous Multiparty Session Types
    Bejleri, Andi
    Yoshida, Nobuko
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 241 : 3 - 33
  • [38] OSI SESSION LAYER - SERVICES AND PROTOCOLS
    EMMONS, WF
    CHANDLER, AS
    PROCEEDINGS OF THE IEEE, 1983, 71 (12) : 1397 - 1400
  • [39] Translating case material and session protocols
    von der Tann, Matthias
    INTERNATIONAL JOURNAL OF PSYCHOANALYSIS, 2022, 103 (05): : 890 - 892
  • [40] The pairing of contracts and session types
    Laneve, Cosimo
    Padovani, Luca
    CONCURRENCY, GRAPHS AND MODELS: ESSAYS DEDICATED TO UGO MONTANARI ON THE OCCASION OF HIS 65TH BIRTHDAY, 2008, 5065 : 681 - +