2
IRUS Total
Downloads
  Altmetric

Multiparty session type-safe web development with static linearity

File Description SizeFormat 
1904.01287v1.pdfPublished version239.62 kBAdobe PDFView/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