データフロー言語はその原理を取り入れたもので、その意味では表計算ソフトが最も一般的な例であろう。例えば、表計算ソフトでは、あるセルに他のセルの値を使った計算式を対応付けることができる。そして、任意のセルの値を変更すると、自動的にその値に依存している他のセルの再計算が行われる。これは依存関係がある限りずっと続く。
データフロー技術は数値の再計算だけに限られない。例えば、マウスの動きに対応して絵を再描画するとか、周囲の明るさの変化に対応してロボットが反応するといったこともデータフロー的な考え方に基づいている。
ハードウェアアーキテクチャ.
コンピュータアーキテクチャの分類.
コンピュータ・アーキテクチャを分類するにあたって、ここでは処理を進行させる鍵は何であるかに着目する。
プロセッサ駆動機能分散型.
プロセッサ駆動機能分散型のデータフローマシンは、ノード（プロセッサ機能すなわち命令）とトークン（入力データ）とアーク（出力データの出力先ノードを示す一種のポインタ）をパケットとし、メモリに格納しておく。各パケットは必要なトークンが全て揃うと実行可能になる。実行可能なパケットはプロセッサに送られ、プロセッサはそれを解釈実行し、出力トークンをメモリに戻す。その出力トークンは元のアークで示されているノードのパケット内に格納される。これを繰り返すことで処理が行われる。
コンパイラはプログラムを解析してデータの依存関係を明らかにする。これはよりよい最適化を命令列に施すためであるが、一般にコンパイル結果の実行コードにはその依存関係に関する情報は含まれない。データフローマシン向けにコンパイルされたプログラムでは、この依存関係情報を保持する。データフローコンパイラでは各依存関係ごとにユニークなタグを生成する。これにより依存関係のない命令群の並列実行可能性を引き出す。各命令にはタグ付きのオペランドがあり、これが実行コードとして格納される。これは上述のパケットにほぼ相当するが、入力トークンは実行時まで存在しない。