University of Hertfordshire

From the same journal

By the same authors

Asynchronous Stream Processing with S-Net

Research output: Contribution to journalArticlepeer-review

Documents

View graph of relations
Original languageEnglish
Pages (from-to)38-67
JournalInternational Journal of Parallel Programming
Volume38
Issue1
DOIs
Publication statusPublished - Feb 2010

Abstract

We present the rationale and design of S-Net, 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-Net. Our approach supports a component technology with flexible software reuse. No extension of the conventional language is required. The interface between S-Net and the application code is in terms of one additional library function. The application code is componentised and presented to S-Net 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-Net features two built-in boxes: one for network housekeeping and one for data-flow style synchronisation. Streaming network composition under S-Net 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.

Notes

© The Author(s) 2010. This article is published with open access at Springerlink.com

ID: 99335