Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

モデル アドバイザーを使用したモデルの準拠性のチェック

モデル アドバイザーの概要

モデル アドバイザーは、モデルやサブシステムをチェックして、モデルが表現するシステムのシミュレーションの精度や効率を低下させる原因となる条件やコンフィギュレーション設定がないかどうかを調べます。モデル アドバイザーのチェックは、業界標準やガイドラインに準拠しているかどうかを検証するのに役立ちます。モデル アドバイザーを使用することで、プロジェクト間や開発チーム全体で一貫したモデリング ガイドラインを実装できます。

モデル アドバイザーは、モデルの解析が完了すると、準最適条件、設定、モデル化手法を検出してそのリストをレポートに出力し、解決方法がある場合はそれも提示します。

モデル アドバイザーを使用してモデルを確認するには、次の方法があります。

  • モデル アドバイザーのチェックを対話形式で実行

  • モデル アドバイザーで編集時チェックを自動的に実行するように構成 (Simulink® Check™ が必要)

モデル アドバイザーを使ってモデルをチェックするとき、次の制限が適用されます。個々のチェックに適用される制限は、チェックのドキュメンテーション内の「機能および制限事項」の節を参照してください。

  • システムの名前を変更する場合は、モデル アドバイザーを再起動してシステムをチェックしなければなりません。

  • バリアント サブシステムを含むシステムでは、モデル アドバイザーはアクティブ サブシステムをチェックします。アクティブなサブシステムと非アクティブなサブシステムの両方をチェックするには、Advisor.Applicationプロパティ、AnalyzeVariantstrue に設定します。

  • モデル アドバイザーはコメント化されたブロックを解析しません。

  • チェックでは、ブロック パラメーター [読み取り/書き込み][NoReadorWrite] に設定されている model ブロックまたは subsystem ブロックは検索されません。ただし、手作業でのチェックでは、モデル アドバイザーはライブラリ ブロックやマスク サブシステムも検索します。

  • チェックに関するドキュメンテーションに記載されている場合を除き、モデル アドバイザーは Model ブロックの内容は解析しません。参照モデルのチェックを実行するには、Advisor.Application クラスのインスタンスを使用します (Simulink Check ライセンスが必要です)。

メモ

