River: an intermediate language for stream processing

Date

2016

Authors

Soulé R.
Hirzel M.
Gedik, B.
Grimm, R.

Editor(s)

Advisor

Supervisor

Co-Advisor

Co-Supervisor

Instructor

Source Title

Software : Practice and Experience

Print ISSN

0038-0644

Electronic ISSN

Publisher

John Wiley & Sons Ltd.

Volume

46

Issue

7

Pages

891 - 929

Language

English

Journal Title

Journal ISSN

Volume Title

Series

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.

Course

Other identifiers

Book Title

Citation