首页    期刊浏览 2025年02月27日 星期四
登录注册

文章基本信息

  • 标题:Multiparty Session Type-safe Web Development with Static Linearity
  • 本地全文:下载
  • 作者:Jonathan King ; Nicholas Ng ; Nobuko Yoshida
  • 期刊名称:Electronic Proceedings in Theoretical Computer Science
  • 电子版ISSN:2075-2180
  • 出版年度:2019
  • 卷号:291
  • 页码:35-46
  • DOI:10.4204/EPTCS.291.4
  • 语种:English
  • 出版社:Open Publishing Association
  • 摘要:Modern web applications can now offer desktop-like experiences from within the browser, thanks to technologies such as WebSockets, which enable low-latency duplex communication between the browser and the server. While these advances are great for the user experience, they represent a new responsibility for web developers who now need to manage and verify the correctness of more complex and potentially stateful interactions in their application. In this paper, we present a technique for developing interactive web applications that are statically guaranteed to communicate following a given protocol. First, the global interaction protocol is described in the Scribble protocol language – based on multiparty session types. Scribble protocols are checked for well-formedness, and then each role is projected to a Finite State Machine representing the structure of communication from the perspective of the role. We use source code generation and a novel type-level encoding of FSMs using multi-parameter type classes to leverage the type system of the target language and guarantee only programs that communicate following the protocol will type check. Our work targets PureScript – a functional language that compiles to JavaScript – which crucially has an expressive enough type system to provide static linearity guarantees. We demonstrate the effectiveness of our approach through a web-based Battleship game where communication is performed through WebSocket connections.
国家哲学社会科学文献中心版权所有