ソフトウェアは、本来複雑なため、エラーが発生しないとは限りません。モデル アドバイザーのチェックにもバグが含まれている場合があります。MathWorks® では、注意するべき既知のバグをバグ レポート システム (https://www.mathworks.com/support/bugreports/) で報告しています。バグ レポートは、各リリースのドキュメンテーションの一部です。リリースごとにバグ レポートを検証します。このレポートにより、ご利用のリリースの実際の動作が、このドキュメンテーションでの説明と異なる場合にそれを識別できます。

モデル アドバイザーのチェックをモデルに適用すると、一定のモデリング標準やガイドラインに違反しないモデルが作成される可能性が高くなりますが、そのことは開発中のシステムの安全性やエラーが存在しないことを保証するものではありません。複数の手法を使用して、開発中のシステムが意図したとおりに機能し、想定外の機能が含まれていないことを検証するのは、最終的にはユーザーの責任です。

モデル アドバイザーのチェックのドキュメンテーション

モデル アドバイザーには、インストールされた製品に対応するチェックのみが表示されます。次の表に、製品固有のチェックのドキュメンテーションへのリンクを示します。一部のドキュメンテーションについては、参照するのに製品ライセンスが必要になることがあります。

Productモデル アドバイザーのチェックのドキュメンテーション
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

IEC 61508, IEC 62304, ISO 26262, ISO 25119, and EN 50128/EN 50657 Checks

DO-254 標準へのモデルの準拠性のチェック

High Integrity System Modeling Checks

Model Advisor Checks for MAB and JMAAB Compliance

MISRA C:2012 Checks

Secure Coding Checks for CERT C, CWE, and ISO/IEC TS 17961 Standards

Model Metrics

Clone Detection Checks

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 Checks (IEC Certification Kit)

DO Qualification Kit

DO Qualification Kit Checks (DO Qualification Kit)

モデル アドバイザー チェックの実行と結果の確認

モデル アドバイザーを使用すると、モデリング標準およびモデリング ガイドラインに対してモデルを対話的にチェックできます。次の例では、sldemo_mdladv モデルを使用して、モデル アドバイザーでモデル アドバイザー チェックを実行する方法を示します。

  1. モデル アドバイザーのモデル例 sldemo_mdladv を開きます。

  2. モデル アドバイザーを開くには、Simulink エディターで、[モデル化] タブをクリックし、[モデル アドバイザー] を選択します。[システム セレクター - モデル アドバイザー] ダイアログ ボックスが開きます。確認するモデルまたはシステムを選択し、[OK] をクリックします。

  3. モデル アドバイザーの左側のペインで、モデルに対して実行するチェックを選択します。

    1. [製品別] フォルダーまたは [タスク別] フォルダーを使用してチェックを選択できます。これらのフォルダーがモデル アドバイザー ウィンドウに表示されない場合は、[設定][基本設定] を開き、以下を選択します。

      • 製品別フォルダーを表示 ― 各製品で使用可能なチェックが表示されます。

      • タスク別フォルダーを表示 ― 特定のタスクに関連するチェックが表示されます。

    2. [検索] フィールドにチェックの "タイトル" または "タイトル ID" を入力してから [次を検索] ボタンをクリックして、特定のチェックを検索して実行できます。モデル アドバイザーは、チェック名、フォルダー名および解析の記述を検索します。[ソース] タブを使用して、それぞれのチェックの "タイトル"、"タイトル ID"、MATLAB® ソース コードの場所を特定できます。[ソース] を表示するには、モデル アドバイザーの右側のペインで [設定][基本設定] を開き、[[ソース] タブを表示] を選択します。

  4. チェックが含まれているフォルダーをクリックし、モデル アドバイザーの右側のペインで以下を選択します。

    • 実行後にレポートを表示 ― HTML 形式のレポートを自動的に生成して表示します。

    • 選択したチェックを実行 ― 解析を実行します。

    1 つのチェックを実行するには、フォルダー内のチェックを右クリックして [このチェックを実行] を選択します。

  5. モデル アドバイザーのユーザー インターフェイスで結果を確認します。共通のチェック ステータス結果は次のとおりです。

    • Pass ─ チェックによって問題は特定されませんでした。

    • D-Pass ─ コンフィギュレーション パラメーターまたは別のチェックの実行結果に依存します。

    • Warn ─ チェックによって問題が特定されました。

    • Fail ─ チェックの実行に失敗しました。

  6. 警告または不具合を必要に応じて修正します。詳細については、モデル チェック結果への対処を参照してください。

  7. [対象外指定] タブを使用して、解析から除外するようにマークされたチェックを確認します。[対象外指定] タブを表示するには、モデル アドバイザーの右側のペインで [設定][基本設定] を開き、[[対象外指定] タブを表示] を選択します。

  8. レポートを確認して保存します。詳細については、モデル アドバイザー チェック レポートの保存と表示を参照してください。

    メモ

    チェックの実行時に [実行後にレポートを表示] を選択しなかった場合、解析の完了後に結果のレポートを生成できます。モデル アドバイザー レポートの生成を参照してください。

  9. 必要に応じて、チェックのステータスを [実行なし] 状態にリセットできます。左側のペインで、[モデル アドバイザー] を右クリックし、[リセット] を選択します。この操作を行っても、モデル アドバイザーから解析結果が削除されるわけではありません。

以前の解析からチェックを実行して解析時間を短縮

時間を節約するには、モデル アドバイザー ダッシュボードを使用して、モデルで一貫して同じチェックのセットを実行します。ダッシュボードを使用すると、モデル アドバイザーはチェックを実行前に再読み込みしないため、解析時間が短縮されます。

  1. モデル アドバイザーのモデル例 sldemo_mdladv を開きます。

  2. [モデル アドバイザー][モデル アドバイザー ダッシュボード] を選択します。[システム セレクター - モデル アドバイザー] ダイアログ ボックスが開きます。確認するモデルまたはシステムを選択し、[OK] をクリックします。

  3. モデル アドバイザー ダッシュボードのウィンドウが開きます。このダッシュボードから以下を実行できます。

    • [チェックの実行] ボタンをクリックすると、以前の解析と同じチェックを実行できます。

    • [標準表示への切り替え] ボタンをクリックすると、モデル アドバイザーが開き、別のチェックを選択できます。

    • [強調表示の有効化] ボタンをクリックすると、強調表示された結果が Simulink エディターに表示されます。

  4. [チェックの実行] ボタンをクリックして、以前の解析で使用した同じチェックをモデルに対して実行します。必要に応じて、[強調表示の有効化] ボタンをクリックします。

  5. モデル アドバイザーでチェックが実行され、ダッシュボードが更新されて次の数を含む解析結果が反映されます。

    • パスしたチェック

    • 失敗したチェック

    • フラグが設定されたチェック

    • チェックの総数

    [強調表示の有効化] ボタンをクリックした場合は、フラグが設定された結果がモデルで協調表示されます。

    モデル アドバイザー ウィンドウへのリンク付きで [モデル アドバイザーの強調表示] 情報ウィンドウが開きます。モデル アドバイザー ウィンドウには、チェック結果と警告の状態を修正する方法についての詳細が表示されています。

  6. [レポートを開く] ボタンをクリックして、HTML 形式で完全なレポートを開きます。結果の横にある番号のリンクを選択すると、レポートの結果をフィルターすることもできます。

編集時のチェックを使用したモデルのチェック

編集時チェックを有効にすると、モデル アドバイザーは、モデル アドバイザー チェックのサブセットに対してモデルを評価します。モデル エディター ウィンドウで強調表示されているブロックは、モデル内に問題があることを警告しています。これにより、モデリングの問題をモデル設計プロセスの早い段階で見つけることができます。

次のいずれかの方法でモデルの編集時チェックを有効にすることができます。

  • [デバッグ] タブで、[診断][編集時チェック] を選択します。

  • [モデル化] タブで、[モデル アドバイザー][編集時チェック] を選択します。

  • Embedded Coder または Simulink Coder のライセンスをお持ちの場合、編集時チェックを使用して、コード生成に固有の問題についてモデルを評価できます。これらのチェックを有効にするには、C コード アプリ (Embedded Coder)を開き、[C/C++ Code Advisor][編集時チェック] を選択します。

編集時チェックが有効になっている場合、モデル アドバイザー チェックに違反するモデル内のブロックがモデル アドバイザーで強調表示されます。

チェック項目違反を確認するには、強調表示されたブロックの上のエラーまたは警告のアイコンをクリックします。診断ウィンドウが開き、モデル アドバイザー チェックに違反するモデリング問題についての情報が表示されます。ブロックが複数のチェックに違反する場合、診断ウィンドウを使用して問題を確認することができます。

モデリングの各問題について、診断ウィンドウを使用して次のことが可能です。

  • 原因を確認し、問題を修正するために推奨されるオプション (存在する場合) を表示する。

  • 疑問符をクリックして、違反しているモデル アドバイザー チェックに関する詳細なドキュメンテーションにアクセスする。

  • [非表示にする] をクリックして、警告を無視し、そのブロックをチェックの対象外指定リストに追加する。

この例では、編集時のチェックを使用して、MAB ガイドラインに対する Stateflow チャートの準拠性を、編集中に確認します。

  1. Stateflow チャートを含むモデルを開きます。たとえば、コマンド プロンプトで「open sf_boiler」と入力します。

  2. 編集時チェックを有効にするには、[モデル化] タブで、[モデル アドバイザー][編集時チェック] を選択します。

  3. ダブルクリックで [Bang-Bang Controller] チャートを開きます。モデル アドバイザーによって複数のステートが強調表示されます。[Off] ステートの警告にカーソルを合わせて、問題を確認します。

  4. 警告を選択します。モデル アドバイザーによって、[entry] アクションの後ろに改行が必要であることが示されます。モデル内で、カーソルを [en:] の後ろに置き、Enter キーを押します。改行が加えられ、警告がクリアされます。

モデル アドバイザー設定による編集時チェックの表示とカスタマイズ

編集時チェックで使用可能なモデル アドバイザー チェックは、モデル アドバイザー設定ファイルで指定されます。モデル アドバイザーの設定エディターを使用すると、既存の設定ファイルを確認して変更したり、新規設定ファイルを作成したりできます。

モデル アドバイザー設定ファイルを開き、編集時のチェックでの使用が有効になっているモデル アドバイザー チェックを確認するには、次のようにします。

  1. Simulink エディターで、[モデル化] タブをクリックし、[モデル アドバイザー][編集時チェックのカスタマイズ] を選択します。

  2. モデル アドバイザーの設定エディターが開きます。モデル アドバイザーによって現在使用されている設定のファイル名は、ウィンドウ上部に表示されています。正しい設定ファイルを評価していることを確認してください。別の設定ファイルを開くには、[開く] をクリックし、確認するファイルを参照します。

  3. モデル アドバイザーの設定エディターの [Model Advisor] タブで、[Edit time supported checks] オプションを選択します。フィルター済みのリストに、編集時チェックでサポートされるモデル アドバイザー チェックが示されます。

    メモ

    編集時のチェックに関して、モデル アドバイザー階層の複数のフォルダーにチェックが含まれる場合は、カスタム フォルダー内のチェックが優先されます。チェックがカスタム フォルダーにない場合、次に優先されるのは [タスク別] フォルダーで、最後に [製品別] フォルダー内のチェックとなります。

  4. [モデル アドバイザー] タブで、編集時チェック解析に含めるチェックの横にあるボックスをオンにします。解析を行わないチェックの横にあるボックスをオフにします。編集時チェックのカスタマイズを含め、モデル アドバイザーの設定エディターを使用してカスタムのモデル アドバイザー設定を作成する方法の詳細については、モデル アドバイザーの設定エディターを使用したモデル アドバイザーのカスタマイズを参照してください。

関連する例

詳細