Abstract
Summary This paper presents both a calculus for stream processing, named Brooklet, and its realization as an intermediate language, named River. Because River is based on Brooklet, it has a formal semantics that enables reasoning about the correctness of source translations and optimizations. River builds on Brooklet by addressing the real-world details that the calculus elides. We evaluated our system by implementing front-ends for three streaming languages, and three important optimizations, and a back-end for the System S distributed streaming runtime. Overall, we significantly lower the barrier to entry for new stream-processing languages and thus grow the ecosystem of this crucial style of programming.
Original language | English (US) |
---|---|
Pages (from-to) | 891-929 |
Number of pages | 39 |
Journal | Software - Practice and Experience |
Volume | 46 |
Issue number | 7 |
DOIs | |
State | Published - Jul 1 2016 |
Keywords
- optimizations
- stream processing
ASJC Scopus subject areas
- Software