段階的詳細化法
シングルスレッド(single-thread)計算機においては、その計算の進行プロセスは一方向しかない。そのようなプロセスを生成するプログラムは、入力→内部操作→出力と、一つの入力に対して一つの出力を持つものとなり、コードとしても上から下へ読めるようなものとなる。
段階的詳細化法(stepwise refinement)とは、まず一番抽象的な一入力と一出力を持つ手続きを書き、次にまた同じく一入力と一出力を持つ手続きをもって、その一番抽象的な手続きの内部処理を詳細化したものを構成する、というプロセスを繰り返して複雑なプログラムを記述する手法である。プログラムの実装において抽象化の表現には関数が用いられる。