Year: 2019
Type: article
Abstract: Context:The term reactivity is popular in two areas of research: programming languages and distributed systems.On one hand, reactive programming is a paradigm which provides programmers with the means to declaratively write event-driven applications.On the other hand, reactive distributed systems handle client requests in a timely fashion regardless of load or failures.Inquiry: Reactive programming languages and frameworks tailored to the implementation of distributed systems have previously been proposed.However, we argue that these approaches are ill fit to implement reactive distributed systems.Approach: We analyse state of the art runtimes for distributed reactive programming and identify two key issues with regards to reactive distributed systems.They rely on single, central points of coordination and/or assume a lack of partial failures in the systems they support.Knowledge: Based on our analysis we propose a novel runtime for distributed reactive programming languages and frameworks.This runtime supports reactive distributed systems by design.Grounding: We implement a proof of concept framework for reactive distributed systems in JavaScript which builds atop our runtime.Using this framework we implement a case study application which highlights the applicability of our approach.Moreover, we benchmark our runtime against a similar approach in order to showcase its runtime properties and we prove its correctness.Importance: This work aims to bridge the gap between two kinds of reactivity: reactive distributed systems and distributed reactive programming.Current distributed reactive programming approaches do not support reactive distributed systems.Our runtime is the first to bridge this reactivity gap: it allows for reactive distributed systems to be implemented using distributed reactive programming.
Authors: Florian Myter, Christophe Scholliers, Wolfgang De Meuter
Institutions: Vrije Universiteit Brussel, Ghent University
Language: English
Subfield: Computer Networks and Communications
Field: Computer Science
Domain: Physical Sciences
Open Access status: bronze
OpenAlex ID: W2913841627
