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 条
  • [1] Session Coalgebras: A Coalgebraic View on Regular and Context-free Session Types
    Keizer, Alex C.
    Basold, Henning
    Perez, Jorge A.
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2022, 44 (03):
  • [2] Nested Protocols in Session Types
    Demangeon, Romain
    Honda, Kohei
    [J]. CONCUR 2012 - CONCURRENCY THEORY, 2012, 7454 : 272 - 286
  • [3] Structuring Communication with Session Types
    Honda, Kohei
    Hu, Raymond
    Neykova, Rumyana
    Chen, Tzu-Chun
    Demangeon, Romain
    Denielou, Pierre-Malo
    Yoshida, Nobuko
    [J]. CONCURRENT OBJECTS AND BEYOND: PAPERS DEDICATED TO AKINORI YONEZAWA ON THE OCCASION OF HIS 65TH BIRTHDAY, 2014, 8665 : 105 - 127
  • [4] Structuring communication with session types
    Honda, Kohei
    Hu, Raymond
    Neykova, Rumyana
    Chen, Tzu-Chun
    Demangeon, Romain
    Deníelou, Pierre-Malo
    Deníelou, Pierre-Malo
    Yoshida, Nobuko
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8665 : 105 - 127
  • [5] Towards a Session Logic for Communication Protocols
    Craciun, Florin
    Kiss, Tibor
    Costea, Andreea
    [J]. 2015 20TH INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS), 2015, : 140 - 149
  • [6] A Subexponential View of Domains in Session Types
    Nantes, Daniele
    Olarte, Carlos
    Ventura, Daniel
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2022, (357): : 93 - 111
  • [7] COMMUNICATION IN THE THERAPY SESSION - A POINT OF VIEW
    HAHN, E
    [J]. JOURNAL OF SPEECH AND HEARING DISORDERS, 1960, 25 (01): : 18 - 23
  • [8] Session Types = Intersection Types
    Padovani, Luca
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2011, (45): : 71 - 89
  • [9] Protocols by Default Safe MPI Code Generation Based on Session Types
    Ng, Nicholas
    Coutinho, Jose Gabriel de Figueiredo
    Yoshida, Nobuko
    [J]. COMPILER CONSTRUCTION (CC 2015), 2015, 9031 : 212 - 232
  • [10] An implementation of session types
    Neubauer, M
    Thiemann, P
    [J]. PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, 2004, 3057 : 56 - 70