The Art of the Meta Stream Protocol: Torrents of Streams
Christophe De Troyer (Vrije Universiteit Brussel, Belgium), Jens, Nicolay (Vrije Universiteit Brussel, Belgium), Wolfgang De Meuter (Vrije, Universiteit Brussel, Belgium)

TL;DR
This paper introduces a meta-programming approach to extend and customize streaming libraries' semantics, enabling more flexible and expressive data stream processing in real-time applications.
Contribution
It presents a novel meta-architecture that allows modification of stream semantics at runtime and compile-time, addressing extensibility issues in existing streaming libraries.
Findings
Supports push and pull semantics, error handling, parallelism, and operator fusion.
Demonstrates the generality and effectiveness of the meta-architecture.
Adheres to design principles of a meta-level architecture.
Abstract
The rise of streaming libraries such as Akka Stream, Reactive Extensions, and LINQ popularized the declarative functional style of data processing. The stream paradigm offers concise syntax to write down processing pipelines to consume the vast amounts of real-time data available today. These libraries offer the programmer a domain specific language (DSL) embedded in the host language to describe data streams. These libraries however, all suffer from extensibility issues. The semantics of a stream is hard-coded into the DSL language and cannot be changed by the user of the library. We introduce an approach to modify the semantics of a streaming library by means of meta-programming at both run-time and compile-time, and showcase its generality. We show that the expressiveness of the meta-facilities is strong enough to enable push and pull semantics, error handling, parallelism, and…
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.
