組み込みソフトウェアには、さまざまなイベントに対し、その時の状態に応じた処理を行わせる必要がある。そのため「状態遷移表」を用いた設計が適している。本連載では、状態遷移表による設計手法について解説していく。
組み込みソフトウェアには、さまざまなイベントに対し、その時の状態に応じた動作・処理をさせる必要があります。そのため、開発現場では「状態遷移表」を使った設計が行われてきました。
状態遷移表を用いた設計手法の歴史は長く、古くから“設計品質を向上させるための手法”として使用されてきました。そして、最近では検証系であるテスト手法、さらにはプロダクトライン設計手法、マルチコア環境における並列処理設計手法に対応するなど、その進化を続けています。
本連載では、この“状態遷移表による設計手法”について、以下全6回のテーマに分けてお届していきます。
第1回のテーマは、「状態遷移表設計手法の概要」です。本題に入る前に、組み込みソフトウェア開発の現状を確認しておきましょう。
組み込みソフトウェア開発の“市場”は、どのように変化しているのでしょうか。図1に、2003〜2009年度の組み込み製品開発費と組み込みソフトウェア開発費の推移(※総務省・経済産業省調べ)を示します。
図1から、組み込みソフトウェア開発費は、組み込み製品開発費の3分の1〜2分の1を占めていることが読み取れます。そして、組み込み製品開発費、組み込みソフトウェア開発費ともに、2008年度まで増加し続けていることが分かります。2009年度は減少しているものの、全体の推移で見てみると、組み込みソフトウェア開発の市場はほぼ上昇傾向にあるといえます。
次に、組み込みソフトウェア開発における“課題”について考えてみましょう。図2に、2010年度の組み込みソフトウェア産業実態調査(※経済産業省調べ)の中から、組み込みソフトウェア開発の課題についてを示します。
これによると、第1位は「設計品質の向上」、第2位は「開発コストの削減」ということになっています。
この結果から推測すると、開発コストの削減を目的として、海外などへのソフトウェア開発の外部委託が進むと設計品質の向上に対する問題がさらに表面化していくことが懸念されます。そのため、設計品質の向上は組み込みソフトウェア開発にとって最重要課題であるといえるでしょう。
前述の通り、組み込みソフトウェア開発における一番の課題は、設計品質の向上です。では、“ソフトウェア開発における設計”とは、どのようなものなのでしょうか。あらためて考えてみましょう。
ここでは、大工さんが「趣味で犬小屋を作る」場合と、「仕事で家を建てる」場合の違いを例として取り上げます。
趣味で犬小屋を作る場合、まず自分がどのようなものを作りたいのかをイメージし、必要な材料をそろえてから作り始めます。途中で寸法が合わなければ、その都度調整するなどして好きなように作ることができます。また、途中で完成イメージを変更することも可能であるため、“とにかく自分の好きなように作ればよい”わけです。
これに比べ、仕事で家を建てる場合は、“お客さまが要求するものを造る”ため、その要求を明確化する必要があります。また、家は自分1人で建てるわけではなく、専任スタッフがそれぞれの担当部分を造ります。そのため、まず、お客さまの要求するものを明確化し、それを設計図として作成します。そして、各専任スタッフがその設計図通りに各パートを造り上げていきます。もしも設計図なしで各スタッフが好き勝手なものを造ってしまったら……、お客さまが求める家は絶対に完成しません。つまり、設計図はそれぞれの専任スタッフがお客さまの要求するものを確実に造るために必要な“道しるべ”であるといえます。
Copyright © ITmedia, Inc. All Rights Reserved.