首页> 外文期刊>LIPIcs : Leibniz International Proceedings in Informatics >Multiparty Session Programming With Global Protocol Combinators
【24h】

Multiparty Session Programming With Global Protocol Combinators

机译:具有全局协议组合者的多百艺会话编程

获取原文
           

摘要

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.
机译:Multiparty会话类型(MPST)是用于通信协议的键入学科。它确保缺乏通信错误和良好的通信过程的僵局。 MPST理论的最先进实现依赖于(1)运行时线性检查,以确保正确使用通信信道和(2)用于指定和验证多方协议的外部域的特定语言。为了克服这些限制,我们提出了一个用全局组合者编程的库 - 一组用于在OCAML中写入和验证多方协议的功能。协议中所有进程的本地行为可从全局组合者推断出来。我们正规化全球组合者,并证明了全局组合者的可靠性 - 一个良好的全局组合者派生了一组本地类型,通过该类型,键点的端点程序可以确保类型和通信安全。我们的方法能够从过程实现的协议规范中完全静态验证和实现整个协议,以相同的语言发生。我们将我们的实施进行比较到无型和延续的通过风格实现,并通过实施夸张的协议来展示其表现力。我们显示我们的图书馆可以与现有库和服务互操作,实现DNS(域名服务)协议和OAuth(打开身份验证)协议。

著录项

获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号