Dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations. Instead of a fixed sequence of commands acting on data at rest, explicitly defined inputs and outputs connect operations that behave like black boxes, and an operation runs as soon as all of its inputs are valid. Because each operation depends only on the availability of its inputs and carries no hidden state, dataflow languages are inherently parallel and suit large, decentralized systems. Dataflow languages share some features with functional languages and were developed to bring functional ideas to languages better suited to numeric processing. The paradigm was pioneered by Jack Dennis and his graduate students at MIT in the 1960s. Early dataflow languages include BLODI, published in 1961, and later SISAL, developed at Lawrence Livermore National Laboratory.
Facts
Partially Attested
Origin YearEstrin and Turn proposed an early dataflow model in 1963; the source also dates Petri nets to 1962, and the Jack Dennis MIT work came later. Core PrincipleA program is a graph of operations connected by data paths, and a node fires when matching data is available at its input ports 1 Connections
In Field
Source Dataflow programming (Wikipedia)
Invented
Source Dataflow programming (Wikipedia)
Sources
1. Data Flow Computational Models (Colorado State University)
Overview of the dataflow model, firing rule
It is asynchronous: execution ("firing") of a node starts when (matching) data is available at a node's input ports.
Historical background of the dataflow model
Estrin and Turn (1963) proposed an early dataflow model
View the SourceDataflow programming (Wikipedia)
Invented: Jack Dennis, Lead, pioneers
Dataflow programming was pioneered by Jack Dennis and his graduate students at MIT in the 1960s.
In Field: Programming Language Theory, Lead, field
dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.