MBD(Model Based Development:モデルベース開発)は、制御システムの設計において、その仕様をモデルであらわし、コンピュータ上でシミュレーションさせて検証を行いながら精度を高めていく開発手法です。
本記事では、MBDのプロセスやそれに伴って活用されるMILSやHILSなどの手法、従来型開発のプロセスとの違い、MBDのメリット・デメリット等について解説しています。
テクノプロ・デザイン社は、モノづくりからIT産業まで幅広いテクノロジーに秀でた8000人以上のエンジニアを有するエンジニアリング・コンサルティング事業のエキスパートです。モデルベース開発導入を検討する際は、テクノプロ・デザイン社へぜひご相談ください。

MBD(モデルベース開発)のプロセスとは?従来のV字プロセスとの違い

ここではMBDのプロセスや、MILS・HILSなどの手法、従来のV字プロセスとの違いなどを解説します。
MBD(モデルベース開発)のプロセスとは
MBDは、従来からの組込みシステム開発における「V字モデル」(下図)と同様のプロセスをたどりますが、「動く仕様書」と呼ばれる「モデル」を作成し、さまざまなツールを活用しながら設計段階からシミュレーションによる検証を繰り返すことが大きな特徴です。

図:V字モデル
設計工程 | 要件定義 | システムの目的を明確にして搭載すべき機能を洗い出す |
基本設計 | ソフトウェアの仕様を実現するために機能一覧やデータ構造の設計図などを作成 | |
詳細設計 | 基本設計を基にプログラミングできるようにより細かい設定を行う | |
プログラミング | 設計を基に組込みシステムを作成 | |
テスト工程 | 単体・結合テスト | ・プログラム作成後に行う ・単体テスト:モジュールごとの最小単位で行う ・結合テスト:単体テストをクリアしたモジュールを組み合わせて実施 ・それぞれ意図した動作をするか確認 |
システムテスト | ・ソフトウェアだけでなくハードウェアとも組み合わせてテストを実施 ・システム全体が設計通りに動作するかを検証 | |
実機評価 | 実際に組込みシステムを使用する条件で動作を確認 |
表:「V字モデル」の開発プロセス
MBDによる開発プロセスでは、下図のようなさまざまな手法を用いることで効率的に開発を進めます。

それぞれの手法を以下で解説します。
MBDのプロセスに活用するさまざまな手法|MILS、HILS、RCP、SILS、ACG
ここではMBDによる開発プロセスに用いられる手法である、MILS、RCP、SILS、ACG、HILSについて解説します。
MILS:モデルによるシミュレーション

MILS(Model In the Loop Simulation)は、設計プロセスの制御モデルと制御対象のモデルを用いて、コンピュータ上でシミュレーションを行います。
制御ロジック(コントローラー)と制御対象(プラント)の両方にモデルを使用することから、開発初期段階で検証を実施でき、パラメーターやシステム構成を自由に設定することが可能です。
ただし、モデルによるシミュレーションであるため、ハードウェア起因の不具合やCPUの処理にかかる時間に起因する内容については検証できません。
RPC:制御モデルとハードウェアをつないで設計の最適化

RPC(Rapid Control Prototyping)では、制御モデルを汎用の制御対象であるハードウェアに接続して動作の検証を行います。
MILSのプラントモデルの妥当性の確認や、実機プラントが複雑でモデルの作成が困難な場合に用いられます。
ハードウェア起因の不具合など、モデルを用いたシミュレーションのみでは明らかにできない問題点を開発早期に発見でき、制御設計を最適化します。
SILS:制御ロジックをソースコードに変換した影響を確認

SILS(Software In the Loop Simulation)では、MILSの制御モデルをソースコードに変換した制御コードとプラントモデルによって、制御ロジックをソースコードに変換した影1111響を確認します。
MILSが開発プロセスの序盤である基本設計で実施され、SILSは詳細設計やj実装の段階で行います。
ACG:コードの自動生成

ACG(Automatic Code Generation)は、構築したモデルからソースコードを自動で生成します。
モデルから置き換えられたコードはSILSによって動作検証され、ECUのコードと結合してECUソフトウェアができあがります。
HILS:ハードウェアを用いてシステムを検証

