Topology-Level Reactivity in Distributed Reactive Programs: Reactive Acquaintance Management using Flocks
Sam Van den Vonder (Vrije Universiteit Brussel, Belgium), Thierry, Renaux (Vrije Universiteit Brussel, Belgium), Wolfgang De Meuter (Vrije, Universiteit Brussel, Belgium)

TL;DR
This paper introduces a novel acquaintance management mechanism for reactive programming in distributed prosumer applications, enabling efficient discovery and maintenance of network participants, demonstrated through an implementation in Stella.
Contribution
It presents a new acquaintance discovery and maintenance approach, including the `deploy-*` operator, to improve reactive programming for distributed prosumer systems.
Findings
Efficient acquaintance management reduces code complexity.
The `deploy-*` operator enables correct handling of dynamic prosumer collections.
Implementation in Stella demonstrates improved computational efficiency.
Abstract
Reactive programming is a popular paradigm to program event-driven applications, and it is often proposed as a paradigm to write distributed applications. One such type of application is *prosumer* applications, which are distributed applications that both produce and consume many events. We analyse the problems that occur when using a reactive programming language or framework to implement prosumer applications. We find that the assumption of an open network, which means prosumers of various types spontaneously join and leave the network, can cause a lot of code complexity or run-time inefficiency. At the basis of these issues lies *acquaintance management*: the ability to discover prosumers as they join and leave the network, and correctly maintaining this state throughout the reactive program. Most existing reactive programming languages and frameworks have limited support for…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
