Retrieve child coverage results from parent model
5 views (last 30 days)
Show older comments
Luis Ruiz on 27 May 2020
Commented: Luis Ruiz on 29 May 2020
I am using the coverage toolbox, MATLAB 2018a, these are my settings to get the coverage from a model:
load_system( 'my_model' );
set_param( 'my_model', ...
'CovEnable' , 'on', ...
'CovMetricSettings', 'dcmetr', ...
'RecordCoverage' , 'on' );
I am turning on signal range and table coverage results.
I run and I get the coverage, then when I try to see the signal ranges I use this:
[minVal, maxVal] = sigrangeinfo(cumCovData, 'my_model/subsystem', 1 )
And I can see the max-min values for a specific subsystem, my problem is that I can only see the max-min values for the subsystems at the very bottom level of the model. Now, if I want to see this max-min values in the parent model, e.g.:
[minVal, maxVal] = sigrangeinfo(cumCovData, 'my_model', 1 )
I get this:
So, it looks like MATLAB/SIMULINK cannot assign the low level range outputs to the parent model.
So my question is:
Can I assign max-min ranges from coverage data to the parent model? What's the setting for this operation?
Pat Canny on 29 May 2020
Thanks for your question.
You are correct in that the signal range coverage is not collected for model outputs. The object needs to have a valid handle, and model outputs don't qualify. This is why you are seeing the discrepancy between the subsystem and the model. This is a good bit of feedback for the team.
One suggestion is to try creating a test harness (which would use a model reference hierarchy) and collecting the range coverage on the harness model. This is a workaround solution, but it would treat the harness as a block and allow you to collect range coverage for the "block" outputs. I suggest using slvnvmakeharness to create a harness.
Find more on Collect Coverage for Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!