Mogk, Ragnar ; Drechsler, Joscha ; Salvaneschi, Guido ; Mezini, Mira (2019):
A Fault-Tolerant Programming Model for Distributed Interactive Applications. (Publisher's Version)
In: Proceedings of the ACM on Programming Languages, 3 (OOPSLA), pp. 1-29. Association for Computing Machinery, ISSN 2475-1421,
DOI: 10.25534/tuprints-00014554,
[Article]
Abstract
Ubiquitous connectivity of web, mobile, and IoT computing platforms has fostered a variety of distributed applications with decentralized state. These applications execute across multiple devices with varying reliability and connectivity. Unfortunately, there is no declarative fault-tolerant programming model for distributed interactive applications with an inherently decentralized system model. We present a novel approach to automating fault tolerance using high-level programming abstractions tailored to the needs of distributed interactive applications. Specifically, we propose a calculus that enables formal reasoning about applications' dataflow within and across individual devices. Our calculus reinterprets the functional reactive programming model to seamlessly integrate its automated state change propagation with automated crash recovery of device-local dataflow and disconnection-tolerant distribution with guaranteed automated eventual consistency semantics based on conflict-free replicated datatypes. As a result, programmers are relieved of handling intricate details of distributing change propagation and coping with distribution failures in the presence of interactivity. We also provides proofs of our claims, an implementation of our calculus, and an empirical evaluation using a common interactive application.
Item Type: | Article |
---|---|
Erschienen: | 2019 |
Creators: | Mogk, Ragnar ; Drechsler, Joscha ; Salvaneschi, Guido ; Mezini, Mira |
Origin: | Secondary publication via Golden Open Access |
Status: | Publisher's Version |
Title: | A Fault-Tolerant Programming Model for Distributed Interactive Applications |
Language: | English |
Abstract: | Ubiquitous connectivity of web, mobile, and IoT computing platforms has fostered a variety of distributed applications with decentralized state. These applications execute across multiple devices with varying reliability and connectivity. Unfortunately, there is no declarative fault-tolerant programming model for distributed interactive applications with an inherently decentralized system model. We present a novel approach to automating fault tolerance using high-level programming abstractions tailored to the needs of distributed interactive applications. Specifically, we propose a calculus that enables formal reasoning about applications' dataflow within and across individual devices. Our calculus reinterprets the functional reactive programming model to seamlessly integrate its automated state change propagation with automated crash recovery of device-local dataflow and disconnection-tolerant distribution with guaranteed automated eventual consistency semantics based on conflict-free replicated datatypes. As a result, programmers are relieved of handling intricate details of distributing change propagation and coping with distribution failures in the presence of interactivity. We also provides proofs of our claims, an implementation of our calculus, and an empirical evaluation using a common interactive application. |
Journal or Publication Title: | Proceedings of the ACM on Programming Languages |
Journal Volume: | 3 |
Issue Number: | OOPSLA |
Publisher: | Association for Computing Machinery |
Uncontrolled Keywords: | emergenCITY_INF, emergenCITY |
Divisions: | 20 Department of Computer Science 20 Department of Computer Science > Sichere Mobile Netze 20 Department of Computer Science > Software Technology LOEWE LOEWE > LOEWE-Zentren LOEWE > LOEWE-Zentren > emergenCITY |
TU-Projects: | HMWK|III L6-519/03/05.001-(0016)|emergenCity TP Bock |
Date Deposited: | 04 Dec 2020 08:48 |
DOI: | 10.25534/tuprints-00014554 |
URL / URN: | https://tuprints.ulb.tu-darmstadt.de/14554 |
URN: | urn:nbn:de:tuda-tuprints-145545 |
Corresponding Links: | |
Export: | |
Suche nach Titel in: | TUfind oder in Google |
![]() |
Send an inquiry |
Options (only for editors)
![]() |
Show editorial Details |