MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)では「レイヤ」と「ドメイン」による分割が「モデル」の整理のポイント

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)では「レイヤ」と「ドメイン」による分割が「モデル」の整理のポイント|solution of eXmotion

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)では「レイヤ」と「ドメイン」による分割が「モデル」の整理のポイント

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)では「レイヤ」と「ドメイン」による分割が「モデル」の整理のポイント

要素技術調査に心血を注ぎ、手段レベルのまま放置されたモデルは、情報をまとめきれず、全体的に抽象度が低いため、要素間の入出力関係が複雑で、下左図のように処理の複雑化を招きやすくなります。

モデルを整頓する上で、うまく「アーキテクチャ設計」ができると、要素間の入出力が簡潔で、処理も簡潔になり、 各要素の役割も明確で、理解しやすく変更しやすいといったメリットが得られます。

この「アーキテクチャ設計」のポイントは「レイヤ」と「ドメイン」による分割です。

車両制御ソフトウェアは、抽象度に応じて機能/手段/部品の3つの「レイヤ」に分割できます。

さらにドライバの運転機能に応じて、機能レイヤには「判断」、手段レイヤには「認知」と「操作」、そして部品レイヤには「デバイス」といった「ドメイン」を割り当てることで、互いに疎な構造からなるモデルを構築することが可能になります。

なお、開発対象の規模、最適な設計手法、開発者のスキル等に応じて、他のモデリング言語の併用も有効です。たとえば、「レイヤ」や「ドメイン」といったレベルでの設計には、UMLの活用が効果的です(「モデルベース開発(UML+オブジェクト指向)」をご覧ください)。

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)では「レイヤ」と「ドメイン」による分割が「モデル」の整理のポイント:限られた入力情報から、いかに車両・外界の状況を推定するか?、いかに振動・騒動を少なく、素早くアクチュエータを起動するか?、センサや通信からの入力を機能レベルまで徐々にまとめあげる、要求を実現するように、アクチュエータの駆動や通信による出力を実施【機能】様々な状態から「いつ」「どうしたいのか」を決定して要求する:(アプリケーション判断)センサや通信から得た情報を基に車両、ドライバ、外界等の状態や状況を推定・判定する。性能要件や制約を満たしつつ、要求を実現するようにアクチュエータを駆動する。【手段】状態推定 認知、メカニズム 操作【部品】デバイスI/O:センサ・アクチュエータとの入出力、通信の送受信などを行う

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)で「モデルメトリクス」で確認することでMATLAB/Simulinkモデルの品質向上を図る

アーキテクチャレベルでモデルを整頓した後は、MATLABSimulinkモデルを再構築します。再構築がうまくできているかを確認する際に有効になるのがモデルのメトリクスです。基本的な考え方はコー ドメトリクスと同じで、ソースコードではなくモデルを静的に解析し、定量的な値を測定します。具体的には、サブシステム上のブロック数 、サブシステムの処理の複雑度を計測した経路複雑度、伝播信号の表示率、コメント率などがあります。

メトリクスはソフトウェアの品質と密接な関連性を持つため、メトリクスを評価することで品質上の問題が特定可能になります(下図)。

このように開発したモデルに対し、定期的にメトリクスを測定することにより、

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)で「モデルメトリクス」で確認することでMATLAB/Simulinkモデルの品質向上を図る|品質改善品質改善(問題箇所の特定)

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)で「モデルメトリクス」で確認することでMATLAB/Simulinkモデルの品質向上を図る|品質のモニタリング品質のモニタリング(品質劣化防止、改善効果の可視化)

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)で「モデルメトリクス」で確認することでMATLAB/Simulinkモデルの品質向上を図る|品質のベンチマーキング品質のベンチマーキング(品質基準の策定、複数モデルの品質を比較)

などを通じて、モデルの品質向上に向けた活動を行うことができます。

弊社では、 MATLAB/Simulink モデルのメトリクス測定ツールを提供しています。(MODEL EVALUATOR)

また、メトリクスを使った具体的なリファクタリングの進め方を「Simulinkモデルのリファクタリング」で紹介しています。ぜひ、そちらもご覧ください。

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)で「モデルメトリクス」で確認することでMATLAB/Simulinkモデルの品質向上を図る:メトリクス【サブシステム内のブロック数】ブロック数が多すぎると読み解きづらい【コメント率】コメントが少ないと読み解きづらい、コメントが少ないと変更可否を判断しにくい、コメントが少ないと妥当性を判断しにくい【経路複雑度】分岐の数が多いと読み解きづらい、分岐の数が多いとテストケースが多くなる【伝播信号の表示】非表示だと接続の妥当性を確認しづらい、非表示だと接続ミスに気付きにくい【モジュールの結合度】結合度が高いと変更の影響範囲が広くなる

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)では「レイヤ」と「ドメイン」による分割が「モデル」の整理のポイント|サービスに関するお問い合わせ

MATLAB/Simulinkモデルによる「MBD」モデルベース開発支援(オートモーティブソリューション)では「レイヤ」と「ドメイン」による分割が「モデル」の整理のポイント|pagetop