A Calculus of Communicating Systems
A Calculus of Communicating Systems
Scenarios: A Model of Non-Determinate Computation
Proceedings of the International Colloquium on Formalization of Programming Concepts
Compostional Relational Semantics for Indeterminate Dataflow Networks
Category Theory and Computer Science
Dataflow Networks are Fibrations
Proceedings of the 4th International Conference on Category Theory and Computer Science
Compositionality in synchronous data flow: Modular code generation from hierarchical SDF graphs
ACM Transactions on Embedded Computing Systems (TECS)
Hi-index | 0.00 |
This paper describes an algebraic framework for the study of dataflow networks, which form a paradigm for concurrent computation in which a collection of concurrently and asynchronously executing processes communicate by sending messages between ports connected via FIFO message channels. A syntactic dataflow calculus is defined, having two kinds of terms which represent networks and computations, respectively. By imposing suitable equivalences on networks and computations, we obtain the free dataflow algebra, in which the dataflow networks with m input ports and n output ports are regarded as the objects of a category Snm, and the computations of such networks are represented by the arrows. Functors defined on Snm label each computation by the input buffer consumed and the output buffer produced during that computation, so that each Snm is a span in Cat. It is shown that the free dataflow algebra construction underlies a monad in the category of collections S = {Snm : m, n ≥ 0} of spans in Cat. The algebras of this monad, called dataflow algebras, have a monoid structure representing parallel composition, and are also equipped with an action of a certain collection of continuous functions, thereby representing the formation of feedback loops. The two structures are related by a distributive law of feedback over parallel composition. We also observe the following connection with the theory of fibrations: if S is a dataflow algebra, then each Snm is a split bifibration in Cat.