制御設計には、「ブロック線図」が良く使われます。「ブロック線図」は、制御の教科書にも出てきますが、Simulinkのような制御設計用のシミュレーションツールも、それに習って「ブロック線図」を使って制御ロジックを表現する方式を採用することが多いようです。一方で、制御設計用のシミュレーションツールは、「組込み制御ソフトウェア」の要求仕様としての制御ロジックを評価し、決めるために使われます。そして、最終的に決定した制御ロジックは、必然的に「ブロック線図」で表現されます。完成した「ブロック線図」で表現された制御ロジックは、ソフトウェアの要求仕様という意味だけでなく、実際に処理を実行できるものです。そのため、「ブロック線図」は、ソフトウェアの設計結果としても流用できます。実際に、「ブロック線図」を印刷して、設計書として取り扱うことは良くあります。
「ブロック線図」をソフトウェアの設計書として見た場合、特徴的なポイントがいくつかあります。
ポイント1:計算を表現するブロックとそれらを繋ぐ矢印によって、数式を使わなくてもロジックを表現できる。プログラマーでなくても、直感的に処理内容を理解しやすい。
ポイント2:1枚の図の中で、入力データと出力データを、それらを使うロジックとともに、明確に定義できる。
ポイント3:複数のブロックで表現したロジックを、一つのブロックとしてまとめることで、プログラムの関数のように表現できる。また、それらをまとめることで、さらに大きな規模でまとめて、処理を表現できる。
ポイント4:ブロックと結線で表現した制御ロジックを、制御設計ツールが実行することができ、さらにCコードへ変換できる程、表現したロジックの完成度が高い。
これらのポイントにより、「ブロック線図」は、制御処理の理解に役立つとともに、ソフトウェア設計結果を表現する方法、つまりソフトウェア設計書としても、優れていると考えられます。

