•  

コラム

  1. TOP
  2. コラム
  3. コラム
  4. 第2回 モデルベース開発の『狭義のMBD、MILS、HILS、RCP』とは

第2回 モデルベース開発の『狭義のMBD、MILS、HILS、RCP』とは

MBD
  • LINEで送る
  • このエントリーをはてなブックマークに追加
第2回 モデルベース開発の『狭義のMBD、MILS、HILS、RCP』とは

第2回 MBD【モデルベース開発】解説 コラム

第2回 MBD(モデルベース開発)コラム、今回はMBDの開発プロセスについてご紹介します。



開発プロセス

ここでは、まずMBDの開発手法を4種類取り上げ、概要を簡単に説明します。その後、それぞれの手法が、IPAの「組込みソフトウェア向け 開発プロセスガイド」のV字プロセスのどこに当てはまるかを紹介し、ソフトウェア・エンジニアリング・プロセスのうち、MBD導入の影響が大きいアクティビティについて、何がどう変わるかを説明します。



MBD(モデルベース開発)の開発手法1

MBD(モデルベース開発)の開発手法1
※引用 Eureka Box(ユーリカボックス)はじめてのMBD 開発プロセス
https://member.eureka-box.com/products/10/categories/2150049210/posts/2156852362

MBD導入の目的は、制御装置(コントローラ)と制御対象(センサやアクチュエータ)の振る舞いをモデル化することで、シミュレーションを可能にし、生産性や成果物品質の向上を実現することにあります。

MBDの活用範囲は幅広く、解決したい課題や開発対象の特性、開発スタイルなどによって、どの手法を導入するか見極める必要があります。狭義のMBD、MILS、HILS、RCPについて、簡単に違いを説明しましょう。



MBD(モデルベース開発)の開発手法2 MBDとは

MBD(モデルベース開発)の開発手法2 MBDとは
※引用 Eureka Box(ユーリカボックス)はじめてのMBD 開発プロセス
https://member.eureka-box.com/products/10/categories/2150049210/posts/2156852362

まず、狭義のMBDとは、すなわち制御モデルのみによるシミュレーションを活用した開発です。コントローラの制御ソフトウェアをモデル化して、机上シミュレーションで動作確認し、モデルから自動コード生成を行います。

センサからの入力値に対し、一意にアクチュエータ指示値が決まる場合は、これだけでも十分にMBD導入効果が得られます。



MBD(モデルベース開発)の開発手法3 MILSとは

MBD(モデルベース開発)の開発手法3 MILSとは
※引用 Eureka Box(ユーリカボックス)はじめてのMBD 開発プロセス
https://member.eureka-box.com/products/10/categories/2150049210/posts/2156852362

MILSとは『Model In the Loop Simulation』の略で、制御対象のセンサやアクチュエータをモデル化し、コントローラモデルと組み合わせて机上シミュレーションを行う手法です。

例えば、目標回転数に向けたフィードバック制御など、 アクチュエータの状態をリアルタイムに取得し、それに応じてアクチュエータへの指示値が動的に変化するような制御の開発では、MILSの導入が効果的です。



MBD(モデルベース開発)の開発手法4 HILSとは

MBD(モデルベース開発)の開発手法4 HILSとは
※引用 Eureka Box(ユーリカボックス)はじめてのMBD 開発プロセス
https://member.eureka-box.com/products/10/categories/2150049210/posts/2156852362

HILSとは『Hardware In the Loop Simulation』の略で、制御ソフトウェアを書き込んだ実コントローラと、プラントモデルを組み合わせてシミュレーションを行う手法です。

実コントローラを用いるため、制御ソフトウェアの開発にMBDを導入しているかは関係なく、HILSのみ導入している開発現場も多く存在します。

一般に、プラントモデルを実時間で動かすための専用ハードウェアが必要となります。



MBD(モデルベース開発)の開発手法5 RCPとは

MBD(モデルベース開発)の開発手法5 RCPとは
※引用 Eureka Box(ユーリカボックス)はじめてのMBD 開発プロセス
https://member.eureka-box.com/products/10/categories/2150049210/posts/2156852362

RCPは『Rapid Control Prototyping』の略で、コントローラの制御ソフトウェアをモデル化して、実センサ、実アクチュエータと組み合わせて動かす手法です。

先行開発など、新しい機能を開発する際に、その実現性や効果を見極めるためにRCPがしばしば用いられます。

一般に、コントローラモデルを実時間で動かすための専用ハードウェアが必要となります。



ご不明点・ご相談ごとがあれば
お気軽にご連絡ください

ソフトウエア開発オンライン学習Eureka Box

Eureka Boxは厚生労働省が実施している助成金、人材開発支援助成金の適用対象となります。

詳細はこちら
人材開発支援助成金


開発プロセス上の位置づけ

開発プロセスの位置づけ
※引用 Eureka Box(ユーリカボックス)はじめてのMBD 開発プロセス
https://member.eureka-box.com/products/10/categories/2150049210/posts/2156852362

IPAの「組込みソフトウェア向け 開発プロセスガイド」のV字プロセスに、MBD開発手法の適用箇所を当てはめると図のようになります。この中でも、MBDの導入により大きな影響を受けるのは、ソフトウェア・エンジニアリング・プロセスの部分です。この、ソフトウェア詳細設計、実装、テストについて、もう少し詳しく見てみましょう。



開発プロセス:ソフトウェア詳細設計

