Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Concept

Dataflow programming

Paradigm

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 Year
1963 1
Estrin 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 Principle
A 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

Jack Dennis, Pioneers
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 Source
Dataflow 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 Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.