Affiliation:
1. University of Pennsylvania, Philadelphia, USA
2. California Institute of Technology, Pasadena, USA
3. University of California at Davis, Davis, USA
Abstract
We propose a rich foundational theory of typed data streams and stream transformers, motivated by two high-level goals. First, the type of a stream should be able to express complex
sequential patterns
of events over time. And second, it should describe the internal
parallel structure
of the stream, to support deterministic stream processing on parallel and distributed systems. To these ends, we introduce
stream types
, with operators capturing sequential composition, parallel composition, and iteration, plus a core calculus λ
ST
of
transformers
over typed streams that naturally supports a number of common streaming idioms, including punctuation, windowing, and parallel partitioning, as first-class constructions. λ
ST
exploits a Curry-Howard-like correspondence with an ordered variant of the Logic of Bunched Implication to program with streams compositionally and uses Brzozowski-style derivatives to enable an incremental, prefix-based operational semantics. To illustrate the programming style supported by the rich types of λ
ST
, we present a number of examples written in Delta, a prototype high-level language design based on λ
ST
.
Publisher
Association for Computing Machinery (ACM)
Reference78 articles.
1. Daniel J Abadi, Yanif Ahmad, Magdalena Balazinska, Uğur Çetintemel, Mitch Cherniack, Jeong-Hyon Hwang, Wolfgang Lindner, Anurag Maskey, Alex Rasin, Esther Ryvkina, Nesime Tatbul, Ying Xing, and Stanley Zdonik. 2005. The Design of the Borealis Stream Processing Engine. In Second Biennial Conference on Innovative Data Systems Research (CIDR).
2. Aurora: a new model and architecture for data stream management
3. Rajeev Alur Phillip Hilliard Zachary G Ives Konstantinos Kallas Konstantinos Mamouras Filip Niksic Caleb Stanford Val Tannen and Anton Xue. 2021. Synchronization Schemas. Invited contribution Principles of Database Systems.
4. NetKAT
5. Arvind Arasu, Brian Babcock, Shivnath Babu, John Cieslewicz, Mayur Datar, Keith Ito, Rajeev Motwani, Utkarsh Srivastava, and Jennifer Widom. 2004. STREAM: The Stanford Data Stream Management System. Stanford InfoLab.