HILS(Hardware In the Loop Simulation)では、設計プロセスで検証済みのコントローラーをハードウェアに置き換え、制御対象のモデルに接続して検証を行うプロセスです。電子制御ユニット(ECU:Electric Control Unit)をHILS装置に接続してシミュレーションを進めることで、モデルによる検証だけでは不十分な要素について検証を行います。
HILSでは実機を使用することなく実機に近い状況でECUの評価を実施でき、実際に行ったら危険なテストを安全かつ容易に実施可能です。
また、開発プロセス全体にMBDを導入する準備段階としてHILSのみ先に導入する方法もあります。
MBDのプロセスと従来型V字プロセスとの違い
MBDは、V字プロセスの前半である設計段階からコンピュータ上でシミュレーションによる検証を繰り返せることが、従来型V字プロセスとの大きな違いです。

従来型のV字モデルでは、前半は検証を行わず設計を進め、後半で初めて検証(テスト)を実施します。そのため開発プロセスの前半では不具合を見つけにくく、テスト工程で初めて設計上の不具合が発覚することがあります。
テストは試作機や実機を作成して行うため、手戻りの発生により開発工数や開発期間コストなどが増大するリスクがあります。
MBDでは、設計プロセスから開発対象を「モデル」で表現し、コンピューター上でシミュレーションによる検証を行います。
実機製作前からモデルを用いて検証を行うことで、開発プロセス後半からの大きな手戻りを予防でき、時間やコストの削減が期待できます。また検証のための条件はコンピュータ上で簡単に変更でき、実際に準備することが難しい条件でもシミュレーション可能です。
【参考記事】MBDについては、以下の記事でも詳しく解説しています。

MBD(モデルベース開発)のメリット

ここではMBDのメリットについて説明します。
開発の早期段階でシミュレーションが可能

従来の組込みシステム開発で作成したプログラムは、開発の下流工程で試作機や実機などのハードウェアができるまでテストを行うことができませんでした。
MBDは開発初期段階からモデルを用いてシミュレーションを行うことができるので、ソフトウェアの不具合を早期に発見できるので手戻りを最小限に抑えることが可能です。
様々な状況を想定したシミュレーションができる

MBDはコンピューター上でモデルを用いてシミュレーションを行うので、様々な状況を想定することが可能です。
例えば、故障を想定した検証は、実機を用いたテストでは実機を故障させなけらばならないため簡単に行うことができません。
しかし、MBDではモデル上で故障を再現することができるため、低コストで時間もかからず、安全に検証可能です。
自動でコード生成できる
MBDは拡張機能を使って構築したモデルからソースコードを自動で生成することができます。従来の開発では人の手でソースコードを書いていましたが、自動化することでヒューマンエラーを防ぎ、コード生成にかかっていた時間も短縮することができます。

モデルを再利用して改良していくことができる

MBDで一度作成したモデルは再利用が可能で、複製や改良を容易に行えます。
モデルを継続的に再利用することでよりブラッシュアップされ、正確で効率的に開発を進めることが可能になります。
【参考記事】MBDのメリット・デメリットについては、以下の記事でも詳しく解説しています。

MBD(モデルベース開発)のデメリット

組込みシステム開発においてメリットの多いMBDですが、デメリットも存在します。
設計工程の負担増
MBDは設計プロセスからシミュレーションを行いながら開発を進めていく手法であるため、従来の開発手法に比べると設計段階の負担は増大します。

MBDを導入することで開発プロセス全体で見れば工数を削減することが可能ですが、設計段階だけに注目すれば、以下のように従来の開発手法と比較して工数が増える点は注意しましょう。
MBDで増える設計段階の工数 |
・モデルや検証用のデータ作り ・シミュレーションの実行 ・シミュレーション結果に基づく設計の見直し ・自動コード生成の設定の検討 |
従来の開発体制を刷新する必要がある

MBDは設計段階の工数が増大し、検証段階の工数が削減されるため従来の人員配置では人員の不均衡が起きてしまいます。
設計段階の人員を増やす必要があり、人材育成のための時間的・費用的コストが発生します。また、テスト工程に従事していたスタッフを異動する場合などは、心理的な負担も考慮する必要があります。
専門的な知識やツールが必要になる

