Please use this identifier to cite or link to this item:
http://bura.brunel.ac.uk/handle/2438/21096
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Imai, K | - |
dc.contributor.author | Neykova, R | - |
dc.contributor.author | Yoshida, N | - |
dc.contributor.author | Yuen, S | - |
dc.date.accessioned | 2020-06-28T13:40:56Z | - |
dc.date.available | 2020-06-28T13:40:56Z | - |
dc.date.issued | 2020 | - |
dc.identifier | http://arxiv.org/abs/2005.06333v2 | - |
dc.identifier | http://arxiv.org/abs/2005.06333v2 | - |
dc.identifier.uri | http://bura.brunel.ac.uk/handle/2438/21096 | - |
dc.description | EPSRC Doctoral Prize Fellowship | en_US |
dc.description.abstract | Multiparty Session Types (MPST) is a typing discipline for communication protocols. It ensures the absence of communication errors and deadlocks for well-typed communicating processes. The state-of-the-art implementations of the MPST theory rely on (1) runtime linearity checks to ensure correct usage of communication channels and (2) external domain-specific languages for specifying and verifying multiparty protocols. To overcome these limitations, we propose a library for programming with global combinators -- a set of functions for writing and verifying multiparty protocols in OCaml. Local behaviours for all processes in a protocol are inferred at once from a global combinator. We formalise global combinators and prove a sound realisability of global combinators -- a well-typed global combinator derives a set of local types, by which typed endpoint programs can ensure type and communication safety. Our approach enables fully-static verification and implementation of the whole protocol, from the protocol specification to the process implementations, to happen in the same language. We compare our implementation to untyped and continuation-passing style implementations, and demonstrate its expressiveness by implementing a plethora of protocols. We show our library can interoperate with existing libraries and services, implementing DNS (Domain Name Service) protocol and the OAuth (Open Authentication) protocol. | en_US |
dc.language.iso | en | en_US |
dc.publisher | arXiv | en_US |
dc.subject | Multiparty Session Types | en_US |
dc.subject | Communication Protocol | en_US |
dc.subject | Concurrent and Distributed Programming | en_US |
dc.title | Multiparty Session Programming with Global Protocol Combinators | en_US |
dc.type | Article | en_US |
pubs.notes | ECOOP 2020 | - |
Appears in Collections: | Dept of Computer Science Research Papers |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
FullText.pdf | 1.37 MB | Adobe PDF | View/Open |
Items in BURA are protected by copyright, with all rights reserved, unless otherwise indicated.