モデルベース開発とは?
自社に在籍している、TKさんが現在モデルベース開発を行っています。
素晴らしい開発手法なので皆様にご紹介いたします!
組込みシステム開発では、「モデルベース開発」が注目されています。車載システム開発ではすでに一般的で、ご存知の方も多いでしょう。”動く仕様書”となる「モデル」を作成し、そのモデルをベースにシミュレーション機能を活
組込みシステム開発では、「モデルベース開発」が注目されています。車載システム開発ではすでに一般的で、ご存知の方も多いでしょう。”動く仕様書”となる「モデル」を作成し、そのモデルをベースにシミュレーション機能を活用することで、開発期間の飛躍的な短縮と、ソフトウェアの品質を向上させる革新的な開発手法です。車載システム開発のみならず、医療機器開発やロボット開発など、幅広い先進分野での活用が期待されています。
ここでは、モデルベース開発の導入を検討されている方のために、モデルベース開発の仕組みや、メリット・デメリット、対応分野、歴史・背景、導入の手順、導入時の課題や解決方法などについて紹介します。 モデルベース開発の導入を検討するための資料はこちら
モデルベース開発の背景と従来型開発との違い
モデルベース開発が必要とされる「組込みシステム開発」の世界と、従来の開発手法の課題から、モデルベース開発について解説しましょう。
組込みシステム市場の巨大化
組込みシステムはいつも目にしている家庭用電化製品から、通信・安全制御・医療・ロボット・自動車・産業機器に至るまで、実に幅広く利用されています。今や自動車は電子部品が多用され、CPUの数は50~100個程度が搭載されており、組込みシステムの塊といえます。組込みシステムは、電子機器製品の根幹を支える技術なのです。
これら製品における組込みシステムの開発規模が増加し、その分、開発コストも増大しています。
反面、新製品を素早く市場に投入するために、開発ライフサイクルはどんどん短くなっています。もちろん品質を低下させることはできません。
V字プロセスによる従来型の組込みシステム開発の課題
組込みシステムの開発プロセスの特徴は、ハードウェアとの依存関係が強く、検証にはハードウェアが必要です。そのため、何回かの試作を繰り返しながら開発を進めます。
組込みシステム開発では、このV字プロセスにしたがって開発が行われますが、各工程でさまざまな課題が発生します。
組込みシステム開発では、最終的な検証の際にハードウェアが必要になります。このハードウェアなくして検証はできません。このため、ハードウェアの完成時期が遅れると、そのしわ寄せがソフトウェア検証工程に影響をおよぼします。
また、従来型の組込みシステム開発では、ハードウェアに合わせて検証しますが、これが1度で済むことはなく、製品が完成するまで、何回となくやり直すことになります。ここに時間とコストがかかります。
さらにそれぞれの工程のレビューや検証においても、人が行う以上、どうしても漏れが出てしまいます。担当した人の習熟度にも品質と効率が左右されます。
このように従来型開発では、ハードウェアや人のスキルなどが影響してレビューや検証でさまざまな課題が発生します。
モデルベース開発とは何か?特徴をわかりやすくご紹介
モデルベース開発はこれら従来型の組込みシステム開発の課題を解消する開発手法です。モデルベース開発の特徴を交えながら、その概要をご紹介しましょう。
モデルベース開発の特徴1 モデルが動く仕様書になる
従来型の組込みシステム開発では、システム仕様書をテキストやフローチャートなどで作成していました。これを元にソフトウェア設計を行い、そののちコーディングに入りますが、これら作業は分断され、レビューや検証の際にコミュニケーションミスが発生しがちです。
モデルベース開発では、「モデル」が動く仕様書となります。そのため、モデルを活用して、実行や制御に不備がないかをシミュレーションできます。この動く仕様書がモデルベース開発の特徴の1つです。
モデルベース開発の特徴2 自動コード生成できる
完成したモデルをソフトウェア設計に落とし込み、ここでもシミュレーションを繰り返し、個々のソフトウェアの完成度を高めることができます。
さらに、これらソフトウェア設計から自動的にコードを生成できます。コーディングの工数が大幅に削減できます。
モデルベース開発の特徴3 適合・評価の精度向上と期間短縮
従来型の組込みシステム開発の最後の工程では、検証するために実際のハードウェアの完成品が必要となります。しかし、実際のハードウェアでは、物理的に検証ができないケースがあります。
一方、モデルベース開発では、モデルとシミュレータ(HILS*)を活用して、実際のハードウェアでは難しい検証もシミュレーションしながら実行できます。
その結果、精度の高い検証を短期間で繰り返し行うことが可能です。
* HILSは、Hardware In the Loop Simulatorの略で、文字どおりハードウェアのシミュレータのこと
このような3つの特徴をもつのがモデルベース開発です。