S+Net: extending functional coordination with extra-functional semantics

This technical report introduces S+Net, a compositional coordination language for streaming networks with extra-functional semantics. Compositionality simplifies the specification of complex parallel and distributed applications; extra-functional semantics allow the application designer to reason about and control resource usage, performance and fault handling. The key feature of S+Net is that functional and extra-functional semantics are defined orthogonally from each other. S+Net can be seen as a simultaneous simplification and extension of the existing coordination language S-Net, that gives control of extra-functional behavior to the S-Net programmer. S+Net can also be seen as a transitional research step between S-Net and AstraKahn, another coordination language currently being designed at the University of Hertfordshire. In contrast with AstraKahn which constitutes a re-design from the ground up, S+Net preserves the basic operational semantics of S-Net and thus provides an incremental introduction of extra-functional control in an existing language.

[1]  Jeroen Voeten,et al.  On the fundamental limitations of transformational design , 2001, TODE.

[2]  Alexander V. Shafarenko,et al.  Parallel signal processing with S-Net , 2010, ICCS.

[3]  Philip K. F. Hölzenspies,et al.  On run-time exploitation of concurrency , 2010 .

[4]  Jacques Sakarovitch,et al.  Elements of Automata Theory , 2009 .

[5]  Clemens Grelck,et al.  The Essence of Synchronisation in Asynchronous Data Flow , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[6]  Clemens Grelck,et al.  S-Net for multi-memory multicores , 2010, DAMP '10.

[7]  Clemens Grelck,et al.  Implementation Architecture and Multithreaded Runtime System of S-Net , 2008, IFL.

[8]  Alexander V. Shafarenko,et al.  A Gentle Introduction to S-Net: Typed Stream Processing and Declarative Coordination of Asynchronous Components , 2008, Parallel Process. Lett..

[9]  Alexander V. Shafarenko,et al.  Asynchronous Stream Processing with S-Net , 2010, International Journal of Parallel Programming.

[10]  Clemens Grelck,et al.  S-Net language report: Version 2.0 , 2009 .

[11]  Clemens Grelck,et al.  Statistical Performance Analysis of an Ant-Colony Optimisation Application in S-Net , 2013 .

[12]  Chris R. Jesshope,et al.  Mapping Distributed S-Net on the 48-core Intel SCC processor , 2011, MARC Symposium.

[13]  Alexander V. Shafarenko,et al.  Message Driven Programming with S-Net: Methodology and Performance , 2010, 2010 39th International Conference on Parallel Processing Workshops.