Main characteristic: The single-assignment rule
- A variable may appear on the left side of an assignment only once within the area of the program in which it is active.
A dataflow program is compiled into a dataflow graph which is a directed graph consisting of named nodes, which represent instructions, and arcs, which represent data dependences among instructions.
- The dataflow graph is similar to a dependence graph used in intermediate representations of compilers.
During the execution of the program, data propagate along the arcs in data packets, called tokens.
This flow of tokens enables some of the nodes (instructions) and fires them.