Session coalgebras: a coalgebraic view on session types and communication protocols

From MaRDI portal
Publication:2233467

DOI10.1007/978-3-030-72019-3_14zbMATH Open1473.68114arXiv2011.05712OpenAlexW3151288834MaRDI QIDQ2233467FDOQ2233467


Authors: Alex C. Keizer, Henning Basold, Jorge A. Pérez Edit this on Wikidata


Publication date: 18 October 2021

Abstract: Compositional methods are central to the development and verification of software systems. They allow to break 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.


Full work available at URL: https://arxiv.org/abs/2011.05712




Recommendations




Cites Work


Cited In (5)





This page was built for publication: Session coalgebras: a coalgebraic view on session types and communication protocols

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q2233467)