Distributed Protocol Combinators

Research output: Contribution to book/anthology/report/proceedingArticle in proceedingsResearchpeer-review

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.
Original languageEnglish
Title of host publicationPractical Aspects of Declarative Languages : 21th International Symposium, PADL 2019, Lisbon, Portugal, January 14-15, 2019, Proceedings
EditorsJose Julio Alferes, Moa Johansson
Number of pages186
Volume11372
Place of publicationLisbon, Portugal
PublisherSpringer VS
Publication year14 Jan 2019
Edition1
Pages169
Chapter11
ISBN (Electronic)978-3-030-05998-9
DOIs
Publication statusPublished - 14 Jan 2019
Event21st International Symposium on Practical Aspects of Declarative Languages - Cascais, Portugal
Duration: 14 Jan 201915 Jan 2019
Conference number: 21

Conference

Conference21st International Symposium on Practical Aspects of Declarative Languages
Nummer21
LandPortugal
ByCascais
Periode14/01/201915/01/2019
SeriesProgramming and Software Engineering

See relations at Aarhus University Citationformats

Activities

ID: 142148070