主な機能

  • MAAB スタイル ガイドラインと信頼性の高いシステム設計ガイドライン (DO-178、ISO 26262、IEC 61508、および関連する業界規格) の準拠性のチェック
  • カスタム チェックの作成を含む、モデル アドバイザーの設定エディター
  • モデル オブジェクト、コード、テストと要求仕様ドキュメント間をトレースするための 要求管理インターフェイス
  • モデルカバレッジ解析とソフトウェアインザループ (SIL) による生成コードのコード カバレッジ解析
  • 準拠チェック、要求仕様トレーサビリティ解析、コンポーネント テストの自動化を可能とするスクリプトプログラミング

要求仕様と設計要素の関連付け

Simulink Verification and Validation™ では、Simulink® と Stateflow® のオブジェクトを要求仕様ドキュメントのテキストにリンクできます。このツールボックスは、IBM®Rational® DOORS®、Microsoft® Word®、Microsoft Excel®、PDF、HTML の各ファイルに保存された要求仕様をサポートします。Simulink 内リンクにキーワードや説明を適用して、設計をより明確にドキュメント化することができます。また、さまざまなドキュメント タイプや要求仕様管理システムをサポートするようにインターフェイスをカスタマイズすることも可能です。

Connect models, tests, and code with requirement definitions, using Requirements Tracebility interface in Simulink Verification and Validation™.

Simulink Verification and Validation では、要求仕様ドキュメント内に Simulink 要素へのリンクを追加することで双方向のトレーサビリティを実現します。このツールによって、DOORS などの要求仕様管理製品のリンクが同期されます。要求仕様リンクとソース ドキュメントとの整合性が保たれていることを確認するには、要求仕様の削除や変更をチェックします。アプリケーション プログラム インターフェイス (要求管理インターフェイスと呼ばれます) によって要求仕様のトレーサビリティ解析を自動化できます。

テスト実行やコード生成に役立つツールも要求仕様のリンクをサポートします。Simulink Test™ で要求仕様をテスト ケース、テスト スイートおよびテスト シーケンスにリンクして、Simulink キャンバスまたはテスト マネージャーからリンクにアクセスすることができます。Embedded Coder®HDL Coder™ または Simulink PLC Coder™ から生成されたコードに対して、コード生成レポートから要求仕様ドキュメントへのハイパーリンクを設定できます。このようなリンクは、コード内でコメント ラベルとして表されます。コード生成レポートのハイパーリンクを使用すると、コードから要求仕様に直接ナビゲーションすることが可能です。

Simulink Verification and Validation をサポートするサードパーティ製の要求仕様管理ソリューションについては、MathWorks Connections Program にアクセスしてください。


標準とメトリクスによるモデル品質のチェック

Simulink Verification and Validation には、スタイル ガイドラインやモデリング標準への準拠の検証にすぐに使用できるチェックのライブラリが用意されています。このチェックは、MathWorks Automotive Advisory Board (MAAB) スタイル ガイドラインおよび DO-178、ISO 26262、IEC 61508、IEC 62304 の各標準をサポートして高信頼性ソフトウェアを開発することができるように事前定義されています。モデル アドバイザー ツールを使用して、個別のチェックや一連のチェックを実行できます。各チェックには、特定された問題、警告およびエラーを解決するための詳しいドキュメンテーションや推奨事項が添付されています。特定された問題に対処するための修正措置が実行されるようにするオプションがあります。

Verify compliance with modeling standards using Model Advisor.

開発プロセスをサポートするために、Simulink Verification and Validation はモデルが後工程で用いるツールと互換性があるかチェックすることができます。たとえば、モデルに Simulink Code Inspector™ や Simulink Design Verifier™ などのツールとの互換性があることを確認できます。モデル アドバイザー機能を使用すると、これらのツールによって検出されたデッド ロジックやゼロ除算エラーなどの設計上の問題を表示できます。モデルのサイズ、複雑度および可読性の評価に役立つモデル メトリクスを生成することができます。このメトリクスは、コンパクトで移植とレビューが可能な明確なモデルを開発するためのガイダンスを提供します。

