I Now Pronounce You Reactive and Consistent: Handling Distributed and Replicated State in Reactive Programming
Developing modern collaborative applications burdens the programmer with local event handling (e.g. user interaction), remote event handling (e.g. updates from the server) and shared state (e.g. in order to allow operations while being disconnected).
Several solutions have been developed at the programming language level in order to reduce the complexity of these aspects.
On one hand, distributed reactive models (e.g. DREAM) tackle both local and remote event handling.
On the other hand recent replicated consistency models (e.g. CRDT's and CloudTypes) hide the complexity of shared, replicated state.
Both solutions only partially alleviate the complexity associated with developing collaborative applications.
To the best of our knowledge, none or very little effort has been undertaken to provide a single unified model able to tackle both event handling and shared state.
In this paper we argue the need for such a united model.
To that end we present Direst, a domain specific language which enhances traditional reactive abstractions (i.e. signals) with replication and consistency features.
Direst reduces the complexities of writing truly collaborative applications by providing a framework in which elegantly handling events and easily managing shared state are not mutually exclusive.
Tue 1 Nov
|10:30 - 10:55|
|10:55 - 11:20|
|11:20 - 11:45|
|11:45 - 12:10|
I Now Pronounce You Reactive and Consistent: Handling Distributed and Replicated State in Reactive ProgrammingLink to publication DOI