2
IRUS TotalDownloads
Altmetric
Multiparty session type-safe web development with static linearity
File | Description | Size | Format | |
---|---|---|---|---|
1904.01287v1.pdf | Published version | 239.62 kB | Adobe PDF | View/Open |
Title: | Multiparty session type-safe web development with static linearity |
Authors: | King, J Ng, N Yoshida, N |
Item Type: | Conference Paper |
Abstract: | Modern web applications can now offer desktop-like experiences from within the browser, thanksto technologies such as WebSockets, which enable low-latency duplex communication between thebrowser and the server. While these advances are great for the user experience, they represent anew responsibility for web developers who now need to manage and verify the correctness of morecomplex and potentially stateful interactions in their application.In this paper, we present a technique for developing interactive web applications that are stati-cally guaranteed to communicate following a given protocol. First, the global interaction protocol isdescribed in the Scribble protocol language – based on multiparty session types. Scribble protocolsare checked for well-formedness, and then each role is projected to a Finite State Machine represent-ing the structure of communication from the perspective of the role. We use source code generationand a novel type-level encoding of FSMs using multi-parameter type classes to leverage the typesystem of the target language and guarantee only programs that communicate following the protocolwill type check.Our work targets PureScript – a functional language that compiles to JavaScript – which cru-cially has an expressive enough type system to providestaticlinearity guarantees. We demonstratethe effectiveness of our approach through a web-based Battleship game where communication isperformed through WebSocket connections. |
Issue Date: | 2-Apr-2019 |
Date of Acceptance: | 2-Apr-2019 |
URI: | http://hdl.handle.net/10044/1/72776 |
DOI: | https://dx.doi.org/10.4204/EPTCS.291.4 |
ISSN: | 2075-2180 |
Publisher: | Open Publishing Association |
Start Page: | 35 |
End Page: | 36 |
Journal / Book Title: | Electronic Proceedings in Theoretical Computer Science, EPTCS |
Volume: | 291 |
Copyright Statement: | © 2019 King, Ng, YoshidaThis work is licensed under theCreative Commons Attribution License (https://creativecommons.org/licenses/by/3.0/) |
Sponsor/Funder: | Engineering & Physical Science Research Council (EPSRC) Engineering & Physical Science Research Council (E Engineering & Physical Science Research Council (E Engineering & Physical Science Research Council (EPSRC) Engineering & Physical Science Research Council (EPSRC) Engineering & Physical Science Research Council (E GCHQ |
Funder's Grant Number: | EP/G015635/1 ERI 025567 (EP/K034413/1) PO 20015393 EP/K011715/1 EP/N027833/1 PO 20015391 4207702 / RFA 15845 |
Conference Name: | 11th Workshop on Programming Language Approaches to Concurrency- & Communication-cEntric Software |
Keywords: | Science & Technology Technology Computer Science, Theory & Methods Computer Science Science & Technology Technology Computer Science, Theory & Methods Computer Science cs.PL cs.PL cs.SE |
Publication Status: | Published |
Start Date: | 2019-04-07 |
Conference Place: | Prague, Czech Republic |
Appears in Collections: | Computing |