Write a Blog >>
Onward! 2018
Wed 7 - Thu 8 November 2018 Boston, Massachusetts, United States
co-located with SPLASH 2018
Thu 8 Nov 2018 13:30 - 14:00 at The Loft - Language Design Chair(s): Philipp Haller

Developers of modern distributed systems continuously face the impossibility result proved by the CAP theorem. In a nutshell, the theorem states that a partition-tolerant system can either guarantee consistency or availability. Most distributed programming languages implicitly make the choice between consistency or availability in their designs and implementations. Concretely, distributed programming languages can be roughly divided into two categories. A first category of languages provide abstractions to implement the consistent parts of a distributed system. A second category of languages provide abstractions to implement the available parts of a distributed system. However, real-world distributed systems often require consistency for some parts while requiring availability for others. Programmers are therefore forced to implement the abstractions missing from their chosen distributed programming language themselves or rely on external libraries. In this paper we present a novel distributed programming model. This model introduces two object-oriented abstractions: consistents and availables. The former guarantees strong consistency by sacrificing availability. The latter guarantees availability, but only provides eventual consistency. Through these constructs programmers are able to implement the entirety of their distributed system within the same language. We present a prototypical implementation of the model as a TypeScript library called CAPtain.js. To showcase the usefulness of our approach we implement a non-trivial example application. Moreover, we highlight both the functional as well as the performance characteristics of both language abstractions.

Thu 8 Nov

onward-2018-papers
13:30 - 15:00: Onward! Papers - Language Design at The Loft
Chair(s): Philipp HallerKTH, Sweden
onward-2018-papers13:30 - 14:00
Talk
Florian MyterVrije Universiteit Brussel, Belgium, Christophe ScholliersUniversiteit Gent, Belgium, Wolfgang De MeuterVrije Universiteit Brussel
onward-2018-papers14:00 - 14:30
Talk
Guillaume BaudartIBM Research, Julian DolbyIBM Research, Evelyn DuesterwaldIBM Research, Martin HirzelIBM Research, Avraham ShinnarIBM Research
onward-2018-papers14:30 - 15:00
Talk
Pablo InostrozaCWI, Tijs van der StormCWI & University of Groningen