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
Published Version (Please cite this version)