モデル アドバイザーを使用したモデルのチェック
モデル アドバイザーの概要
モデル アドバイザーはモデルやサブシステムをチェックして、条件やコンフィギュレーション設定に、モデルが表現しているシステムのシミュレーションを不正確にしたり非効率にしたりする条件が含まれていないかを調べます。モデル アドバイザーのチェックは、業界標準やガイドラインに準拠しているかどうかを検証するのに役立ちます。モデル アドバイザーを使用することで、プロジェクト間や開発チーム全体で一貫したモデリング ガイドラインを実装できます。
モデル アドバイザーは、モデルの解析が完了すると、準最適条件、設定、モデル化手法を検出してそのリストをレポートに出力し、解決方法がある場合はそれも提示します。
モデル アドバイザーを使用してモデルを確認するには、次の方法があります。
モデル アドバイザーのチェックを対話形式で実行
モデル アドバイザーで編集時チェックを自動的に実行するように構成 (Simulink® Check™ が必要)
モデル アドバイザーを使用してモデルをチェックする場合、次の制限が適用されます。個々のチェックに適用される制限は、チェックのドキュメンテーション内の「機能および制限事項」の節を参照してください。
システムの名前を変更すると、そのシステムをチェックするには、モデル アドバイザーを再起動しなければなりません。
バリアント サブシステムを含むシステムでは、モデル アドバイザーはアクティブ サブシステムをチェックします。アクティブなサブシステムと非アクティブなサブシステムの両方をチェックするには、
Advisor.Application
(Simulink Check)プロパティ、AnalyzeVariants
をtrue
に設定します。モデル アドバイザーはコメント化されたブロックを解析しません。
チェックでは、ブロック パラメーター [読み取り/書き込み] が
[NoReadorWrite]
に設定されている model ブロックまたは subsystem ブロックは検索されません。ただし、手作業でのチェックでは、モデル アドバイザーはライブラリ ブロックやマスク サブシステムも検索します。チェックに関するドキュメンテーションに記載されている場合を除き、モデル アドバイザーは Model ブロックの内容は解析しません。参照モデルのチェックを実行するには、
Advisor.Application
(Simulink Check) クラスのインスタンスを使用します (Simulink Check ライセンスが必要です)。
メモ
ソフトウェアは、本来複雑なため、エラーが発生する可能性があります。モデル アドバイザーのチェックにもバグが発見される場合があります。MathWorks® では、バグ レポート システムの注意するべき既知のバグを https://www.mathworks.com/support/bugreports/ で報告しています。バグ レポートは、各リリースのドキュメンテーションの一部です。リリースごとにバグ レポートを検証します。このレポートにより、ご利用のリリースの実際の動作が、このドキュメンテーションでの説明と異なる場合にそれを識別できます。
モデル アドバイザーのチェックをモデルに適用すると、一定のモデリング標準やガイドラインに違反しないモデルが作成される可能性が高くなりますが、そのことは開発中のシステムの安全性やエラーが存在しないことを保証するものではありません。複数の手法を導入して、開発中のシステムが意図したとおりに機能しており、想定外の動作をしていないことを検証するのは、最終的にはユーザーの責任です。
モデル アドバイザーのチェックに関するドキュメンテーション
モデル アドバイザーは、インストールされている製品についてのチェックのみを表示します。製品固有のチェックのドキュメンテーションへのリンクを次の表に示します。ドキュメンテーションを確認するには製品のライセンスが必要な場合があります。
製品 | モデル アドバイザーのチェックに関するドキュメンテーション |
---|---|
Simulink | Simulink のチェック |
Embedded Coder® | Embedded Coder のチェック (Embedded Coder) |
AUTOSAR Blockset | AUTOSAR Blockset のチェック (AUTOSAR Blockset) |
Simulink Coder™ | Simulink Coder のチェック (Simulink Coder) |
HDL Coder™ | HDL コード アドバイザー チェック (HDL Coder) |
Simulink Code Inspector™ | Simulink Code Inspector Checks (Simulink Code Inspector) |
Simulink Check | DO-178C/DO-331 チェック (Simulink Check) IEC 61508, IEC 62304, ISO 26262, ISO 25119, and EN 50128/EN 50657 Checks (Simulink Check) DO-254 標準へのモデルの準拠性のチェック (Simulink Check) High Integrity System Modeling Checks (Simulink Check) Model Advisor Checks for MAB and JMAAB Compliance (Simulink Check) MISRA C:2012 Checks (Simulink Check) Secure Coding Checks for CERT C, CWE, and ISO/IEC TS 17961 Standards (Simulink Check) Model Metrics (Simulink Check) |
Simulink Design Verifier™ | Simulink Design Verifier のチェック (Simulink Design Verifier) |
Simulink PLC Coder™ | PLC Model Advisor Checks (Simulink PLC Coder) |
Requirements Toolbox™ | 要件の整合性チェック (Requirements Toolbox) |
Simscape™ | ドキュメンテーションはモデル アドバイザーでのみ使用できます。チェックのドキュメンテーションを確認するには、モデル アドバイザーでチェックのタイトルを右クリックして [これはなに?] を選択します。 |
Simulink Control Design™ | Simulink Control Design のチェック (Simulink Control Design) |
IEC Certification Kit | IEC Certification Kit Checks (IEC Certification Kit) |
DO Qualification Kit | DO Qualification Kit Checks (DO Qualification Kit) |
モデル アドバイザーのチェックの実行と結果の確認
モデル アドバイザーを使用して、モデリング標準およびモデリング ガイドラインに対してモデルを対話的にチェックできます。次の例では、sldemo_mdladv
モデルを使用して、モデル アドバイザーでモデル アドバイザー チェックを実行する方法を示します。
モデル アドバイザーのモデル例
sldemo_mdladv
を開きます。モデル アドバイザーを開くには、Simulink エディターで、[モデル化] タブをクリックし、[モデル アドバイザー] を選択します。[システム セレクター ― モデル アドバイザー] ダイアログ ボックスが開きます。確認するモデルまたはシステムを選択し、[OK] をクリックします。
モデル アドバイザーの左側のペインで、モデルに対して実行するチェックを選択します。
[製品別] フォルダーまたは [タスク別] フォルダーを使用してチェックを選択できます。
製品別フォルダーを表示 ― 各製品で使用可能なチェックが表示されます。
タスク別フォルダーを表示 ― 特定のタスクに関連するチェックが表示されます。
アイコン
によるチェックは、モデルのブロック線図の更新をトリガーします。
アイコン
によるチェックは、モデルの広範な解析をトリガーします。モデルの広範な解析をトリガーするチェックは、Simulink Design Verifier を使用する解析など、追加の解析手法を使用します。
チェックが含まれているフォルダーをクリックし、ツールストリップで [チェックの実行] を選択し、解析を実行します。1 つのチェックを実行するには、フォルダー内のチェックを右クリックして [このチェックを実行] を選択します。
モデル アドバイザーのユーザー インターフェイスで結果を確認します。次の表は共通のチェック ステータス結果を示しています。モデル アドバイザーの設定エディターで [問題にフラグが設定されている場合は結果をチェック] のパラメーター セットに応じて異なるアイコンが使用されていることに注目してください (Simulink Check ライセンスが必要)。このパラメーターの詳細については、チェックをカスタマイズするパラメーターの指定 (Simulink Check)を参照してください。
チェック結果のステータス
アイコン 説明 Passed
指定されたチェックにおいてモデルに違反はありません。
Failed
チェックによって重大な違反が特定されました。
Warning
チェックによって違反が特定されました。
Justified
チェック違反が正当化されています。
Not Run
チェックがモデル アドバイザーの解析用に選択されていません。
Incomplete
チェック解析が不完全であるか、チェック実行によって例外が発生しました。
警告または不具合を必要に応じて修正します。詳細については、モデル チェック結果への対処を参照してください。
[対象外指定] タブを使用して、解析から除外するようにマークされたチェックを確認します。
レポートを確認して保存します。詳細は、モデル アドバイザー チェック レポートの保存と表示とモデル アドバイザー レポートの生成 (Simulink Check)を参照してください。
プログラムによるモデル チェックの実行
Simulink Check を使用している場合、モデル アドバイザーをプログラムによって実行することができるように MATLAB® スクリプトと関数を作成できます。たとえば、モデルを開いてシミュレーションを開始するときに毎回、指定した一連のモデル アドバイザーのチェックにモデルが合格するかどうかを調べる関数 ModelAdvisor.run
(Simulink Check) を作成できます。
関連する例
- モデル アドバイザー チェックの実行と結果の確認 (Simulink Check)
- モデル チェック結果への対処
- モデル アドバイザー チェック レポートの保存と表示
詳細
- モデル アドバイザーを使用したモデルのチェック
- コード効率化ツールと手法による生成コードの最適化 (Simulink Coder)