組込みシステムは、通信・安全制御・医療・ロボット・自動車・産業機器・家庭用電化製品まで、幅広く利用されています。特に自動車では電子部品が多用されていて組込みシステムの塊ともいえます。このように組込みシステムは、電子機器の根幹技術です。開発ライフサイクルが短くなる一方、開発コストの増大は組込みシステムの開発規模に比例して増加し、開発コストの増大に繋がります。
この組込みシステム開発では、モデルベース開発が注目され、車載システム開発では一般的です。動く仕様書となるモデルを作成して、それをベースにシミュレーション機能を活用して開発期間の短縮と、ソフトウェアの品質を向上させる開発手法がモデルベース開発です。今後、先進分野(医療機器開発・ロボット開発)などでの活用に注目です。
このような背景を踏まえて、今回は、モデルベース開発の概要を解説します。
1.モデルベース開発とは
モデルベース開発は、組込みシステム開発で注目されました。設計工程で作成するモデル(コンピューター上)元に、シミュレーションにより開発を進めていく手法です。
モデルとは対象の抽象表現で、開発に必要な部分を切り出して専用ソフトを用いて記述します。これが物理システムを再現(コンピューター上)した仕様書となりシミュレーションを行う基となります。
このモデルを利用して、実機製作を減らし、設計でシミュレーションを行うことが可能になります。結果、製作費用低減、品質向上につながります。一方、モデル、データの再利用とブラッシュアップにより、次の開発へ改善を引き継いでいく役割も実現出来ます。
2.モデルベース開発の特徴
車載システムを中心に広がってきた開発手法のモデルベース開発ですが、組込みシステムが複雑化・巨大化するに従ってコンピューター上のモデルを使い、シミュレーションを使った開発を行い、従来手法よりも、開発期間短縮、品質向上などのメリットが得られます。自動車産業、医療機器、ロボット、エネルギー関連産業などソフトウェアによる機構制御を行う分野に幅広く応用が可能で、活用が進んでいます。
3.モデルベース開発のメリット
モデルベース開発は、実機ではなくモデルを使って開発を進めますので、専用ソフトウェアを用いて作られるモデルでは、対象システムのコードの自動生成、バーチャルなシミュレーションなど、従来型の開発プロセスでは得られないモデルベース開発のメリットがあります。
4.机上で網羅的に検証を行えるモデルベース開発
モデルベース開発では、これまで試作機で検証していた内容をモデルを使ってシミュレーションを行えます。実機では環境・条件をそろえるのに手間がかかる検証も即座に実行できます。
エンジンと制御装置を検証する例では、温度による動作変化を検証するための環境を用意して、一回エンジンをかければ、エンジン自体の熱で温度が上がるため、再検証はエンジン温度が下がるまで待たなければなりません。モデルによるシミュレーションではソフトウェアで個別に条件を変えた検証が何度でもできます。準備や待ち時間が不要で、工数と時間を大きく削減できます。
これらは企画・設計の段階においてのシミュレーションですが、作成前にシミュレーションを行うので、後期の開発期間における手戻りを防ぐ効果があります。これは全体の効率アップ、品質向上に繋がります。
モデルベース開発で使用するソフトウェアは、モデルからコードの自動生成が可能で、ACG(Automatic Code Generation)と呼ばれ、モデルベース開発の開発工程として定義されています。人手によるプログラミングを削減できるため、ミスの発生、工数削減できるメリットがあり机上で網羅的に検証を行えるモデルベース開発の独壇場です。