Simulink Design Verifier ハーネス モデルの管理
ハーネス モデルの生成
ハーネス モデルは、設計変更をテストするための分離された環境を提供します。ハーネス モデルは、Simulink® Design Verifier™ の解析中、または解析後に作成できます。
ハーネス モデルのコンテンツは、[コンフィギュレーション パラメーター] ダイアログ ボックスの [Design Verifier] ペインで設定された [モード] パラメーターの値に依存します。
設計エラー検出
— ハーネス モデルには、シミュレーション中にエラーになったテスト ケースが含まれる。テスト生成
— ハーネス モデルには、テスト オブジェクティブを達成するテスト ケースが含まれる。プロパティ証明
— ハーネス モデルには、証明オブジェクティブを反証する反例が含まれる。
既定では、[解析後に別のハーネス モデルを生成] パラメーターは無効になっています。
メモ
Simulink Design Verifier ソフトウェアがハーネス モデルを生成するのは、解析対象の最上位モデルに Inport ブロックが含まれている場合のみです。
ハーネス モデルの作成
解析の前または後にハーネス モデルを作成するには、次の方法を使用します。
解析の前に、[コンフィギュレーション パラメーター] ダイアログ ボックスの [Design Verifier] 、 [結果] ペインで、[解析後に別のハーネス モデルを生成] を選択します。
解析の後に、[Simulink Design Verifier の検証結果の概要] ウィンドウで、[ハーネス モデルの作成] を選択します。
ハーネス モデルのコンテンツ
Simulink Design Verifier ソフトウェアは、次の項目を含むハーネス モデルを作成します。
Inputs — Inputs ブロックは、Signal Builder ブロックまたは Signal Editor ブロックであり、[Design Verifier] 、 [結果] ペインで設定されているハーネス ソースオプションに基づきます。
Signal Builder:このブロックには、Simulink Design Verifier が生成するテスト ケースまたは反例で構成される信号が含まれます。Signal Builder ブロックには、モデルで使用される入力信号用の信号のみが含まれます。入力信号がモデルの出力に影響しない場合、その信号は Signal Builder ブロックに含まれません。
[Signal Builder] ダイアログ ボックスを開き、その信号を表示するには、Inputs ブロックをダブルクリックします。それぞれの信号グループは、一意のテスト ケースまたは反例を表します。個々のテスト ケースまたは反例に関連付けられた信号を表示するには、[Signal Builder] ダイアログ ボックスで、[アクティブ グループ] を選択します。
Simulink Design Verifier が
sldvdemo_cruise_control
モデルで既定のオプションを使用してテスト生成解析を実行した後に、この Signal Builder ブロックはTest Case 7
の信号を表示します。[テスト スイートの最適化] パラメーターの
[LongTestcases]
オプションを選択すると、解析により作成されるテストケースの数は減りますが、それぞれは長くなります。たとえば、sldvdemo_cruise_control
モデルで[LongTestcases]
オプションを選択した場合、解析では 9 つの短いテスト ケースの代わりに 1 つの長いテスト ケースが生成されます。次の [Signal Builder] ダイアログ ボックスは、長いテスト ケースの信号を示しています。[Signal Builder] ダイアログ ボックスの詳細については、信号グループを参照してください。Signal Editor:このブロックには、Simulink Design Verifier が生成するテスト ケースまたは反例で構成されるシナリオが含まれています。Signal Editor ブロックには、モデルで使用される入力信号用の信号のみが含まれます。入力信号がモデルの出力に影響しない場合、その信号は Signal Editor ブロックに含まれません。
Simulink Design Verifier がハーネス モデルを生成後、Signal Editor ブロックの入力 MAT ファイルは、既定の場所である
<current_folder>\sldv_output\<model_name>\<model_name>_harness_HarnessInputs.mat
で保存されます。
Signal Editor ダイアログ ボックスを開いて信号ソースのシナリオを表示するには、Inputs ブロックをダブルクリックします。[アクティブなシナリオ] に、テスト ケースまたは反例がリストされます。シナリオを作成および編集するには、Signal Editor ユーザー インターフェイスを起動します。詳細については、信号データの作成と編集を参照してください。
Size-Type — この Subsystem ブロックは、信号を Inputs ブロックから Test Unit ブロックに伝送します。このブロックは、信号のサイズおよびデータ型が Test Unit ブロックと一致することを検証します。
Test Unit — この Model ブロックは、Simulink Design Verifier が解析した元のモデルを参照します。
[コンフィギュレーション パラメーター] ダイアログ ボックスの [Design Verifier] 、 [結果] ペインで [生成されたハーネス内の入力モデルを参照] が選択されていない場合、作成する [Test Unit] は Subsystem ブロックになります。
ハーネス モデルの Test Unit がサブシステムの場合、[最適化] ペインと [数学とデータ型] ペインにあるパラメーター値がカバレッジ結果に影響することがあります。
Test Case Explanation — この DocBlock ブロックは、Simulink Design Verifier が生成するテスト ケースまたは反例を記述します。各テスト ケースまたは反例の説明を表示するには、Test Case Explanation ブロックをダブルクリックします。このブロックは、それぞれのテスト ケースが達成するテスト オブジェクティブ、あるいはそれぞれの反例が反証する証明オブジェクティブをリストします。
ハーネス モデルの構成
Simulink Design Verifier は、次の設定でハーネス モデルを生成します。
ハーネス モデルの開始時間は常に
0
です。元のモデルで 0 以外の開始時間を使用している場合、開始時間は無視され、テスト ケースおよび反例のシミュレーション開始時間には0
が使用されます。ハーネス モデルの終了時間は、Inputs ブロックの最長のテスト ケースの終了時間と常に等しくなります。
既定では、カバレッジ解析は有効になっており、テスト ケースを含むハーネス モデルのカバレッジ レポートが生成されます。カバレッジ レポートは、既定のオプションで有効になっています。これらの設定をカスタマイズするには、カバレッジ オプションの指定 (Simulink Coverage)を使用します。
既定では、[フィルターを基にオブジェクティブを無視する] を選択して、Test Unit のカバレッジ フィルター ファイルを指定していると、そのカバレッジ フィルター ファイルはハーネス モデルに適用されます。詳細については、カバレッジ データを参照してください。
複素数型の Inport ブロックを使用するモデルでは、指定した [ハーネス ソース] に関係なく、ハーネス ソースとして Signal Editor ブロックが使用されます。
ハーネス モデルのシミュレーション
ハーネス モデルでは、Simulink Design Verifier が生成するテスト ケースや反例を使用することにより、元のモデルのコピーをシミュレートできます。ハーネス モデルを使用して、以下をシミュレートできます。
反例。
単独テスト ケース。Simulink Coverage™ ソフトウェアはこれについてモデル カバレッジ情報を収集および表示。
すべてのテスト ケース。Simulink Coverage ソフトウェアはこれについて累積モデル カバレッジ情報を収集および表示。
メモ
サンプル時間の警告を使用してシミュレートされるモデルを解析する場合、ハーネス モデルのシミュレート時に警告がエラーとしてレポートされ、シミュレーションが失敗することがあります。
Signal Builder ソース ブロックを使用したハーネス モデルのシミュレート
1 つのテスト ケースまたは反例は次の手順でシミュレートします。
ハーネス モデルで、Inputs ブロックをダブルクリックします。
[Signal Builder] ダイアログ ボックスで、特定のテスト ケースまたは反例を含む [アクティブ グループ] を選択します。
[Signal Builder] ダイアログ ボックスには、選択されたテスト ケースまたは反例を構成する信号が表示されます。
[シミュレーションの開始] ボタン
をクリックします。
Simulink ソフトウェアは、選択されたテスト ケースまたは反例に関連付けられた信号を使用してハーネス モデルをシミュレートします。テスト ケースのシミュレート時、Simulink Coverage ソフトウェアはモデル カバレッジ情報を収集して、カバレッジ レポートを表示します。
すべてのテスト ケースをシミュレートし、それらを 1 つにまとめたモデル カバレッジを測定するには、以下を行います。
ハーネス モデルで、Inputs ブロックをダブルクリックします。
[Signal Builder] ダイアログ ボックスで、[すべて実行] ボタン
をクリックします。
Simulink ソフトウェアはすべてのテスト ケースを使用してハーネス モデルのシミュレーションを実行し、Simulink Coverage ソフトウェアはモデル カバレッジ情報を収集してカバレッジ レポートを表示します。
[すべて実行] をクリックすると、ハーネス モデルの終了時間を使用してすべてのテスト ケースがシミュレートされます。この終了時間は最長のテスト ケースの終了時間に等しいため、より短いテスト ケースをシミュレートする場合、追加のカバレッジを累算できます。
詳細については、信号グループのシミュレーションを参照してください。
Signal Editor の Inputs ブロックを使用したハーネス モデルのシミュレート
1 つのテスト ケースまたは反例は次の手順でシミュレートします。
ハーネス モデルで、Inputs ブロックをダブルクリックします。
Signal Editor ダイアログ ボックスで、特定のテスト ケースまたは反例を含む [アクティブなシナリオ] を選択して [OK] をクリックします。
Simulink エディターで [実行] ボタンをクリックします。
Simulink ソフトウェアは、選択されたテスト ケースまたは反例に関連付けられた信号ソースのシナリオを使用してハーネス モデルをシミュレートします。テスト ケースのシミュレート時、Simulink Coverage ソフトウェアはモデル カバレッジ情報を収集して、カバレッジ レポートを表示します。
すべてのテスト ケースをシミュレートし、それらを 1 つにまとめたモデル カバレッジを測定するには、cvsim
(Simulink Coverage)またはparsim
コマンドを使用します。例については、Signal Editor の Inputs ブロックを使用したハーネス モデルのシミュレートを参照してください。