conditioninfo

Retrieve condition coverage information from cvdata object

Syntax

coverage = conditioninfo(cvdo, object)
coverage = conditioninfo(cvdo, object, mode)
coverage = conditioninfo(cvdo, object, ignore_descendants)
[coverage, description] = conditioninfo(cvdo, object)

Description

coverage = conditioninfo(cvdo, object) returns condition coverage results from the cvdata object cvdo for the model component specified by object.

coverage = conditioninfo(cvdo, object, mode) returns condition coverage results from the cvdata object cvdo for the model component specified by object for the simulation mode mode.

coverage = conditioninfo(cvdo, object, ignore_descendants) returns condition coverage results for object, depending on the value of ignore_descendants.

[coverage, description] = conditioninfo(cvdo, object) returns condition coverage results and textual descriptions of each condition in object.

Input Arguments

cvdo

cvdata object

object

An object in the Simulink® model or Stateflow® diagram that receives decision coverage. Valid values for object are as follows:

BlockPath

Full path to a Simulink model or block

BlockHandle

Handle to a Simulink model or block

slObj

Handle to a Simulink API object

sfID

Stateflow ID

sfObj

Handle to a Stateflow API object

{BlockPath, sfID}

Cell array with the path to a Stateflow chart or atomic subchart and the ID of an object contained in that chart or subchart

{BlockPath, sfObj}

Cell array with the path to a Stateflow chart or atomic subchart and a Stateflow object API handle contained in that chart or subchart

{BlockHandle, sfID}

Cell array with a handle to a Stateflow chart or atomic subchart and the ID of an object contained in that chart or subchart

When specifying an S-function block, valid values for object include the following:

Object SpecificationDescription

{BlockPath, fName}

Cell array with the path to an S-Function block and the name of a source file.

{BlockHandle, fName}

Cell array with an S-Function block handle and the name of a source file.

{BlockPath, fName, funName}

Cell array with the path to an S-Function block, the name of a source file, and a function name.

{BlockHandle, fName, funName}

Cell array with an S-Function block handle, the name of a source file an a function name.

For coverage data collected during Software-in-the-Loop (SIL) mode or Processor-in-the-Loop (PIL) simulation mode, valid values for object include the following:

Object SpecificationDescription

{fileName, funName}

Cell array with the name of a source file and a function name.

{Model, fileName}

Cell array with a model name (or model handle) and the name of a source file.

{Model, fileName, funName}

Cell array with a model name (or model handle), the name of a source file, and a function name.

mode

The mode argument specifies the simulation mode for coverage. Valid values for mode include the following:

Object SpecificationDescription

'Normal'

Model in Normal simulation mode.

'SIL' (or 'PIL')

Model in Software-in-the-Loop (SIL) or Processor-in-the-Loop (PIL) simulation mode.

'ModelRefSIL' (or 'ModelRefPIL')

Model reference in Software-in-the-Loop (SIL) or Processor-in-the-Loop (PIL) simulation mode.

'ModelRefTopSIL' (or 'ModelRefTopPIL')

Model reference in Software-in-the-Loop (SIL or Processor-in-the-Loop (PIL) simulation mode with code interface set to top model.

ignore_descendants

Logical value that specifies whether to ignore the coverage of descendant objects

1 to ignore coverage of descendant objects
0 (default) to collect coverage of descendant objects

Output Arguments

coverage

The value of coverage is a two-element vector of form [covered_outcomes total_outcomes]. coverage is empty if cvdo does not contain condition coverage results for object. The two elements are:

covered_outcomesNumber of condition outcomes satisfied for object
total_outcomesTotal number of condition outcomes for object

description

A structure array with the following fields:

textDescription of the condition measured
conditionA structure array containing condition info for individual condition outcomes
isFilteredWhether the block is filtered
filterRationaleThe filtering rationale
justifiedCoverageThe justified coverage conditions
isJustifiedWhether the block is justified

Examples

The following example opens the slvnvdemo_cv_small_controller example model, creates the test specification object testObj, enables condition coverage for testObj, and executes testObj. Then retrieve the condition coverage results for the Logic block (in the Gain subsystem) and determine its percentage of condition outcomes covered:

mdl = 'slvnvdemo_cv_small_controller';
open_system(mdl)
testObj = cvtest(mdl)
testObj.settings.condition = 1;
data = cvsim(testObj)
blk_handle = get_param([mdl, '/Gain/Logic'], 'Handle');
cov = conditioninfo(data, blk_handle)
percent_cov = 100 * cov(1) / cov(2)

Alternatives

Use the coverage settings to collect condition coverage for a model:

  1. Open the model for which you want to collect condition coverage.

  2. In the Model Editor, select Model Settings on the Modeling tab.

  3. On the Coverage pane of the Configuration Parameters dialog box, select Enable coverage analysis.

  4. Under Coverage metrics, select Condition as the structural coverage level.

  5. Click OK to close the Configuration Parameters dialog box and save your changes.

  6. Simulate the model by clicking the Run button and review the results.

Introduced in R2006b