第1回 MBD(モデルベース開発)とは?基礎知識をご紹介。
第1回 MBD【モデルベース開発】解説 コラム
この連載コラムでは、Simulink を使った MBD(モデルベース開発)の基礎的な内容を数回に分けてわかりやすくお伝えします。
目次
MBD(モデルベース開発)とは
MBDとは、Model Based Development、すなわちモデルベース開発の意味です。
制御や制御対象を「モデル化」し、そのモデルに基づいて開発を行う手法全般を指します。
このコラムにおいてMBDというときには、MBDの中でも特にMathworks社のMATLAB/Simulinkを用いたモデルの作成・検証のことを指します。
MBD(モデルベース開発)のメリット
MBDではSimulinkモデルを適切に用いることでさまざまなメリットが得られます。
- 可読性と厳密性を両立した仕様の表現が可能
Simulinkで記述された仕様は図で表現されるため、プログラミング言語を習得していない人にも分かりやすい表現になります。また、形式的に表現されるため、自然言語で書かれた仕様書より厳密な記述になります。それにより、個人の解釈によって発生する認識の齟齬や、複数の関連する仕様がある場合の仕様間の不整合を防ぐことができます。 - 早期検証が可能
Simulinkモデルはしばしば「動く仕様書」と表現されます。可読性の高い仕様表現でありながら、仕様記述後すぐにシミュレーションを実行することにより、その振る舞いを検証することができます。そのため、実装を待つことなく、開発の上流工程で仕様の正しさを確認することができます。 - 自動的にコードを生成できる
自動コード生成はMBDの大きな魅力のひとつです。モデルから自動でCコードを生成できるため、人手によりコードを実装する工数をなくしつつ、バグの混入を防ぐことができます。
Eureka Boxは厚生労働省が実施している助成金、人材開発支援助成金の適用対象となります。
MBD(モデルベース開発)の注意点
次に、MBD導入・適用における注意点について説明します。適切に用いることができれば開発において大きな効果を期待できるMBDですが、闇雲に適用してしまうとそのメリットよりもデメリットのほうが大きくなってしまうこともあります。
- 設計工程の負担が増える
MBDでは、詳細設計の段階で緻密かつ網羅的な検証が必要なため(設計工程で検証まで出来てしまうため)、設計工程の負担が増加します。開発全体での工数が削減されても、その全ての工程で工数が削減されるわけではないことを理解する必要があります。
さらに、自動コード生成では、モデルの記述方法によってはコードの振る舞いが変わることがあり、意図通りのコードを生成するには設定の試行錯誤が必要です。 - 要求やアーキテクチャの表現が困難
Simulinkモデルでは要求やアーキテクチャの表現は困難です。Simulinkモデルはコードとほぼ等価な表現であり、制御に近い部分の設計に対しては大きな効果を生み出しますが、システム設計など上位の設計に関してはその限りではありません。
より抽象度の高い情報を記述するには、UMLやSysMLなど、別の表現が必要です。 - Simulinkでの記述が向かない処理もある
物理的な信号の処理に関しては直感的な表現が可能なSimulinkですが、プラットフォームやドライバなど、ハードウェアに近い処理や、可変長の情報を扱う処理については、Simulinkモデルでの記述を避けたほうがよいでしょう。
MBDを採用するからと言って適していない箇所にまでSimulinkを適用しようとすると、無用な苦労を背負うことになります。気を付けるべきポイントを正しく理解し、MBDを適切に利用していく必要があります。
これからのMBD(モデルベース開発)に求められる技術を知るには
MBDの技術を実際に学んでみたいという方、まずは無料でお試しいただけるオンライン学習を準備しています。
業務が多忙なエンジニアでも、スキマ時間で効率的に実践的な学習が出来るEureka Boxは、エンジニアの現場の声から生まれたツールです。
エンジニアの独学・スキルアップに! 他では学べない技術が充実
上流工程ソフトウェア開発技術を学ぶ!
Eureka Box(ユーリカボックス)
無料会員登録だけでも以下の特典が受けられます。
- 各連載コラムの全容、未公開コラムも一気にまとめて読める(一部動画解説付!)
- USDM(要求記述)、MBD(モデルベース開発)、システムズエンジニアリング、AWS Greengrass(新世代エッジエンジニアのための技術講座)など、ソフトウェア開発に関わる知識がギュッと凝縮、困った時のお助けアイテムとしても長期で活用出来る
- ソフトウェア開発に関わる無料お試しコンテンツも充実
MBD(モデルベース開発)まとめ
MBDとは、MATLAB/Simulinkで作成したモデルを成果物の中心に据える開発手法であり、そのメリットには、可読性と厳密性の両立、早期検証、自動コード生成、注意点には、設計工程の負担増大、要求やアーキテクチャの表現、Simulinkに不向きな処理があることを見てきました。
Simulinkを利用したMBDは、既に組込み業界で大きな成果を挙げており、今後も適用が進んでいくと考えられます。ただし、間違った適用を行ったがために、成果を上げられないどころか、仕事が増えるだけという状況に陥っている例も多く見受けられます。
MBDのメリット、デメリットを正しく理解した上で適用し、最大限の効果を得られるようスキルアップしていきましょう。
コンサルティングサービスのご案内
システム・ソフトウェア開発の問題を解決するエクスモーションのコンサルティング。
エクスモーションのコンサルタントは、自動車業界・医療機器業界で多くの支援実績があります。開発現場の皆さまと一緒に手を動かし、状況に合った最適解を見つけることで問題解決に導きます。
MBD(モデルベース開発)のソリューションはこちらをご覧ください。
トップ企業をサポートしてきた技術と知見を1冊に「ソリューションガイドブック」
私達エクスモーションが行った、日本を代表する企業へのコンサルティングやトレーニングとは?
オンライン学習 Eureka Box誕生のベースとなった技術や知見が満載!
実際に支援を行ったお客様からのメッセージも掲載し、読み応えある1冊に仕上げています。