An Erlang Implementation of Multiparty Session Actors

An Erlang Implementation of Multiparty Session Actors
复制标题

多方会话参与者的 Erlang 实现

DOI:
10.4204/eptcs.223.3
复制
发表时间:
2016
影响因子:
--
通讯作者:
S. Fowler
S. Fowler
中科院分区:
--
文献类型:
--
作者:
S. Fowler

文献摘要

被引文献

相似文献

通过使用显式消息传递而不是依赖于共享内存来进行协调,基于角色的编程语言已被证明是构建可靠和容错的分布式系统的有效工具。虽然本质上是以通信为中心的,但基于参与者的应用程序中的通信模式仍然是非正式指定的,这意味着通信中的错误很晚才被检测到。 多方会话类型是在全局级别上描述多个通信实体之间的交互的形式主义。本文描述了一个原型框架的实现,该框架用于根据多方会话类型监控Erlang/OTP gen_server应用程序,展示了如何将以前关于多方会话参与者的工作调整为纯粹基于参与者的语言,以及如何根据Erlang的“让它失败”的咒语报告会话参与者的监控违规和终止。最后,该框架是用来实现两个案例研究:适应免费提供的DNS服务器,和聊天服务器。
By requiring co-ordination to take place using explicit message passing instead of relying on shared memory, actor-based programming languages have been shown to be effective tools for building reliable and fault-tolerant distributed systems. Although naturally communication-centric, communication patterns in actor-based applications remain informally specified, meaning that errors in communication are detected late, if at all. Multiparty session types are a formalism to describe, at a global level, the interactions between multiple communicating entities. This article describes the implementation of a prototype framework for monitoring Erlang/OTP gen_server applications against multiparty session types, showing how previous work on multiparty session actors can be adapted to a purely actor-based language, and how monitor violations and termination of session participants can be reported in line with the Erlang mantra of "let it fail". Finally, the framework is used to implement two case studies: an adaptation of a freely-available DNS server, and a chat server.