Modern web programming involves coordinating interactions between browser clients and a server. Typically, the interactions in web-based distributed systems are informally described, making it hard to ensure correctness, especially communication safety, i.e. all endpoints progress without type errors or deadlocks, conforming to a specified protocol. We present STScript, a toolchain that generates TypeScript APIs for communication-safe web development over WebSockets, and RouST, a new session type theory that supports multiparty communications with routing mechanisms. STScript provides developers with TypeScript APIs generated from a communication protocol specification based on RouST. The generated APIs build upon TypeScript concurrency practices, complement the event-driven style of programming in full-stack web development, and are compatible with the Node.js runtime for server-side endpoints and the React.js framework for browser-side endpoints. RouST can express multiparty interactions routed via an intermediate participant. It supports peer-to-peer communication between browser-side endpoints by routing communication via the server in a way that avoids excessive serialisation. RouST guarantees communication safety for endpoint web applications written using STScript APIs. We evaluate the expressiveness of STScript for modern web programming using several production-ready case studies deployed as web applications.


翻译:通常,基于网络的分布式系统的互动以非正式的方式描述,使得很难确保正确性,特别是通信安全,即所有端点在不出现类型错误或僵局的情况下都进步,符合指定的协议。我们介绍了STScript,这是一个生成TypeScript API 用于在WebSockets上进行通信安全网络开发的工具链,以及RouST,这是一个支持多层次与路由机制沟通的新会话类型理论。STScript向开发者提供了基于 RouST 的通信协议规格生成的TypeScript APIs。生成的APIs以TypeScript condality 做法为基础,补充了全斯塔克网络开发中由事件驱动的编程风格,并与Node.js运行服务器端端端端点的网络安全开发时间和Ract.js 浏览端端端点的React.js框架兼容。RouST可以通过中间参与者表达多党际互动方式。它支持浏览端端端端端端端端端端端的通信端端端通信端通信端通信用户之间的通信通信通信通信,通过服务器安全端端端应用程序进行我们端端端研究,通过网络安全端端端端端端的网络安全端的网络安全性评估。

0
下载
关闭预览

相关内容

TypeScript is a language for application-scale JavaScript development.TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. typescriptlang.org/
Python编程基础,121页ppt
专知会员服务
47+阅读 · 2021年1月1日
【干货书】Linux命令行与shell脚本编程大全,第3版818页pdf
专知会员服务
61+阅读 · 2020年12月30日
【2020新书】Web应用安全,331页pdf
专知会员服务
23+阅读 · 2020年10月24日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
145+阅读 · 2019年10月12日
【新书】Python编程基础,669页pdf
专知会员服务
187+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
【电子书推荐】Data Science with Python and Dask
专知会员服务
43+阅读 · 2019年6月1日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
大数据 | 顶级SCI期刊专刊/国际会议信息7条
Call4Papers
10+阅读 · 2018年12月29日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
计算机类 | LICS 2019等国际会议信息7条
Call4Papers
3+阅读 · 2018年12月17日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
最全数据科学学习资源:Python、线性代数、机器学习...
人工智能头条
11+阅读 · 2018年5月14日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
Arxiv
0+阅读 · 2021年3月8日
Arxiv
34+阅读 · 2019年11月7日
VIP会员
相关VIP内容
Python编程基础,121页ppt
专知会员服务
47+阅读 · 2021年1月1日
【干货书】Linux命令行与shell脚本编程大全,第3版818页pdf
专知会员服务
61+阅读 · 2020年12月30日
【2020新书】Web应用安全,331页pdf
专知会员服务
23+阅读 · 2020年10月24日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
145+阅读 · 2019年10月12日
【新书】Python编程基础,669页pdf
专知会员服务
187+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
【电子书推荐】Data Science with Python and Dask
专知会员服务
43+阅读 · 2019年6月1日
相关资讯
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
大数据 | 顶级SCI期刊专刊/国际会议信息7条
Call4Papers
10+阅读 · 2018年12月29日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
计算机类 | LICS 2019等国际会议信息7条
Call4Papers
3+阅读 · 2018年12月17日
利用动态深度学习预测金融时间序列基于Python
量化投资与机器学习
18+阅读 · 2018年10月30日
最全数据科学学习资源:Python、线性代数、机器学习...
人工智能头条
11+阅读 · 2018年5月14日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
Top
微信扫码咨询专知VIP会员