MBDには専門知識を持ったエンジニアと専用のツールが必要です。MBDに対応できるエンジニアはまだ多くなく、人材育成は必須となるでしょう。また、専用のツールやソフトウェアを準備する必要があるので導入には相応の初期費用が必要です。
テクノプロ・デザイン社なら、全国30か所以上の拠点から7000人以上の経験豊富なエンジニアがモデルベース開発の導入をお手伝いします。システムやツールの選定、MBDの構築の支援はもちろん、人材育成やコンサルティングもお任せください。
MBDが向いている分野の具体例と不向きな分野

MBDは多くのメリットがある開発手法ですが、開発対象によって向き不向きがあります。
ここではMBDに向いている分野、不向きな分野を紹介します。
MBDが向いている分野の具体例
自動車
自動車業界では特にMBDが活用されており、電気自動車(EV)や自動運転技術などの開発において必要不可欠なものとなっています。
自動車の開発では部品ごとに異なる専門知識が必要になりますが、MBDを用いることで共通のプラットフォームで設計データを共有できるので各部品の専門家にとってお互いを理解しやすく、連携して開発を進めることが可能です。

また、故障を想定したシミュレーションでは、実機を用いた走行テストでは再現が困難な状況でのシミュレーションを行うこともでき、安全です。
農業・建設機械
農業・建設機械は過酷な環境下での使用が前提とされていることが多く、そのような環境下でも効率的に作業を行える機能や耐久性が必要不可欠です。
また、農業・建設業界では昨今の人手不足を背景に、無人運転技術などの高度な開発が求められ、組込みシステムも複雑化しています。複雑化したシステムでは単純なシミュレーションのみでは十分な検討を行うことが困難になりMBDの活用が進められています。
航空・宇宙機器
航空・宇宙機器は、より高い信頼性が求められる分野です。そのため、シミュレーションによる検証を繰り返すことで精度を高めることのできるMBDが導入されています。
また、航空・宇宙機器は実機を用いた検証を何度も行うことが難しく、実機で故障状態を再現する場合は危険を伴うことも多くあります。そのような状況の再現もMBDなら仮想上のシミュレーションで対応可能です。
家電
近年の家電はIoTやAIを活用したスマート家電など高性能なものが多く、組込みシステムも複雑になっています。また、新製品の開発サイクルも早くなっているため、開発の効率化も必須です。
高性能で信頼性の高い評価を早いサイクルで行うためにMBDが導入されるようになってきました。
医療機器
近年は、医療機器にもIoTが導入されるようになり、組込みシステムも複雑になっています。また、医療機器へのAIの活用についても研究が進められています。
シミュレーションによる検証を繰り返しながら開発を進めるMBDは、高い精度や安全性が求められる医療機器の開発において信頼につながります。
エネルギー分野
近年のエネルギー分野では、太陽光発電や大規模な蓄電池、電気自動車の電力を家庭の電力源として使用するV2H(Vehicle to Home)など様々な電力システムが模索されています。
これらは取り扱う電圧の範囲が大きく、それらに対応した電気回路の設計やシステムの構築は非常に複雑になるため、MBDを利用してシミュレーションを行うことで開発を効率化できます。
MBDが不向きな分野
組込みシステムの開発においてメリットの多いMBDですが、すべての分野で活用できるというわけではありません。
MBDに不向きな分野は以下の通りです。
モデル化の難しい分野
MBDで信頼性のあるシミュレーションを行うには、正確なモデルを作成する必要があります。そのため、手触りやにおいの感じ方など主観的でモデル化が難しい分野ではMBDの導入には向いていません。
また、ガソリンの燃焼反応や物質の凝固、酸化還元反応など化学反応を利用したシステムもモデル化が難しいためMBDには不向きです。
ハードウェアの制御が必要ない分野
MBDは、制御対象の動きをモデルによってシミュレーション可能であることが大きな強みです。
一方で、事務用ソフトやスマホアプリなど、ハードウェアの制御を行わない機器の開発にはMBDのメリットを活かすことができないため、不向きと言えます。
まとめ
MBDのプロセスやそれに伴って活用されるMILSやHILSなどの手法、従来型開発のプロセスとの違い、MBDのメリット・デメリット等について解説しました。
テクノプロ・デザイン社では、シミュレーション環境構築や運用、モデルベース開発のための人材育成など多角的にお客様をサポートいたします。モデルベース開発をご検討の際は、経験豊富な8000人以上のエンジニアを有するテクノプロ・デザイン社にお気軽にお問い合わせください。
