paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Protocol combinators for modeling, testing, and execution of distributed systems

用于分布式系统建模、测试与执行的协议组合子
JFP vol.312021匹配度 2/10 · 该论文属于程序语言与形式化方法中的分布式系统 DSL/组合子工作,关注建模、测试与有界模型检测,与用户核心方向(LLM/Agent 与静态分析、浮点程序分析、贝叶斯程序分析)没有直接交集;仅在 PL/形式化验证大方向上有弱关联。引用 1 inbox
KRISTOFFER JUST ARNDAL ANDERSEN, ILYA SERGEY
crossref: 2026-09-10

AI 速览

一句话:提出分布式协议组合子 DPC,用声明式程序原语统一分布式系统的建模、测试与执行。

分布式系统难以正确建模、测试、调试与教学,教科书中的复制状态机定义虽然简洁,但直接翻译为可运行实现容易引入编程错误。本文提出分布式协议组合子(DPC),一个声明式编程框架,旨在弥合分布式系统规约与可运行实现之间的鸿沟。DPC 借鉴组合式系统验证逻辑的思想,提供程序级原语,支持从较小组件构造较大分布式系统,简化常见异步消息传递模式,并内建测试与用户友好的动态验证机制。该框架用 Haskell 实现。作者通过一系列典型示例和文献中的多个分布式协议展示 DPC,并在会议论文基础上新增协议的随机测试以及一个有界模型检查案例研究。

问题
分布式系统难以正确建模、测试、调试和教学,教科书式复制状态机定义简洁但直接实现易出错。
方法
提出 DPC 声明式框架,基于组合式验证逻辑思想,提供程序级组合子和异步消息传递模式,支持从小组件构造系统,并集成测试、动态验证与 Haskell 实现。
评估
通过典型示例和文献中的多个分布式协议展示 DPC,并扩展随机测试与有界模型检查案例。
原文摘要(Abstract)

Abstract 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 present Distributed 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. This paper extends our preceeding conference publication (Andersen & Sergey, 2019a) with an exploration of randomized testing for protocols and their implementations, and an additional case study demonstrating bounded model checking of protocols.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot1233,
  title = {Protocol combinators for modeling, testing, and execution of distributed systems},
  author = {KRISTOFFER JUST ARNDAL ANDERSEN and ILYA SERGEY},
  journal = {Journal of Functional Programming},
  volume = {31},
  year = {2021},
  doi = {10.1017/s095679682000026x}
}