S-Net language report: Version 1.0
Clemens Grelck, Alex Shafarenko · UvA-DARE (University of Amsterdam) · 2009
S-Net is a novel coordination language and component technology for the era of multi-core and many-core computing.It turns sequential legacy code written in conventional languages into asynchronous components that interact with each other via a stream-processing network.The specification of these networks, a core feature of S-Net, follows an algebraic approach: only four different network combinators allow us the concise specification of complex streaming networks through a simple expression language.Routing of data packages is defined via a record type system with structural subtyping and (flow) inheritance.The development of S-Net, both in terms of theory and implementation, has been funded by the European Union through the Integrated Project Æther (Self-adaptive Embedded Technologies for Pervasive Computing Architectures), where S-Net was adopted as the main contribution of the subproject on software architectures.While the development of S-Net has been led by the Compiler Technology and Computer Architecture Group (CTCA) in the University of Hertfordshire's School of Computer Science, other partners both from within the Æther project as well as from outside have made substantial contributions to S-Net in general and to this report in particular: Imperial College London, United, Kingdom, VTT