Asynchronous Stream Processing with S-Net

Clemens Grelck, Sven‐Bodo Scholz, Alex Shafarenko · International Journal of Parallel Programming · 2010

We present the rationale and design of S-N et , a coordination language for asynchronous stream processing. The language achieves a near-complete separation between the application code, written in any conventional programming language, and the coordination/communication code written in S-N et . Our approach supports a component technology with flexible software reuse. No extension of the conventional language is required. The interface between S-N et and the application code is in terms of one additional library function. The application code is componentised and presented to S-N et as a set of components, called boxes, each encapsulating a single tuple-to-tuple function. Apart from the boxes defined using an external compute language, S-N et features two built-in boxes: one for network housekeeping and one for data-flow style synchronisation. Streaming network composition under S-N et is based on four network combinators, which have both deterministic and nondeterministic versions. Flexible software reuse is comprehensive, with the box interfaces and even the network structure being subject to subtyping. We propose an inheritance mechanism, named flow inheritance, that is specifically geared towards stream processing. The paper summarises the essential language constructs and type concepts and gives a short application example.

Read the paper · More papers on PaperTik