モデル カバレッジ タスクの自動化
Simulink Coverage 関数とクラスを使用してスクリプトでのカバレッジ解析を自動化できます。たとえば、同じモデルでさまざまなモデル パラメーターを使用してシミュレーションを行うことで、カバレッジ データを収集するとします。パラメーターを手動で変更するのではなく、シミュレーションの実行とカバレッジ データの収集をループで行うことができます。
スクリプトを使用したカバレッジ データの収集
この例では、sim
を使用してカバレッジ データを収集する方法を説明します。
モデルの読み込み
最初に、解析するモデルとシステムをメモリに読み込みます。
load_system('slvnvdemo_ratelim_harness');
カバレッジ設定の設定
シミュレーション入力、パラメーター構造体、名前と値のペアなど、
で説明されている方法の 1 つを使用して、カバレッジ パラメーターを設定します。たとえば、パラメーターの構造体を使用するため、フィールドがコンフィギュレーション パラメーターの名前となっており、値がそのパラメーターの対応する値となっている構造体を設定します。sim
paramStruct.CovEnable = 'on'; paramStruct.CovMetricStructuralLevel = 'Decision'; paramStruct.CovSaveSingleToWorkspaceVar = 'on'; paramStruct.CovSaveName = 'covData'; paramStruct.CovScope = 'Subsystem'; paramStruct.CovPath = '/Adjustable Rate Limiter'; paramStruct.StartTime = '0.0'; paramStruct.StopTime = '2.0';
Simulink.SimulationInput
オブジェクトを使用する例については、parsim を使用した並列シミュレーションのカバレッジの記録を参照してください。
テストの設定とモデルのシミュレーション
モデル例では、MATLAB® ワークスペースで定義されている入力値を使用します。この例で使用する値は within_lim.mat
というデータ ファイルで定義されています。load
を使用してファイルをワークスペースに読み込むことができます。
load within_lim.mat;
追加入力として paramStruct
を指定した sim
を使用してモデルのシミュレーションを行い、指定されたパラメーターを使用してカバレッジ データを収集します。
simOut = sim('slvnvdemo_ratelim_harness',paramStruct);
カバレッジ レポートの生成
シミュレーションが cvhtml
を使用して生成するカバレッジ データを表示する HTML レポートを生成できます。1 番目の入力は、現在のディレクトリに保存されるカバレッジ レポートの名前です。2 番目の入力は、モデル パラメーター CovSaveSingleToWorkspaceVar
および CovSaveName
に基づいてワークスペースに保存された cvdata
オブジェクトです。
cvhtml
への 3 番目の入力としてフラグ '-sRT=0'
を使用することで、自動的にレポートを開くことなくレポートを生成できます。
cvhtml('covReport',covData,'-sRT=0');
カバレッジ データの保存
cvsave
を使用してカバレッジの結果を保存します。1 番目の入力はカバレッジ データ ファイルの名前、2 番目の入力は cvdata
オブジェクトです。
cvsave('covdata',covData);
モデルを閉じる
cvexit
を使用してカバレッジ環境を終了し、close_system
を使用してモデルを閉じます。0
の 2 番目の入力は、モデルを閉じる前に保存しないことを示しています。
cvexit
close_system('slvnvdemo_ratelim_harness',0);
sim
と [実行] ボタンの違い
[実行] ボタンを使用してカバレッジを有効にしてシミュレーションを実行する場合、カバレッジ レポートは自動的に開き、[カバレッジの強調表示] は既定で有効になります。sim
を使用してプログラムでシミュレーションを実行する場合、カバレッジ レポートは開かれず、[カバレッジの強調表示] は有効になりません。
モデルの強調表示を使用して表示されるカバレッジ結果を確認するには、
cvmodelview
を使用します。カバレッジ レポートを確認するには、
cvhtml
を使用します。結果エクスプローラーを開くには、Simulink® でモデルを開きます。[アプリ] タブで、[カバレッジ アナライザー] をクリックします。次に [結果エクスプローラー] をクリックします。
別の詳細な例については、コマンド ライン検証のチュートリアルを参照してください。
Simulink Test でのカバレッジ収集
Simulink Test™ のライセンスがある場合は、テスト マネージャーを使用してカバレッジ データを収集できます。詳細については、テスト ケースの実行とカバレッジの収集 (Simulink Test)を参照してください。
参考
sim
| Simulink.SimulationInput
| cvsim
| cvtest
| cvhtml