Main Content

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

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

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

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

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

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

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

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

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

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

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

  • チェックでは、ブロック パラメーター [読み取り/書き込み][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 コード アドバイザー チェック (HDL Coder)
Simulink Code Inspector™ Simulink Code Inspector Checks (Simulink Code Inspector)
Simulink Check

Using Model Advisor Checks for High Integrity System Modeling Guidelines (Simulink Check)

MAB モデリング ガイドライン用のモデル アドバイザー チェック (Simulink Check)

JMAAB モデリング ガイドライン用のモデル アドバイザー チェック (Simulink Check)

IEC 61508、IEC 62304、ISO 26262、ISO 25119、および EN 50128/EN 50657 の各業界標準用のモデル アドバイザー チェックの使用 (Simulink Check)

Model Advisor Checks for DO-178C/DO-331 Industry Standards (Simulink Check)

DO-254 標準への準拠性のモデル アドバイザー チェック (Simulink Check)

MISRA C:2012 コーディング規約用のモデル アドバイザー チェックの使用 (Simulink Check)

CERT C、SWE および ISO/IEC TS 17961 コーディング規約用のモデル アドバイザー チェック (Simulink Check)

モデル メトリクス (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 Model Advisor Checks for ISO 26262, ISO 25119, IEC 61508, IEC 62304, and EN 50128/EN 50657 Industry Standards (Simulink Check)
DO Qualification Kit

Model Advisor Checks for DO-178C/DO-331 Industry Standards (Simulink Check)

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

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

  1. モデル アドバイザーのモデル例を開くには、MATLAB® コマンド ラインで次を指定します。

    openExample('sldemo_mdladv')

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

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

    1. [製品別] フォルダーまたは [タスク別] フォルダーを使用してチェックを選択できます。

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

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

    アイコン Update Diagram icon によるチェックは、モデルのブロック線図の更新をトリガーします。

    アイコン Extensive Analysis icon によるチェックは、モデルの広範な解析をトリガーします。モデルの広範な解析をトリガーするチェックは、Simulink Design Verifier を使用する解析など、追加の解析手法を使用します。

  4. チェックが含まれているフォルダーをクリックし、ツールストリップで [チェックの実行] を選択し、解析を実行します。1 つのチェックを実行するには、フォルダー内のチェックを右クリックして [このチェックを実行] を選択します。

  5. モデル アドバイザーのユーザー インターフェイスで結果を確認します。次の表は共通のチェック ステータス結果を示しています。モデル アドバイザー構成エディターで [問題にフラグが設定されている場合は結果をチェック] のパラメーター セットに応じて異なるアイコンが使用されていることに注目してください (Simulink Check ライセンスが必要)。このパラメーターの詳細については、チェックをカスタマイズするパラメーターの指定 (Simulink Check)を参照してください。

    チェック結果のステータス

    アイコン説明

    Passed

    Pass icon when the flag for checks result is set to warning

    指定されたチェックにおいてモデルに違反はありません。

    Failed

    Fail icon

    チェックによって重大な違反が特定されました。

    Warning

    Warning icon

    チェックによって違反が特定されました。

    Justified

    justification icon

    チェック違反が正当化されています。

    Not Run

    Not Run icon

    チェックがモデル アドバイザーの解析用に選択されていません。

    Incomplete

    Incomplete icon

    チェック解析が不完全であるか、チェック実行によって例外が発生しました。

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

  7. [対象外指定] タブを使用して、解析から除外するようにマークされたチェックを確認します。

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

プログラムによるモデル チェックの実行

Simulink Check を使用している場合、モデル アドバイザーをプログラムによって実行することができるように MATLAB スクリプトと関数を作成できます。たとえば、モデルを開いてシミュレーションを開始するときに毎回、指定した一連のモデル アドバイザーのチェックにモデルが合格するかどうかを調べる関数 ModelAdvisor.run (Simulink Check) を作成できます。

関連する例

詳細