主要内容

收集度量模型编程

您可以使用模型度量API以编程方式收集模型指标,可以帮助您评估架构,复杂性,和您的模型的可读性。这些指标可以帮助你验证的结果符合行业标准和指导方针。

这个例子展示了如何使用该模型度量API以编程方式收集子系统和块计数度量模型。收集度量标准模型之后,您可以访问结果,结果导出到文件中。

示例模型

打开vdp模型。

模型=“vdp”;open_system(模型);

收集度量标准

收集度量数据模型,创建一个slmetric.Engine对象和调用执行

metric_engine = slmetric.Engine ();
警告:仪表盘指标和slmetric。引擎API将在未来的版本中被删除。大小、结构和复杂性度量,使用该模型可维护性仪表板和度量。引擎API。该模型可维护性仪表板和度量。引擎API可以识别过时的度量结果,分析文件之间的依赖关系,聚合度量在软件单元和组件。有关更多信息,请参见< a href = " matlab: helpview ([docroot ' / slcheck /收集-模型-度量数据- 1. - html '])”< / > >收集模型和测试指标
setAnalysisRoot (metric_engine“根”,“vdp”,“RootType”,“模型”);执行(metric_engine);
更新缓存模型顾问……模型顾问缓存更新。新定制,更新缓存,使用Advisor.Manager。refresh_customizations方法。

访问结果

使用getMetrics指定您想要收集度量方法。对于这个示例,指定块计数和子系统计数度量的vdp模型。getMetrics返回一个数组的slmetric.metric.ResultCollection对象。

res_col = getMetrics (metric_engine, {“mathworks.metrics.金宝appSimulinkBlockCount”,“mathworks.metrics.SubSystemCount”});

存储并显示结果

创建一个单元阵列metricData存储MetricID,ComponentPath,价值属性的度量结果。的MetricID属性标识符度规,ComponentPath属性的路径组件的指标计算,和价值属性度量值。写一个循环来显示结果。

metricData = {“MetricID”,“ComponentPath”,“价值”};问= 1;n = 1:长度(res_col)如果res_col (n)。状态= = 0的结果= res_col (n) .Results;m = 1:长度(结果)disp ([“MetricID:”,结果(m) .MetricID]);disp ([“ComponentPath:”,结果(m) .ComponentPath]);disp ([的价值:num2str(结果(m) value)]);metricData {cnt + 1, 1} = (m) .MetricID结果;metricData{问+ 1,2}= (m) .ComponentPath结果;metricData{问+ 1,3}=结果(m) value;问=问+ 1;结束其他的disp ([“没有结果:”,res_col (n) .MetricID]);结束disp (' ');结束
MetricID: mathworks.metrics.金宝appSimulinkBlockCount
ComponentPath: vdp
价值:13
MetricID: mathworks.metrics.金宝appSimulinkBlockCount
ComponentPath: vdp /更多信息
值:1
MetricID: mathworks.metrics.金宝appSimulinkBlockCount
ComponentPath: vdp /更多信息/模型信息
值:1
MetricID: mathworks.metrics.金宝appSimulinkBlockCount
ComponentPath: vdp /信息/信息/ EmptySubsystem模型
值:0

               
MetricID: mathworks.metrics.SubSystemCount
ComponentPath: vdp
值:1
MetricID: mathworks.metrics.SubSystemCount
ComponentPath: vdp /更多信息
值:0
MetricID: mathworks.metrics.SubSystemCount
ComponentPath: vdp /更多信息/模型信息
值:1
MetricID: mathworks.metrics.SubSystemCount
ComponentPath: vdp /信息/信息/ EmptySubsystem模型
值:0

               

导出的结果

出口的MetricID,ComponentPath,价值使用电子表格writetable写的内容metricDataMySpreadsheet.xlsx

文件名=“MySpreadsheet.xlsx”;T =表(metricData);writetable (T,文件名);

将度量结果导出到一个XML文件,使用exportMetrics方法。对于每个度量结果,包括XML文件ComponentID,ComponentPath,MetricID,价值,AggregatedValue,测量

文件名=“MyMetricResults.xml”;exportMetrics (metric_engine文件名)

关闭vdp模型。

bdclose(模型);

限制

当你收集度量数据,它存储在一个数据库文件,Metrics.db,在模拟缓存文件夹。你不能在一个平台收集度量数据,数据库文件移到另一个平台,然后继续收集额外的度量数据在数据库文件中。例如,如果您在Windows机器上收集度量数据,然后将数据库文件移动到一个Linux机器,你不能收集和存储额外的指标数据的数据库文件。然而,你可以认为,仪表板的数据指标。

另请参阅

||

相关的话题