S-Net: A Declarative Approach towards Streaming Networks of Asynchronous Components.

We present the design of S-Net, a coordination language and component technology based on stream processing. S-Net achieves a near-complete separation between application code, written in a conventional programming language, and coordination code written in S-Net itself. S-Net boxes integrate existing sequential code as stream-processing components into streaming networks, whose construction is based on algebraic formulae built out of four network combinators. Subtyping on the level of boxes and networks and a tailor-made inheritance mechanism achieve flexible software reuse.

[1]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[2]  David C. Cann,et al.  A Report on the Sisal Language Project , 1990, J. Parallel Distributed Comput..

[3]  Gert Florijn,et al.  ARIADNE and HOPLa: Flexible Coordination of Collaborative Processes , 1996, COORDINATION.

[4]  坂井 利之,et al.  IFIP Congress 74 , 1974 .

[5]  BerryGérard,et al.  The ESTEREL synchronous programming language , 1992 .

[6]  Rita Loogen,et al.  Under Consideration for Publication in J. Functional Programming Parallel Functional Programming in Eden , 2022 .

[7]  Clemens Grelck,et al.  SAC—A Functional Array Language for Efficient Multi-threaded Execution , 2006, International Journal of Parallel Programming.

[8]  Greg J. Michaelson,et al.  The Design of Hume: A High-Level Language for the Real-Time Embedded Systems Domain , 2004, Domain-Specific Program Generation.

[9]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[10]  P. H. Lindsay Human Information Processing , 1977 .

[11]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[12]  Marc Pouzet,et al.  Synchronous Kahn networks , 1996, ICFP '96.

[13]  Gheorghe Stefanescu,et al.  An Algebraic Theory of Flowchart Schemes , 1986, CAAP.

[14]  William W. Wadge,et al.  Lucid, a nonprocedural language with iteration , 1977, CACM.

[15]  Henry Hoffmann,et al.  A stream compiler for communication-exposed architectures , 2002, ASPLOS X.

[16]  C. Grelck,et al.  Implementing S-Net: A Typed Stream Processing Language Part I: Compilation, Code Generation and Deployment. , 2006 .

[17]  C. Grelck,et al.  Report on S-Net: A Typed Stream Processing Language. Part I: Foundations, Record Types and Networks. , 2006 .

[18]  Marc Pouzet,et al.  A Co-iterative Characterization of Synchronous Stream Functions , 1998, CMCS.

[19]  Robert Stephens,et al.  A survey of stream processing , 1997, Acta Informatica.

[20]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[21]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[22]  Manfred Broy,et al.  The algebra of stream processing functions , 2001, Theor. Comput. Sci..