Litcius/Paper detail

Semantic Foundations for Deterministic Dataflow and Stream Processing

Konstantinos Mamouras

2020Lecture notes in computer science12 citationsDOIOpen Access PDF

Abstract

Abstract We propose a denotational semantic framework for deterministic dataflow and stream processing that encompasses a variety of existing streaming models. Our proposal is based on the idea that data streams, stream transformations, and stream-processing programs should be classified using types. The type of a data stream is captured formally by a monoid, an algebraic structure with a distinguished binary operation and a unit. The elements of a monoid model the finite fragments of a stream, the binary operation represents the concatenation of stream fragments, and the unit is the empty fragment. Stream transformations are modeled using monotone functions on streams, which we call stream transductions. These functions can be implemented using abstract machines with a potentially infinite state space, which we call stream transducers. This abstract typed framework of stream transductions and transducers can be used to (1) verify the correctness of streaming computations, that is, that an implementation adheres to the desired behavior, (2) prove the soundness of optimizing transformations, e.g. for parallelization and distribution, and (3) inform the design of programming models and query languages for stream processing. In particular, we show that several useful combinators can be supported by the full class of stream transductions and transducers: serial composition, parallel composition, and feedback composition.

Topics & Concepts

Computer scienceDataflowStream processingCorrectnessTheoretical computer scienceProgramming languageModel of computationParallel computingComputationAdvanced Database Systems and QueriesLogic, programming, and type systemsAdvanced Data Storage Technologies