S-Net is a declarative coordination language for describing streaming networks of asynchronous application components. Components are combined into larger streaming networks using an expression language. It features five network combinators as operators: serial composition, parallel composition, serial replication, parallel replication and feedback. With the exception of serial composition, the combinators come in two flavours each: the deterministic versions preserve the order of data on streams, whereas non-deterministic variants trade this property for improved throughput. Two additional primitive components serve housekeeping and synchronisation purposes. Streams are associated with record types: collections of data where each item is uniquely identified by its name. Structural subtyping on records directs the flow of data through the streaming network.

If you would like to know more about S-Net, we recommend you to read the latest edition of our technical report available for download under documents.