Sampling, splitting and merging in coinductive stream calculus
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.
|Keywords||stream calculus, dataflow programming, coinduction, rational stream, algebraic stream, stream circuit|
|MSC||Automata sequences (msc 11B85)|
|THEME||Software (theme 1)|
|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.|
Niqui, M, & Rutten, J.J.M.M. (2009). Sampling, splitting and merging in coinductive stream calculus. Software Engineering [SEN]. CWI.