Fault-tolerant Distributed Reactive ProgrammingECOOP paper
While advantages of reactive programming in software design are widely recognized, the lack of a suitable fault handling model hinders its adoption in distributed systems. In this paper, we present a novel approach to provide fault tolerance for distributed reactive programming. We extend the reactive runtime to automatically store and recover program state in the presence of failures, automatically update and share distributed parts of the state providing eventual consistency, and handle errors in a fine-grained manner when manual control is necessary. By leveraging the guarantees that the reactive programming paradigm provides, these mechanisms are provided to applications in a highly transparent way and with reasonable performance, as indicated by our experimental evaluation.