We study various operations for partitioning, projecting and merging streams of data. These operations are motivated by their use in dataflow programming and the stream processing languages. We use the framework of stream calculus and stream circuits for defining and proving properties of such operations using behavioural differential equations and coinduction proof principles. We study the invariance of certain well patterned classes of streams, namely rational and algebraic streams, under splitting and merging. Finally we show that stream circuits extended with gates for dyadic split and merge are expressive enough to realise some non-rational algebraic streams, thereby going beyond ordinary stream circuits.
Additional Metadata
Keywords stream calculus, dataflow programming, coinduction, rational stream, algebraic stream, stream circuit
MSC Automata sequences (msc 11B85)
THEME Software (theme 1)
Publisher CWI
Series Software Engineering [SEN]
Project Mending the Unending: Machine Assisted Reasoning with Infinite Objects
Note This work was carried out under project NWO/VENI 639.021.714.
Citation
Niqui, M, & Rutten, J.J.M.M. (2009). Sampling, splitting and merging in coinductive stream calculus. Software Engineering [SEN]. CWI.