開発プロセス:ソフトウェア詳細設計
※引用 Eureka Box(ユーリカボックス)はじめてのMBD 開発プロセス
https://member.eureka-box.com/products/10/categories/2150049210/posts/2156852362

IPAの開発プロセスでのソフトウェア詳細設計の出力成果物には、ソフトウェア詳細設計書と内部確認レポートがあります。MBDを導入することで、このうちソフトウェア詳細設計書がSimulinkモデルに置き換わります。

この工程でのメリットには、手戻りの削減があります。従来の開発では、実装後の工程で不具合が発見され、手戻りが発生しがちでしたが、MBDを導入することで、シミュレーションにより早期に品質を確保でき、生産性が大きく向上します。

特に自動車分野などでデファクトスタンダードになっているMATLAB/Simulinkを用いて仕様をモデルとして記述することで、仕様の明確化や曖昧さの低減が期待できます。



開発プロセス:実装

開発プロセス:実装
※引用 Eureka Box(ユーリカボックス)はじめてのMBD 開発プロセス
https://member.eureka-box.com/products/10/categories/2150049210/posts/2156852362

実装段階のメリットは、何と言ってもモデルからソースコードを自動生成できることです。ソフトウェア詳細設計書を入力としてプログラミングしていた作業が不要になります。

もちろん課題もあります。期待通りのソースコードを生成するには、各種設定に対する知識や調整が必要になりますし、熟練のプログラマーが書いたものと比較すると、自動生成コードは一般にリソース使用量が多くなる傾向にあります。

それでも、自動コード生成によるソースコードの品質安定化やコスト削減効果は明白であり、今では多くの開発現場で当たり前のように実践されています。



開発プロセス:テスト

開発プロセス:テスト
※引用 Eureka Box(ユーリカボックス)はじめてのMBD 開発プロセス
https://member.eureka-box.com/products/10/categories/2150049210/posts/2156852362

最後にテストです。MBDを導入すると、従来はソースコード作成後に実施していた検証の大部分を、モデル作成時に前倒しで実施するようになります。

設計工程での工数は増えますが、要求に対する設計の正当性は既に確保できている状態となるため、テストの工程では、モデルとコードが一致しているかどうかに焦点を絞って確認することができます。



これからのMBD(モデルベース開発)に求められる技術を知るには

MBDの技術を実際に学んでみたいという方、まずは無料でお試しいただけるオンライン学習を準備しています。

業務が多忙なエンジニアでも、スキマ時間で効率的に実践的な学習が出来るEureka Boxは、エンジニアの現場の声から生まれたツールです。

エンジニアの独学・スキルアップに! 他では学べない技術が充実
上流工程ソフトウェア開発技術を学ぶ!
Eureka Box(ユーリカボックス)
エンジニア独学、オンライン学習、ソフトウェア開発独学、エンジニア教材、無料コンテンツ、Eureka Box ユーリカボックス



無料会員登録だけでも以下の特典が受けられます。

Eureka Box会員登録特典(無料)
  1. 各連載コラムの全容、未公開コラムも一気にまとめて読める(一部動画解説付!)
  2. USDM(要求記述)、MBD(モデルベース開発)、システムズエンジニアリング、AWS Greengrass(新世代エッジエンジニアのための技術講座)など、ソフトウェア開発に関わる知識がギュッと凝縮、困った時のお助けアイテムとしても長期で活用出来る
  3. ソフトウェア開発に関わる無料お試しコンテンツも充実


MBD(モデルベース開発)まとめ

この講座では、まず、狭義のMBD(モデルベース開発)、MILS、HILS、RCPという4種類のMBDの開発手法について、概要を簡単に説明しました。

次に、それぞれの手法が、IPAのV字プロセスのどの部分を対象にしているかを説明し、特にソフトウェア・エンジニアリング・プロセスのうち、MBD導入の影響が大きい、ソフトウェア詳細設計、実装、テストのアクティビティについて、何がどう変わるかを説明しました。

それぞれの利点・欠点を踏まえて、ご自身の状況に合った方法を取り入れ、最大限の効果を手に入れましょう。

株式会社エクスモーション シニアコンサルタント 三輪 有史

執筆者プロフィール

株式会社エクスモーション シニアコンサルタント

三輪 有史

 

専門分野:

自動車、MBDモデルベース開発、機能安全対応支援



診断・現場支援・人材育成をトータルで

コンサルティングサービスのご案内

システム・ソフトウェア開発の問題を解決するエクスモーションのコンサルティング。

エクスモーションのコンサルタントは、自動車業界・医療機器業界で多くの支援実績があります。開発現場の皆さまと一緒に手を動かし、状況に合った最適解を見つけることで問題解決に導きます。

MBD(モデルベース開発)のソリューションはこちらをご覧ください。

モデルベース開発(MBD)支援のコンサルティングなら


トップ企業をサポートしてきた技術と知見を1冊に「ソリューションガイドブック」

私達エクスモーションが行った、日本を代表する企業へのコンサルティングやトレーニングとは?
オンライン学習 Eureka Box誕生のベースとなった技術や知見が満載!
実際に支援を行ったお客様からのメッセージも掲載し、読み応えある1冊に仕上げています。



関連コラム

  • LINEで送る
  • このエントリーをはてなブックマークに追加

技術別コラム一覧

要求の定義と仕様化(USDM)

ROS

システムズエンジニアリング

クラウド技術
(AWS Greengrass)

Docker

モデルベース開発(MBD)

派生開発(XDDP)

SPL

用語集