モデル アドバイザーを使用したモデルのチェック
モデル アドバイザーの概要
モデル アドバイザーはモデルやサブシステムをチェックして、条件やコンフィギュレーション設定に、モデルが表現しているシステムのシミュレーションを不正確にしたり非効率にしたりする条件が含まれていないかを調べます。モデル アドバイザーのチェックは、業界標準やガイドラインに準拠しているかどうかを検証するのに役立ちます。モデル アドバイザーを使用することで、プロジェクト間や開発チーム全体で一貫したモデリング ガイドラインを実装できます。
モデル アドバイザーは、モデルの解析が完了すると、準最適条件、設定、モデル化手法を検出してそのリストをレポートに出力し、解決方法がある場合はそれも提示します。
モデル アドバイザーを使用してモデルを確認するには、次の方法があります。
モデル アドバイザーのチェックを対話形式で実行する。Simulink® Check™ のライセンスがない場合、[モデル アドバイザー] ユーザー インターフェイスのドロップダウンは次のようになります。

モデル アドバイザーで編集時チェックを自動的に実行するように構成する (Simulink Check が必要)。ライセンスがある場合、[モデル アドバイザー] ユーザー インターフェイスのドロップダウンは次のようになります。

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