Dataflow process networks
Lee, E.A.; Parks, T.M.
Proceedings of the IEEE
Volume 83, Issue 5, May 1995 Page(s):773 - 801
Digital Object Identifier 10.1109/5.381846
Summary:We review a model of computation used in industrial practice in
signal processing software environments and experimentally and other
contexts. We give this model the name “dataflow process
networks,” and study its formal properties as well as its utility
as a basis for programming language design. Variants of this model are
used in commercial visual programming systems such as SPW from the Alta
Group of Cadence (formerly Comdisco Systems), COSSAP from Synopsys
(formerly Cadis), the DSP Station from Mentor Graphics, and Hypersignal
from Hyperception. They are also used in research software such as
Khoros from the University of New Mexico and Ptolemy from the University
of California at Berkeley, among many others. Dataflow process networks
are shown to be a special case of Kahn process networks, a model of
computation where a number of concurrent processes communicate through
unidirectional FIFO channels, where writes to the channel are
nonblocking, and reads are blocking. In dataflow process networks, each
process consists of repeated “firings” of a dataflow
“actor.” An actor defines a (often functional) quantum of
computation. By dividing processes into actor firings, the considerable
overhead of context switching incurred in most implementations of Kahn
process networks is avoided. We relate dataflow process networks to
other dataflow models, including those used in dataflow machines, such
as static dataflow and the tagged-token model. We also relate dataflow
process networks to functional languages such as Haskell, and show that
modern language concepts such as higher-order functions and polymorphism
can be used effectively in dataflow process networks. A number of
programming examples using a visual syntax are given
View citation and abstract |