slcoverage.Filter クラス
名前空間: slcoverage
カバレッジ フィルター セット
説明
slcoverage.Filter
クラスのオブジェクトを使用して、slcoverage.FilterRule
クラスによって規則を作成することで、達成されていないカバレッジ オブジェクティブをフィルターで除外します。
slcoverage.Filter
クラスは handle
クラスです。
作成
説明
は filt
= slcoverage.Filter()slcoverage.Filter
オブジェクトを作成します。
は、filt
= slcoverage.Filter(filterFile
)filterFile
に保存されたフィルター規則が含まれた slcoverage.Filter
オブジェクトを作成します。
入力引数
filterFile
— フィルター ファイル
パス名
CVF 形式のフィルター ファイル。ファイルのパス名の文字配列または文字配列の cell 配列として指定します。ファイル拡張子を含める必要はありません。
例: 'myfilt'
, 'filters\myfilt'
, {'myfilt1', 'myfilt2'}
メソッド
パブリック メソッド
addRule | カバレッジ フィルター規則をフィルターに追加 |
removeRule | Remove rule from filter rule set |
rules | フィルターの規則 |
setFilterName | Set name of coverage filter object |
filterName | Get name of coverage filter object |
setFilterDescription | Set description of coverage filter object |
filterDescription | Get description of coverage filter object |
save | カバレッジ フィルター オブジェクトをカバレッジ フィルター ファイルに保存する |
例
フィルター ファイルへの規則の追加
この例では、規則をカバレッジ フィルター ファイルに追加する方法を説明します。
フィルター オブジェクトを作成し、BlockSelector
クラスを使用して slvnvdemo_covfilt
モデル内の Saturation ブロックの BlockSelector
オブジェクトを作成します。
filt = slcoverage.Filter; blockSel = slcoverage.BlockSelector(slcoverage.BlockSelectorType.BlockInstance,... 'slvnvdemo_covfilt/Saturation');
最初の入力としてセレクター、2 番目の入力として根拠を指定し、slcoverage.FilterRule
を使用して Saturation ブロックをフィルター処理する規則を作成します。
rule = slcoverage.FilterRule(blockSel,'Edge case');
slcoverage.Filter
クラスの addRule
メソッドを使用して、規則をフィルター オブジェクトに追加します。
addRule(filt,rule);
slcoverage.Filter
クラスの save
メソッドを使用して、新規規則が含まれたフィルターをフィルター ファイルに保存します。
save(filt,'myFilterFile')
カバレッジ フィルター オブジェクトの作成と使用
この例では、フィルター オブジェクトを作成し、サブシステムをカバレッジ解析から除外する規則を追加する方法を説明します。
slvnvdemo_covfilt
モデルを開きます。SimulationInput
オブジェクトを使用して、カバレッジの記録を有効にし、カバレッジ設定を指定します。
modelName = 'slvnvdemo_covfilt'; load_system(modelName) simIn = Simulink.SimulationInput(modelName); simIn = setModelParameter(simIn,'CovEnable','on'); simIn = setModelParameter(simIn,'CovMetricStructuralLevel','MCDC'); simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on'); simIn = setModelParameter(simIn,'CovSaveName','covData');
モデルのシミュレーションを実行します。カバレッジ データは、CovSaveName
プロパティに指定された値に保存されます。
simOut = sim(simIn); covData = simOut.covData;
slcoverage.BlockSelector
クラスを使用してブロックをフィルター処理できます。Switchable config サブシステムを除外するには、最初の入力として slcoverage.BlockSelectorType.SubsystemAllContent
を使用します。
subsysSel = slcoverage.BlockSelector(... slcoverage.BlockSelectorType.SubsystemAllContent,... 'slvnvdemo_covfilt/Switchable config');
セレクター、根拠、除外フィルター モードを入力として渡して、フィルターの規則を作成します。
rule = slcoverage.FilterRule(subsysSel,... 'Unused configuration',... slcoverage.FilterMode.Exclude);
slcoverage.Filter
オブジェクトを作成し、規則をそのオブジェクトに追加します。
filt = slcoverage.Filter; addRule(filt,rule);
blockFilter.cvf
というファイルにフィルターを保存します。このカバレッジ フィルターを使用するレポートを作成するために、covData
の filter
プロパティへの値としてフィルター ファイルを追加し、covData
を使用して coverageData.html
というレポートを作成します。
save(filt,'blockFilter') covData.filter = 'blockFilter'; cvhtml('coverageData',covData);
シミュレーションでの複数のカバレッジ フィルター ファイルの使用
複数のフィルター ファイルがあり、そのそれぞれに独自の規則セットが含まれている場合、フィルター ファイル名またはパス名の cell 配列を作成してカバレッジ結果セットに各フィルター ファイルを適用できます。この例では、2 つのフィルター ファイルを単一の cvdata
オブジェクトに適用してから、レポートを表示してフィルターが適用されていることを確認します。
slvnvdemo_covfilt
モデルをメモリに読み込みます。
modelName = 'slvnvdemo_covfilt';
load_system(modelName)
Simulink.SimulationInput
オブジェクトを使用してカバレッジ設定を設定し、sim
を使用してモデルをシミュレートします。
simIn = Simulink.SimulationInput(modelName); simIn = setModelParameter(simIn,'CovEnable','on'); simIn = setModelParameter(simIn,'CovMetricStructuralLevel','MCDC'); simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on'); simIn = setModelParameter(simIn,'CovSaveName','covData'); simOut = sim(simIn);
2 つのフィルターを cell 配列としてフィルター プロパティに割り当て、それらのフィルターを cvdata
オブジェクトに適用します。
covData.filter = {'filter_1','filter_2'}; cvhtml('twoFiltersCovData',covData);
カバレッジ レポートの [カバレッジ解析からフィルターで除外されたオブジェクト] セクションで、適用されているカバレッジ フィルターを確認できます。
バージョン履歴
R2017b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)