Main Content

slcoverage.Selector クラス

名前空間: slcoverage

すべてのタイプのセレクターの取得

説明

slcoverage.Selector クラスの allSelectors メソッドを使用して、モデル オブジェクトに対するすべてのタイプのセレクターを返します。

slcoverage.Selector クラスは handle クラスです。

プロパティ

すべて展開する

このセレクター オブジェクトを作成するために使用するコード。文字ベクトルとして返されます。

属性:

GetAccess
public
SetAccess
protected

セレクターの説明。文字ベクトルとして返されます。Simulink® Coverage™ は、セレクターに基づいて説明を作成します。

属性:

GetAccess
public
SetAccess
protected

モデル要素の識別子。Simulink ID またはハンドルの文字ベクトルとして返されます。

属性:

GetAccess
public
SetAccess
protected

セレクター タイプ。対応するセレクターのセレクター タイプとして返されます。

属性:

GetAccess
public
SetAccess
protected

メソッド

すべて展開する

すべて折りたたむ

この例では、And ブロックに対するすべてのセレクターを取得してから、セレクターを正当化または排除する規則を追加する方法を説明します。メトリクス セレクターは正当化のみ可能です。

モデルを読み込んで、カバレッジを設定します。

modelName = 'slvnvdemo_covfilt';
load_system(modelName);
set_param(modelName,'CovEnable','on','CovMetricStructuralLevel','MCDC');

まず、And ブロックのブロック ハンドルを取得します。

id = getSimulinkBlockHandle([modelName,'/Saturation']);

ブロック ハンドルを使用してセレクターを取得します。

sel = slcoverage.Selector.allSelectors(id)
sel = 

  1x10 heterogeneous Selector (BlockSelector, MetricSelector) array with properties:

    Description
    Type
    Id
    ConstructorCode

ブロックには 10 個のセレクターがあります。それぞれにインデックスを付けて、それらの内容を確認できます。この例では、6 個目のセレクターを正当化します。

sel(6)
ans = 

  MetricSelector with properties:

     ObjectiveIndex: 2
       OutcomeIndex: 2
        Description: 'T outcome of input > upper limit in Saturate block "Saturation"'
               Type: DecisionOutcome
                 Id: 'slvnvdemo_covfilt:5'
    ConstructorCode: 'slcoverage.MetricSelector(slcoverage.MetricSelectorType.DecisionOutcome, 'slvnvdemo_covfilt:5', 2, 2)'

正当化する規則を作成し、フィルター オブジェクトを作成して、それに規則を追加します。

rule = slcoverage.FilterRule(sel(6),'Expected result');
filt = slcoverage.Filter;
filt.addRule(rule);

フィルターを保存して、カバレッジ レポートを生成します。

filt.save('metrfilter');
csim = cvsim(modelName);
csim.filter = 'metrfilter';
cvhtml('cov',csim,'-sRT=0');

バージョン履歴

R2017b で導入