Session Types for the Transport Layer: Towards an Implementation of TCP

Cavoj, S., Nikitin, I., Perkins, C. and Dardha, O. (2024) Session Types for the Transport Layer: Towards an Implementation of TCP. In: 15th Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES 2024), Luxembourg City, Luxembourg, 06 April 2024, (doi: 10.4204/EPTCS.401.3)

[img] Text
324193.pdf - Published Version
Available under License Creative Commons Attribution.

238kB

Abstract

Session types are a typing discipline used to formally describe communication-driven applications with the aim of fewer errors and easier debugging later into the life cycle of the software. Protocols at the transport layer such as TCP, UDP, and QUIC underpin most of the communication on the modern Internet and affect billions of end-users. The transport layer has different requirements and constraints compared to the application layer resulting in different requirements for verification. Despite this, to our best knowledge, no work shows the application of session types at the transport layer. In this work, we discuss how multiparty session types (MPST) can be applied to implement the TCP protocol. We develop an MPST-based implementation of a subset of a TCP server in Rust and test its interoperability against the Linux TCP stack. Our results highlight the differences in assumptions between session type theory and the way transport layer protocols are usually implemented. This work is the first step towards bringing session types into the transport layer.

Item Type:Conference Proceedings
Additional Information:Supported in part by the UK EPSRC grants EP/X027309/1 and EP/S036075/1.
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Nikitin, Mr Ivan and Dardha, Dr Ornela and Perkins, Dr Colin
Authors: Cavoj, S., Nikitin, I., Perkins, C., and Dardha, O.
College/School:College of Science and Engineering > School of Computing Science
ISSN:2075-2180
Copyright Holders:Copyright © S. Cavoj, I. Nikitin, C. Perkins, O. Dardha
First Published:First published in Electronic Proceedings in Theoretical Computer Science 401:22–36
Publisher Policy:Reproduced under a Creative Commons licence

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
318559Uni-pi: Safety, Adaptability and Resilience in Distributed Ecosystems, by ConstructionOrnela DardhaEngineering and Physical Sciences Research Council (EPSRC)EP/X027309/1Computing Science
304292Streamlining Social Decision Making for Improved Internet StandardsColin PerkinsEngineering and Physical Sciences Research Council (EPSRC)EP/S036075/1Computing Science