Blogs (1) >>
POPL 2019
Sun 13 - Sat 19 January 2019 Cascais, Portugal
Mon 14 Jan 2019 16:30 - 17:00 at Sala IV - PADL Session 2

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 ideas from 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 on a number of distributed protocols from the literature.

Mon 14 Jan

Displayed time zone: Belfast change

16:00 - 17:30
PADL Session 2PADL at Sala IV
Faster Coroutine Pipelines: A Reconstruction
Distributed Protocol Combinators
Kristoffer Just Arndal Andersen Aarhus University, Ilya Sergey Yale-NUS College and National University of Singapore
Classes of Arbitrary Kind
Alejandro Serrano Utrecht University, Netherlands, Victor Cacciari Miraldo Utrecht University, Netherlands
Link to publication DOI File Attached