MBD(モデルベース開発)とは? 導入のメリットやCAEとの違い、開発時のポイントついて解説
近年のテクノロジーの発達により、自動車業界の車載システムをはじめとする組込みシステム開発にも、開発サイクルのスピードアップが求められるようになっています。しかし、従来の「V字モデル」を採用して開発を進めるプロセスでは、「ハードウェアを開発してから検証する」という順の工程となるため、スピードアップが難しいのが実情です。MBD(モデルベース開発)は、コンピューター上にシミュレーションを行う「モデル」を作成し、開発と検証を同時並行で進めていきます。これにより、従来の開発プロセスの課題であった「手戻り」の発生を抑え、開発サイクルの最適化を図ることが可能です。この記事では、MBDの概要や必要とされる理由、具体的な開発工程などを紹介していきます。
MBD(モデルベース開発)とは何?
MBD(モデルベース開発)とは「Model Based Development」の頭文字を取った略語であり、組込みシステム開発において、コンピューター上にシミュレーションを行うための「モデル」を作成し、開発と検証を同時並行で効率的に進めていく手法のことです。
モデルは現実と同様の仕様でコンピューター上に再現される、「実行可能な動く仕様書」ともいえます。モデルを利用して設計段階から繰り返しシミュレーションを行うことで、従来の開発プロセスの課題であった「開発を行ってから検証する」という工程のなかで発生しがちな作業の「手戻り」を極力解消し、効果的にシステムの開発を進めることが可能です。
特に、自動車業界ではMBDの導入が進んでおり、車載システム開発などに活用されています。システムの開発効率を向上させてリリースまでの期間を短縮できるMBDは、今後は自動車業界のみならず、医療機器開発やロボット開発など、あらゆる先進分野に広く普及していくことと予想されています。
MBDとCAEの違い
MBDとCAE(Computer Aided Engineering)は、ともにコンピューター上で検証を行う手法ですが、検証対象や使用目的に違いがあります。CAEは、温度や振動などの物理現象をシミュレーションする手法であり、解析方法や技術そのものを指します。一方、MBDは設計から実装に至るまで、モデルを活用して製品の動作や妥当性を検証する開発手法のことです。これらの手法を場面に応じて使い分けることで、効率的にシステムを開発できます。
MBD(モデルベース開発)が必要な理由
従来の組込みシステム開発では、ハードウェアなしに最終的な検証はできません。そのため、ハードウェアの開発遅れの影響により、ソフトウェアの検証が進まないといった問題が、たびたび発生しています。また、検証は一度きりで完了することはほぼなく、システムが完成するまで何回も繰り返し行うため、結果的に膨大なコストがかかってしまうことも課題とされています。
このような状況を解決するために生まれた開発手法が、MBD(モデルベース開発)です。テクノロジーは日々進化を続けており、その進歩とともに社会のニーズも移り変わります。従来の開発手法では、それらのニーズに適切に応えることは難しく、MBDの導入によって開発スピードを上げることが求められています。
また、自動車業界はMBDへのニーズが特に高い業界です。近年の自動車業界のイノベーションは著しく、EVや自動運転技術など、社会的な課題に対応するために業界全体が動いています。技術が進化するにつれて自動車に搭載するシステムや機能は増え続けているため、人員や時間などの限られたリソースを開発にどう活用するかが非常に重要な課題となっています。このような背景から、コストを削減しながら開発サイクルの迅速化につながるMBDを導入する自動車メーカーが増えています。
MBDの4つのメリット
開発スピードの向上が、メリットとして取り上げられることが多いMBDですが、それ以外にもさまざまなメリットがあります。ここでは、MBDを導入することで享受できるメリットを4つ紹介します。
開発スピードを向上させられる
開発スピードを向上させられることは、MBDの特に大きなメリットだといえます。従来の組込みシステムの開発手法では、システムを検証するためにハードウェアの開発を待つ必要がありましたが、MBDではハードウェア開発の進捗に関係なくシミュレーションによって検証することが可能です。これにより不具合を早期に発見でき、開発サイクルの最適化につながります。また、実際のハードウェアでは難しいような精度の高い検証を、短期間で繰り返し行うことも可能になるため、MBDの導入はシステムの品質向上にも大きく影響します。
あらゆる状況下でシミュレーションできる
あらゆる状況下でシミュレーションができることも、MBDの大きなメリットです。MBDは、コンピューター上でモデルを作成してシミュレーションを行うため、意図的に故障やエラーを発生させることができます。これを実際のハードウェアで行おうとすると、本当に故障させなければならず、コストが増大します。自動車開発においては、天候条件や路面状況などさまざまな条件を設定したシミュレーションにも対応でき、あらゆる状況下での検証が実施できます。このようにMBDを活用して、さまざまなケースをシミュレーションすることが、システムの品質向上につながります。
自動でコードを生成することも可能
MBDでは専用のソフトウェアが用いられますが、その拡張機能を使って構築したモデルから自動的にコードを生成することもできます。従来の開発では仕様書に基づいて人の手でコーディングしていましたが、時間や手間がかかるほか人為的なミスが発生する恐れもあります。コードを自動生成すればケアレスミスの低減にもつながり、結果として製品の品質向上につながります。
モデルを再利用してブラッシュアップできる
MBDで作成するモデルは再利用することが可能です。従来の開発でもプロセスの再利用は行われていましたが、MBDではモデルが仕様書と検証機能を併せ持つため、再利用がしやすいという点で非常に優れています。コピーするだけで、シミュレーターとして機能するモデルは、繰り返し再利用して改良を重ねることでブラッシュアップできます。企業の資産ともなるモデルを改善し続けることで、より効率的にシステム開発を進めることができるようになります。
MBDの3つのデメリット
MBDにはたくさんのメリットがありますが、それと同時に、設計フェーズの工数の増加や専門的な技術が必要といったデメリットとなる側面があることも認識しておく必要があります。ここでは、MBDにおけるデメリットを3つ紹介します。
設計フェーズの工数が増加する
MBDによって検証作業が効率化できる一方、設計フェーズは工数が増えてしまうことには注意が必要です。MBDはその開発プロセスの特性上、従来は開発の後期で行っていた検証工程を先に持ってきます。プロセス全体的を見れば早い段階で検証を行うことで開発後期の作業の手戻りが減り効率化されますが、設計やモデルの作成など、いわゆるV字モデルの左側の工数が増えてしまうMBDの特徴を認識していくことが重要です。
設計にかかわる人員が増加する
従来の開発プロセスでは、設計フェーズよりも検証フェーズの方に多く人員を配置していました。しかし、前述のようにMBDは検証工程を効率化しますが、その分設計工程の工数が増加します。そのため、従来は検証工程に充てていた人員を設計工程に配置するなど、配置転換が必要です。企業では人員配置の変更が容易ではない場合も少なくありません。加えて、人材育成のためのコストも発生します。このように、設計にかかわる人員を増加させなければならないことも、MBDにおけるデメリットの一つといえます。
専門的な技術やツールが必要になる
MBDは専門的な技術やツールを活用して開発を進めます。そのため、MBDの経験がないエンジニアには新しい技術やツールを習得するための相応の時間が必要となります。自社内で教育が難しい場合は、社外からMBDに精通したエンジニアを連れてくるという手もありますが、そもそもMBDに対応できるエンジニアがそう多くないのが実情です。基本的には社内でじっくりと時間かをかけて人材を育成することが必要になるため、開発体制を構築するまでに時間がかかってしまうこともMBDのデメリットだと考えられます。
MBDの開発工程
MBDは、動く仕様書といえる「モデル」を活用し、設計と検証を同時に進めていく開発手法です。そのため、MBDには従来の開発プロセスとは異なる工程があります。ここではMBD独自の開発工程である「MILS」「RCP」「ACG」「HILS」について紹介します。
MILS
MBDでは、開発する制御システムだけでなく、エンジンやモーターなどの制御システムによって制御される対象物もモデルとして扱います。制御システムのモデルを「制御モデル」、制御対象のモデルを「プラントモデル」と呼ぶのが一般的です。
「MILS(Model In the Loop Simulation)」は、これら2つのモデルを組み合わせてシミュレーションを行う工程です。後述する「HILS(Hardware In the Loop Simulation)」とは異なり、MILSではすべてをモデル化し、コンピューター上でシミュレーションを行うため、条件や設計を自由に変更できるのがメリットといえます。
RCP
「RCP(Rapid Control Prototyping)」は、制御モデルを制御対象であるハードウェアと接続して、制御設計の最適化を図る工程です。自動車を例に挙げると、制御モデルを汎用的なエンジンやトランスミッションにつないで動きを確認します。MILSでは確認できない項目のチェックが可能であり、プラントモデルが想定通りに作成されているかを確認する検証や、制御対象のハードウェアが複雑なためモデル化が難しい場合にも活用されます。
ACG
「ACG(Automatic Code Generation)」とは、「MBDの4つのメリット」の項でも触れた、自動でコードを生成することを指します。MBDでは「MATLAB」や「Simulink」といった専用ツールを活用しますが、それらの拡張機能を使用することでコードの自動生成が可能です。ただし、モデルの構築によっては意図していないコードが生成される場合もあるため、すべてのコーディングを自動生成に任せるのではく、レビューをしっかり行いながら微調整をしなければならないことを前提に工程を組むことが大切です。
HILS
「HILS(Hardware In the Loop Simulation)」とは、MILSでモデル化した一部をハードウェアに置き換えて検証を行うプロセスです。装置を制御するための電子制御ユニットである「ECU(Electric Control Unit)」を検証し、モデルだけではシミュレーションできない要素を確認します。MILSではすべての検証をモデルで行うため、装置が動作することによる摩擦係数の変化などの目的とする要素以外の検証ができません。HILSでは、そのような実時間での検証が必要な要素を、モデルを実装した専用ハードウェアを用いて検証します。
MBD導入を成功させる2つのポイント
専門的な人材の育成に取り組む
MBDの導入を成功させるためには、MBDに精通した人材を確保することが何よりも重要です。しかし、極めて専門性が高い領域であることから、そもそもMBDに詳しい人材はそう多くいません。そのため外部からの採用ではなく、社内でじっくりと専門的な人材の育成に取り組む方がよいといえます。
また、OJTなども現場任せにするのではなく人事部門も一体となり、企業を挙げて教育制度の整備に取り組むことが大切です。専門知識を持った講師の招集や新たな研修制度の設置など、導入初期段階のコストはかかってしまいますが、MBDを導入して企業価値を高めるための必要経費だと捉えて、人材育成に投資することが重要です。
既存のモデルをうまく活用する
MBDを導入する上で最も大変なのが、新規に開発モデルを作成することです。一から新しいモデルを作成するには高いスキルが必要であり、相応の時間がかかってしまいます。開発のためのモデルは、自社で設計することが基本ではあるものの、導入初期段階においては既存の開発モデルを活用することも選択肢の一つとなります。
流通しているものは多くないですが、一部の開発モデルは購入することもできます。既存のモデルを活用することで、早く開発プロセスを最適化できるだけでなく、エンジニアの業務負荷の軽減にもつながります。もし、自社のニーズに合った既存モデルがある場合は、購入を検討してみてはいかがでしょうか。
MBDではAutomotive SPICEにのっとることが重要
MBDは自動車業界でのニーズが非常に高く、特に車載システムの開発のために導入を進める企業が増えています。近年では自動車に求められる機能も多くなっており、スマートフォンと連携する機能、自動ブレーキや車線逸脱防止支援といった運転アシスト機能など、現在でも自動車には100個近くの制御システムが搭載されています。このように高性能な自動車を開発する動きは今後も続いていくと考えられ、より一層車載システムのニーズは拡大していくと考えられます。
しかし、ソフトウェア市場の拡大と同時に、システムやソフトウェアの不具合によるリコールが急増しているのも事実です。このような状況から自動車業界でもソフトウェアの品質がより厳しく問われるようになったという背景から、車載システム開発工程の標準フレームワークである「Automotive SPICE」が策定されました。現在では、車載システムを開発する多くの自動車メーカーがAutomotive SPICEに準拠しており、MBDではこのフレームワークに則して開発を進めることが非常に重要です。
Automotive SPICEとは何?
Automotive SPICEとは、ソフトウェアプロセスアセスメントの国際規格であるISO/IEC 15504を自動車業界向けに再編集して策定された、車載システム開発のためのプロセスモデルです。Automotive SPICEは、車載システム開発をする上での目標達成に向けた行動や成果物などの指針が掲載されており、今日では車載システムの開発プロセスの業界標準となりつつあります。
Automotive SPICEは、マネジメントとエンジニアリングの双方の観点からプロセスが定義されており、「主要ライフサイクルプロセス」「組織ライフサイクルプロセス」「支援ライフサイクルプロセス」と、大きく3つのカテゴリーに分かれています。さらに各カテゴリーの中のプロセスごとに要件が定義されているため、プロセス定義は全部で32個もあります。
また、Automotive SPICEには各プロセスの達成度を評価するための指標として、レベル0~5までの6段階のレベルが定義されています。車載システムの開発においては、レベル1~3の達成度が求められるのが一般的です。Automotive SPICEは公的認証制度がないものの、世界で広く活用されているフレームワークであるため、この基準を満たすことで安全性と信頼性の証明になります。
MBDに関するよくある質問
MBDエンジニアに必要なスキルとは?
MBDエンジニアに求められるスキルは、「制御系分野」「組み込み系分野」「情報系分野」に関連するスキルに加え、対象となる製品に関する知識や、目の前で起きている現象を客観的に捉えて解析する能力など、多岐にわたります。
また、プログラミングスキルのほか、数値解析能力や物理システムへの理解など、数学や物理学に対しての幅広い知見も求められます。また、併せてそれらに関する基本的な教養も必要であり、MBDエンジニアになる人のほとんどは、大学で工学や電子工学、コンピューターサイエンスなどを専攻して学ぶのが一般的です。
MBDの将来性は?
現在、MBDは自動車業界で非常に重要な役割を果たしています。今後もEVや自動運転技術など、自動車業界全体として成長していくことが予見されており、それに合わせて将来的にもMBDの需要は高まると考えられています。
また、MBDは自動車業界だけでなく、航空宇宙分野や医療機器分野、エネルギー分野など、今後の成長分野とされる他業界においても注目度が非常に高いです。品質を向上させながら開発サイクルを迅速化するMBDに対するニーズは業界問わず今後も高まり続けていくことが予想されています。
Sky株式会社のソフトウェア開発
社会的な背景も含め、自動車の高性能化は今後も続いていくことが予測できます。しかし、車載システムの大規模化・複雑化のトレンドに反して、そのシステムの開発に充てられる時間は短くなる一方です。このような状況を解決するためにも今や自動車メーカーにとってMBDの導入は不可欠ともいえます。
Sky株式会社には、MBDを取り入れた各種ECUの開発実績が豊富にあります。MBDの特徴を生かした制御モデルの作成はもちろん、検証の際にはMILSやHILSといったシミュレーション手法を取り入れて製品開発を行っています。自社でMBDを活用した開発が難しいといったお困りごとがあれば、お気軽にSky株式会社までお問い合わせください。
まとめ
今回はMBDについて紹介しました。テクノロジーの進化により、今後より一層開発スピードの向上が求められる組込みシステム開発では、MBDの導入はもはや必須といっても過言ではありません。しかし、MBDに詳しい人材はまだまだ不足しており、企業としてもMBDを導入するハードルは決して低くはありません。しっかりと腰を据えて、一からMBD人材を育成する体制づくりが今の企業には求められています。