Interfaces for Stream Processing Systems [chapter]

Rajeev Alur, Konstantinos Mamouras, Caleb Stanford, Val Tannen
2018 Lecture Notes in Computer Science  
Efficient processing of input data streams is central to IoT systems, and the goal of this paper is to develop a logical foundation for specifying the computation of such stream processing. In the proposed model, both the input and output of a stream processing system consists of tagged data items with a dependency relation over tags that captures the logical ordering constraints over data items. While a system processes the input data one item at a time incrementally producing output data
more » ... , its semantics is a function from input data traces to output data traces, where a data trace is an equivalence class of sequences of data items induced by the dependency relation. This data-trace transduction model generalizes both acyclic Kahn process networks and relational query processors, and can specify computations over data streams with a rich variety of ordering and synchronization characteristics. To form complex systems from simpler ones, we define sequential composition and parallel composition operations over data-trace transductions, and show how to define commonly used idioms in stream processing such as sliding windows, key-based partitioning, and map-reduce.
doi:10.1007/978-3-319-95246-8_3 fatcat:lnvfxuwxazbylalhexw2lo77yi