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 \emph{stream calculus} and \emph{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 Springer
Editor C. Bolduc , J. Desharnais , B. Ktari
Series Lecture Notes in Computer Science
Project Mending the Unending: Machine Assisted Reasoning with Infinite Objects
Conference International Conference on Mathematics of Program Construction
Niqui, M, & Rutten, J.J.M.M. (2010). Sampling, Splitting and Merging in Coinductive Stream Calculus. In C Bolduc, J Desharnais, & B Ktari (Eds.), Proceedings of International Conference on Mathematics of Program Construction 2010 (10) (pp. 310–330). Springer.