Value-Dependent Session Design in a Dependently Typed Language

de Muijnck-Hughes, J. , Brady, E. and Vanderbauwhede, W. (2019) Value-Dependent Session Design in a Dependently Typed Language. In: Programming Language Approaches to Concurrency- and Communication-cEntric Software, (PLACES 2019), Prague, Czech Republic, 07 Apr 2019, pp. 47-59. (doi: 10.4204/EPTCS.291.5)

184556.pdf - Published Version
Available under License Creative Commons Attribution.



Session Types offer a typing discipline that allows protocol specifications to be used during type-checking, ensuring that implementations adhere to a given specification. When looking to realise global session types in a dependently typed language care must be taken that values introduced in the description are used by roles that know about the value. We present Sessions, a Resource Dependent EDSL for describing global session descriptions in the dependently typed language Idris. As we construct session descriptions the values parameterising the EDSLs' type keeps track of roles and messages they have encountered. We can use this knowledge to ensure that message values are only used by those who know the value. Sessions supports protocol descriptions that are computable, composable, higher-order, and value-dependent. We demonstrate Sessions expressiveness by describing the TCP Handshake, a multi-modal server providing echo and basic arithmetic operations, and a Higher-Order protocol that supports an authentication interaction step.

Item Type:Conference Proceedings
Glasgow Author(s) Enlighten ID:Vanderbauwhede, Professor Wim and De Muijnck-Hughes, Dr Jan
Authors: de Muijnck-Hughes, J., Brady, E., and Vanderbauwhede, W.
College/School:College of Science and Engineering > School of Computing Science
Publisher:Open Publishing Association
Copyright Holders:Copyright © 2019 Jan de Muijnk-Hughes et al.
First Published:First published in Proceedings of the Programming Language Approaches to Concurrency- & Communication-cEntric Software (PLACES 2019): 47-59
Publisher Policy:Reproduced under a Creative Commons License

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

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
720431Border Patrol: Improving Hardware Security through Type-Aware Systems DesignWim VanderbauwhedeEngineering and Physical Sciences Research Council (EPSRC)EP/N028201/1COM - COMPUTING SCIENCE