いにしえの昔から、組み込みシステムの世界ではモデルベース設計の必要性がうたわれていました。システムの要件をモデル化することによって仕様の漏れ抜けを防ぐとともに、誰にでも分かりやすく表現することでシステム開発の生産性や信頼性の向上が期待できるからです。

 状態遷移表設計とは、2次元の表により縦軸(または横軸)は現在の状態を示し、横軸(または縦軸)はイベントを示します。交差する箇所の各マスに、そのイベントが起きたときに次に遷移すべき状態を記述し、遷移に伴う動作があれば記述します。では現実問題として、状態遷移表設計は有効に活用されているでしょうか?

普及を阻害する原因は?

 組込みシステム技術協会(JASA)で実施したアンケートによると、状態遷移図/状態遷移表の普及度としては、回答数がほぼ横ばい、割合は減少傾向にあります。これは状態遷移設計が基本設計や詳細設計フェーズでは、定着化傾向にあることを示しています。今後は上流工程や下流工程への適用や、アプリケーションライフサイクル管理(ALM)などプロセス連携にフォーカスして適用範囲を広げる研究の必要性があると考えられます。しかし、状態遷移表設計がシステムの広範囲に適用されているかといえば、まだまだ一部だけでの活用にとどまっていると思います。

 その原因はどこにあるのでしょう。著者が考えるに、状態遷移表設計の必要性は理解していても「納期に追われて時間がない」、「面倒くさい」、「活用したとしてもメンテナンスはコードでやってしまい状態遷移表にリバースできない」、「システムが大きかったり機能が多数あったりすると状態やイベントの量が莫大になり人の能力では管理が不可能になる」、「連続系モデルには適用できない」といった理由があるとみています。