モデル アドバイザーはモデルやサブシステムをチェックして、条件やコンフィギュレーション設定に、モデルが表現しているシステムのシミュレーションを不正確にしたり非効率にしたりする条件が含まれていないかを調べます。モデル アドバイザーのチェックは、業界標準やガイドラインに準拠しているかどうかを検証するのに役立ちます。モデル アドバイザーを使用することで、プロジェクト間や開発チーム全体で一貫したモデリング ガイドラインを実装できます。
モデル アドバイザーは、モデルの解析が完了すると、準最適条件、設定、モデル化手法を検出してそのリストをレポートに出力し、解決方法がある場合はそれも提示します。
モデル アドバイザーを使用してモデルを確認するには、次の方法があります。
モデル アドバイザーのチェックを対話形式で実行
モデル アドバイザーで編集時チェックを自動的に実行するように構成 (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 Checks (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) Clone Detection Checks (Simulink Check) |
Simulink Design Verifier™ | Simulink Design Verifier のチェック (Simulink Design Verifier) |
Simulink Requirements™ | 要件の整合性チェック (Simulink Requirements) |
Simscape™ | ドキュメンテーションはモデル アドバイザーでのみ使用できます。チェックのドキュメンテーションを確認するには、モデル アドバイザーでチェックのタイトルを右クリックして [これはなに?] を選択します。 |
Simulink Control Design™ | Simulink Control Design のチェック (Simulink Control Design) |
IEC Certification Kit | IEC Certification Kit Bug Report Checks (IEC Certification Kit) High Integrity System Modeling Checks (Simulink Check) |
DO Qualification Kit | DO Qualification Kit Bug Report Checks (DO Qualification Kit) High Integrity System Modeling Checks (Simulink Check) |
モデル アドバイザーを使用して、モデリング標準およびモデリング ガイドラインに対してモデルを対話的にチェックできます。次の例では、sldemo_mdladv
モデルを使用して、モデル アドバイザーでモデル アドバイザー チェックを実行する方法を示します。
モデル アドバイザーのモデル例 sldemo_mdladv
を開きます。
モデル アドバイザーを開くには、Simulink エディターで、[モデル化] タブをクリックし、[モデル アドバイザー] を選択します。[システム セレクター ― モデル アドバイザー] ダイアログ ボックスが開きます。確認するモデルまたはシステムを選択し、[OK] をクリックします。
モデル アドバイザーの左側のペインで、モデルに対して実行するチェックを選択します。
[製品別] フォルダーまたは [タスク別] フォルダーを使用してチェックを選択できます。これらのフォルダーがモデル アドバイザー ウィンドウに表示されない場合は、[設定] 、 [基本設定] を開き、以下を選択します。
製品別フォルダーを表示 ― 各製品で使用可能なチェックが表示されます。
タスク別フォルダーを表示 ― 特定のタスクに関連するチェックが表示されます。
[検索] フィールドにチェックの "タイトル" または "タイトル ID" を入力してから [次を検索] ボタンをクリックして、特定のチェックを検索して実行できます。モデル アドバイザーは、チェック名、フォルダー名および解析の記述を検索します。[ソース] タブを使用して、それぞれのチェックの "タイトル"、"タイトル ID"、MATLAB® ソース コードの場所を特定できます。[ソース] を表示するには、モデル アドバイザーの右側のペインで [設定] 、 [基本設定] を開き、[[ソース] タブを表示] を選択します。
チェックが含まれているフォルダーをクリックし、モデル アドバイザーの右側のペインで以下を選択します。
実行後にレポートを表示 ― HTML 形式のレポートを自動的に生成して表示します。
選択したチェックを実行 ― 解析を実行します。
1 つのチェックを実行するには、フォルダー内のチェックを右クリックして [このチェックを実行] を選択します。
モデル アドバイザーのユーザー インターフェイスで結果を確認します。一般的なチェック ステータス結果は、次のとおりです。
Pass
─ チェックによって問題は特定されませんでした。
D-Pass
─ コンフィギュレーション パラメーターまたは別のチェックの実行結果に依存します。
Warn
─ チェックによって問題が特定されました。
Fail
─ チェックの実行に失敗しました。
警告または不具合を必要に応じて修正します。詳細については、モデル チェック結果への対処を参照してください。
[対象外指定] タブを使用して、解析から除外するようにマークされたチェックを確認します。[対象外指定] タブを表示するには、モデル アドバイザーの右側のペインで [設定] 、 [基本設定] を開き、[[対象外指定] タブを表示] を選択します。
レポートを確認して保存します。詳細については、モデル アドバイザー チェック レポートの保存と表示を参照してください。
メモ
チェックの実行時に [実行後にレポートを表示] を選択しなかった場合、解析の完了後に結果のレポートを生成できます。モデル アドバイザー レポートの生成 (Simulink Check)を参照してください。
必要に応じて、チェックのステータスを [実行なし] 状態にリセットできます。左側のペインで [モデル アドバイザー] を右クリックし、[リセット]
を選択します。この操作を行っても、モデル アドバイザーから解析結果が削除されるわけではありません。
モデル アドバイザー ダッシュボードを使用して、モデルで一貫して同じチェック セットを実行することで解析時間を節約できます。ダッシュボードを使用すると、モデル アドバイザーはチェックを実行前に再読み込みしないため、解析時間が短縮されます。
モデル アドバイザーのモデル例 sldemo_mdladv
を開きます。
[モデル アドバイザー] 、 [モデル アドバイザー ダッシュボード] を選択します。[システム セレクター ― モデル アドバイザー] ダイアログ ボックスが開きます。確認するモデルまたはシステムを選択し、[OK] をクリックします。
モデル アドバイザー ダッシュボードのウィンドウが開きます。このダッシュボードから以下を実行できます。
[チェックの実行] ボタンをクリックすると、以前の解析と同じチェックを実行できます。
[標準表示への切り替え] ボタンをクリックすると、モデル アドバイザーが開き、別のチェックを選択できます。
[強調表示の有効化] ボタンをクリックすると、強調表示された結果が Simulink エディターに表示されます。
[チェックの実行] ボタンをクリックして、以前の解析で使用した同じチェックをモデルに対して実行します。必要に応じて、[強調表示の有効化] ボタンをクリックします。
モデル アドバイザーでチェックが実行され、ダッシュボードが更新されて次の数を含む解析結果が反映されます。
パスしたチェック
失敗したチェック
フラグが設定されたチェック
チェックの総数
[強調表示の有効化] ボタンをクリックした場合は、フラグが設定された結果がモデルで強調表示されます。
モデル アドバイザー ウィンドウへのリンク付きで [モデル アドバイザーの強調表示] 情報ウィンドウが開きます。モデル アドバイザー ウィンドウには、チェック結果と警告の状態を修正する方法についての詳細が表示されています。
[レポートを開く] ボタンをクリックして、HTML 形式のレポート全体を開きます。結果の横にある番号のリンクを選択すると、レポートの結果をフィルターすることもできます。
Simulink Check を使用している場合、モデル アドバイザーをプログラムによって実行することができるように MATLAB スクリプトと関数を作成できます。たとえば、モデルを開いてシミュレーションを開始するときに毎回、指定した一連のモデル アドバイザーのチェックにモデルが合格するかどうかを調べる関数 ModelAdvisor.run
(Simulink Check) を作成できます。
モデル アドバイザー ウィンドウからその他のアドバイザーにアクセスできます。
[アップグレード アドバイザー] — このアドバイザーを使用して、現在のリリースでモデルをアップグレードして改善します。アップグレード アドバイザーの使用を参照してください。
[コード生成アドバイザー] ― このアドバイザーを使用して、コード生成の目的に合致するようモデルを構成します。Application Objectives Using Code Generation Advisor (Simulink Coder)を参照してください。
[パフォーマンス アドバイザー] ― このアドバイザーを使用して、モデルのシミュレーションのパフォーマンスを改善します。パフォーマンス アドバイザーを使用したシミュレーション パフォーマンスの改善を参照してください。
これらのアドバイザーには、モデル アドバイザーの左下隅からアクセスできます。