モデルが独自の標準やガイドラインに準拠していることを確認するには、モデル アドバイザー API と設定エディターを使用して独自のモデル アドバイザー チェックを作成します。また、組み込みのモデリング準拠性標準および業界標準を変更して、独自のカスタム検証チェックを作成することもできます。組み込みのチェックと同様に、これらのカスタム チェックでは、モデル アドバイザーで実行されるようにするアクション (エラーの生成やモデルに対する修正措置の自動適用など) を指定できます。

準拠性の検証を自動化または高速化するには、Parallel Computing Toolbox™ を併用して 1 台または複数のマシンでバッチ モードでチェックを実行することができます。準拠性チェックの結果は、モデル アドバイザー内または解析実行後に作成される HTML レポートに表示されます。

DO-178、ISO 26262、IEC 61508、IEC 62304 などのサポートされている業界標準に対して Simulink Verification and Validation が適格であることを証明するには、IEC Certification Kit (ISO 26262 および IEC 61508 用) および DO Qualification Kit (DO-178 用) を使用します。

モデル アドバイザーのモデリングルールチェックで発見され強調表示されたモデル ブロックの違反。


モデル カバレッジとコード カバレッジの測定

Simulink Verification and Validation は、モデル カバレッジ レポートとコード カバレッジ レポートを作成して、テストされていない設計要素を特定します。カバレッジ レポートは、テスト ケースまたはテスト スイートによってモデルがどの程度検証されているかを測定します。このレポートでは、テスト ケースまたはテスト スイートで設計の実行パスがどの程度実行されるかが特定されます。モデル内の論理条件、スイッチ、サブシステム、ルックアップ テーブル内挿間隔に関する累積メトリックが提供されます。Simulink Verification and Validation では、モデル カバレッジに加えて、C の S-Function のカバレッジ レポートおよび Embedded Coder によって生成されたコードのカバレッジ レポートも生成されます。

Detect untested elements of your design using model coverage in Simulink Verification and Validation™.

Simulink Verification and Validation では次のカバレッジ メトリックが生成されます。

実行カバレッジは、モデル カバレッジの最も基本的な形式です。各ブロックまたはサブシステムについて、項目がシミュレーション中に実行されたかどうかを判定します。

ステートメント カバレッジは、C の S-Function および生成されたコードのコード カバレッジの基本的な形式です。実行されたコード ステートメントを特定します。

循環的複雑度は、モデルで作成されたコードの McCabe 複雑度測定値を近似して、モデルの構造的複雑度を測定します。

条件カバレッジは、論理ブロックや Stateflow 遷移など、入力の論理的組み合わせを出力するブロック (またはコード) を検証します。

判定カバレッジは、Simulink Switch ブロック、Stateflow の状態、コード内の条件付きステートメントなど、モデルの決定ポイントを表現する項目を検証します。

ルックアップ テーブル カバレッジ (LUT) は、各内挿間隔における利用頻度を記録します (テスト ケースは、それが各内挿間隔や外挿間隔を 1 回以上実行する場合に、フル カバレッジを記録します)。

改良条件判定カバレッジ (MC/DC) は、RTCA DO-178 で定義されたように、セーフティ クリティカルなソフトウェアを解析し、論理入力だけで (モデルおよびコードの) 出力が変更されたかどうかを判定します。

関係演算子の境界カバレッジは、明示的または暗黙的な関係演算を含むブロック、Stateflow チャートおよび MATLAB Function ブロックを検証します。

整数オーバーフローで飽和カバレッジは、Abs ブロックなどのブロックが整数オーバーフローで飽和した回数を記録します。

信号範囲カバレッジは、全部の Stateflow データ オブジェクトについて、各ブロック出力ごとのシミュレーション中に作成される最大値と最小値を表示します。

信号サイズ カバレッジは、モデル内の全部の可変サイズ信号について、最大サイズ、最小サイズおよび割り当てサイズを記録します。レポートには、可変サイズ出力信号があるブロックのみが記載されます。

Simulink Design Verifier カバレッジは、Simulink Design Verifier のブロック・関数用のモデル カバレッジ データを記録します。