Practical Aspects of Declarative Languages - 21th International Symposium, PADL 2019, Lisbon, Portugal, January 14-15, 2019, Proceedings

Practical Aspects of Declarative Languages - 21th International Symposium, PADL 2019, Lisbon, Portugal, January 14-15, 2019, Proceedings
复制标题

声明性语言的实用方面 - 第 21 届国际研讨会,PADL 2019,葡萄牙里斯本,2019 年 1 月 14-15 日,会议记录

DOI:
10.1007/978-3-030-05998-9_11
复制
发表时间:
2019
期刊:
--
影响因子:
--
通讯作者:
Andersen K
Andersen K
中科院分区:
--
文献类型:
--
作者:
Andersen K

文献摘要

相似文献

分布式系统很难正确建模、测试、调试和教学。它们的教科书定义通常以复制状态机的形式给出,非常简洁,但如果将naïvely转换为可运行的实现,则容易引入编程错误。在这项工作中,我们提出了分布式协议组合子(DPC),这是一个声明式编程框架,旨在弥合分布式系统的规范和可运行实现之间的差距,并促进它们的建模、测试和执行。DPC建立在用于组合系统验证的最先进逻辑的思想之上。DPC的贡献是一组新颖的程序级原语,它有助于从较小的组件构建更大的分布式系统,简化了最常见的异步消息传递通信模式的使用,并为测试和用户友好的系统动态验证提供了机制。本文描述了框架设计背后的主要思想,并介绍了它在Haskell中的实现。我们通过一系列典型示例介绍DPC,并在文献中的许多分布式协议上展示它。
Distributed systems are hard to get right, model, test, debug, and teach. Their textbook definitions, typically given in a form of replicated state machines, are concise, yet prone to introducing programming errors if naïvely translated into runnable implementations.In this work, we presentDistributed Protocol Combinators(DPC), a declarative programming framework that aims to bridge the gap between specifications and runnable implementations of distributed systems, and facilitate their modeling, testing, and execution. DPC builds on the ideas from the state-of-the art logics for compositional systems verification. The contribution of DPC is a novel family of program-level primitives, which facilitates construction of larger distributed systems from smaller components, streamlining the usage of the most common asynchronous message-passing communication patterns, and providing machinery for testing and user-friendly dynamic verification of systems. This paper describes the main ideas behind the design of the framework and presents its implementation in Haskell. We introduce DPC through a series of characteristic examples and showcase it on a number of distributed protocols from the literature.