主要内容

定制指标仪表板布局和功能

自定义指标仪表板使用模型度量编程接口。定制仪表板延伸你能够使用模型来评估你的模型和代码符合尺寸,复杂性,和可读性的要求。您可以执行这些度量仪表板定制:

  • 配置合规指标获得合规顾问配置和问题度量数据模型。

  • 自定义仪表板布局通过添加自定义指标,删除小部件和配置现有的部件。

  • 分类指标数据作为兼容、警告和违规通过指定度量阈值。

配置合规指标

使用仪表板的指标和度量api获取合规和度量数据在你的模型问题顾问配置或在现有MISRA检查等检查小组。信息关于如何创建一个自定义配置文件,看看使用模型顾问配置编辑器定制模型顾问。设置模型顾问配置后,按照以下步骤指定的检查组织要获得合规指标数据和问题:

1。打开模型,在MATLAB命令提示符,输入这个命令:

vdp

2。打开默认配置并保存相应的slmetric.config.Configuration对象的基本工作空间。

metricconfig = slmetric.config.Configuration.openDefaultConfiguration ();

3所示。创建一个单元阵列,顾问,指定模型检查组id高度集成,MAAB和MISRA检查组织。

  • 的值maab对应的一个子集MAAB检查。

  • 的值hisl_do178对应于一个高度集成的系统检查的子集。

  • 的值_SYSTEM_By Task_misra_c检查组IDMISRA检查小组建模标准MISRA - C: 2012

值= {“maab”,“hisl_do178”,“_SYSTEM_By Task_misra_c”};

获取模型的顾问检查组ID为一组检查,打开模型顾问配置编辑器,选择文件夹,其中包含所需的检查。的检查组ID所示的信息选项卡。在模型顾问配置编辑器的更多信息,见使用模型顾问配置编辑器定制模型顾问

4所示。设置配置,通过单元阵列的setMetricFamilyParameterValues方法。的“ModelAdvisorStandard”字符串是一个标准的字符串,你必须供应setMetricFamilyParameterValues方法。

setMetricFamilyParameterValues (metricconfig“ModelAdvisorStandard”、价值观);

5。打开的默认配置指标仪表板布局(即一个附带的仪表盘指标)。

dashboardconfig = slmetric.dashboard.Configuration.openDefaultConfiguration ();

6。获得slmetric.dashboard.Layout对象的slmetric.dashboard.Configuration对象。

布局= getDashboardLayout (dashboardconfig);

7所示。获得小部件对象的布局对象。

layoutWidget = getWidgets(布局);

8。从布局获得合规组。

complianceGroup = layoutWidget (3);

slmetric.dashboard.Layout对象包含这些对象:

  • 一个slmetric.dashboard.Container对象包含一个slmetrics.dashboard.Widget类型的对象系统信息。下图中的红色1号表示系统信息小部件。

  • 一个slmetric.dashboard.Group对象的标题大小

  • 一个slmetrics.dashboard.Group对象的标题建模指南依从性

  • 一个slmetrics.dashboard.Group对象的标题体系结构

在图中,红色的数字1,2,3,4表示他们的顺序layoutWidget数组中。

9。建模指南合规组包含两个容器。容器包含顶部高完整性MAAB合规检查部件的问题。红色数字3.1.1、3.1.2和3.1.3指示的顺序三个小部件在第一个容器。第二个容器包含代码分析警告诊断的警告小部件。

删除高完整性合规小部件。

complianceContainers = getWidgets (complianceGroup);complianceContainerWidgets = getWidgets (complianceContainers (1));complianceContainers (1) .removeWidget (complianceContainerWidgets (1));

10。的度量IDMISRA检查合规指标配置“mathworks.metrics.ModelAdvisorCheckCompliance。_SYSTEM_By Task_misra_c”

misraComplianceMetricID =“mathworks.metrics.ModelAdvisorCheckCompliance。_SYSTEM_By Task_misra_c”;

度量ID表单的配置检查合规指标是<家庭ID>。<模型顾问检查组ID>。

  • 标准配置为模型顾问合规使用<家庭ID>mathworks.metrics.ModelAdvisorCheckCompliance。配置检查合规指标计算模型的一部分顾问检查通过所选模型的顾问检查组ID

  • 模型的顾问检查组ID,_SYSTEM_By Task_misra_c,是检查组IDMISRA检查小组建模标准MISRA - C: 2012

获取模型的顾问检查组ID为一组检查,打开模型顾问配置编辑器,选择文件夹,其中包含所需的检查。的检查组ID所示的信息选项卡。在模型顾问配置编辑器的更多信息,见使用模型顾问配置编辑器定制模型顾问

有关合规指标配置的更多信息,请参阅模型指标

11。创建一个自定义小部件为可视化MISRA检查合规指标。

misraWidget = complianceContainers (1) .addWidget (“自定义”1);misraWidget。标题= (“MISRA”);misraWidget。VisualizationType =“RadialGauge”;misraWidget.setMetricIDs (misraComplianceMetricID);misraWidget.setWidths (slmetric.dashboard.Width.Medium);

12。条形图小部件目前可视化高完整性和MAAB检查小组。这个小部件度量idMISRA检查问题和MAAB检查的问题。

misraIssuesMetricID =“mathworks.metrics.ModelAdvisorCheckIssues。_SYSTEM_By Task_misra_c”;maabIssuesMetricID =“mathworks.metrics.ModelAdvisorCheckIssues.maab”;setMetricIDs (complianceContainerWidgets (3),({misraIssuesMetricID, maabIssuesMetricID}));complianceContainerWidgets (3)。标签= {“MISRA”,“MAAB”};

度量ID表单的配置检查合规指标是<家庭ID>。<模型顾问检查组ID>。

  • 标准配置为模型顾问合规问题使用<家庭ID>mathworks.metrics.ModelAdvisorCheckIssues。配置检查合规问题指标计算的数量问题顾问报告的选择模型检查组ID

  • 模型的顾问检查组ID,_SYSTEM_By Task_misra_c,是检查组IDMISRA检查小组建模标准MISRA - C: 2012maab是一个检查组ID对应于MAAB检查的一个子集。

获取模型的顾问检查组ID为一组检查,打开模型顾问配置编辑器,选择文件夹,其中包含所需的检查。的检查组ID所示的信息选项卡。在模型顾问配置编辑器的更多信息,见使用模型顾问配置编辑器定制模型顾问

有关合规指标配置的更多信息,请参阅模型指标

13。运行并查看指标仪表板此时在这个示例中,输入以下代码行数的MATLAB命令窗口。的保存命令序列化API信息的XML文件。的slmetric.config.setActiveConfigurationslmetric.dashboard.setActiveConfiguration命令设置活动配置对象。

保存(metricconfig,“文件名”,“MetricConfig.xml”);保存(dashboardconfig,“文件名”,“DashboardConfig.xml”);slmetric.config.setActiveConfiguration (fullfile (pwd,“MetricConfig.xml”));slmetric.dashboard.setActiveConfiguration (fullfile (pwd,“DashboardConfig.xml”));

14。打开仪表盘指标,在MATLAB命令窗口输入以下代码。

metricsdashboardvdp

15。单击所有指标按钮来运行的每一个指标。指标指示板显示MISRA检查的结果,而不是高完整性检查。

16。关闭指标指示板。

添加一个自定义指标指示板

创建一个自定义度量,nonvirtual块。来显示这个仪表盘上的指标度量,指定一个小部件。将其添加到组大小。

1。使用createNewMetricClass功能,创建一个新的度量类命名nonvirtualblockcount。函数创建一个文件,nonvirtualblockcount.m在当前工作目录。文件包含一个构造函数和空度量算法的方法。对于这个示例,确保你在一个可写的文件夹。

className =“nonvirtualblockcount”;slmetric.metric.createNewMetricClass(名称);

2。写度量算法,打开nonvirtualblockcount.m文件和度量添加到文件。对于这个示例,该文件nonvirtualblockcount_orig.m包含逻辑来创建一个计数度量nonvirtual块。将这个文件复制到nonvirtualblockcount.m

拷贝文件nonvirtualblockcount_orig.mnonvirtualblockcount.mf

3所示。注册这个新指标度量库。

[id_metric, err_msg] = slmetric.metric.registerMetric(名称);

新nonvirtual块计数度量指标IDnonvirtualblockcount

查看可用的指标度量引擎,使用slmetric.metric.getAvailableMetrics

availableMetricIDs = slmetric.metric.getAvailableMetrics

4所示。删除小部件表示模型块计数度量。金宝app这个小部件是第一个规模。集团是第二大小layoutWidget数组中。

sizeGroup = layoutWidget (2);sizeGroupWidgets = sizeGroup.getWidgets ();sizeGroup.removeWidget (sizeGroupWidgets (1));

5。添加一个小部件显示nonvirtual块计数度量。对于自定义小部件,默认可视化类型是单一值。如果你想使用一个不同的可视化类型,指定一个不同的值VisualizationType财产。

newWidget = sizeGroup.addWidget (“自定义”1);newWidget。标题= (“Nonvirtual块计数”);newWidget.setMetricIDs (“nonvirtualblockcount”);newWidget.setWidths (slmetric.dashboard.Width.Medium);newWidget.setHeight (70);

6。指定是否有行分离其他小部件的自定义小部件。这些命令指定有一行右边的小部件。

年代。顶级= false;年代。= false;年代。左= false;年代。正确的= true;newWidget。setSeparators ([s, s, s, s]);

7所示。运行并查看指标仪表板此时在这个示例中,输入以下代码行数的MATLAB命令窗口。的保存命令序列化API信息的XML文件。的slmetric.config.setActiveConfigurationslmetric.dashboard.setActiveConfiguration命令设置活动配置对象。

保存(metricconfig,“文件名”,“MetricConfig.xml”);保存(dashboardconfig,“文件名”,“DashboardConfig.xml”);slmetric.config.setActiveConfiguration (fullfile (pwd,“MetricConfig.xml”));slmetric.dashboard.setActiveConfiguration (fullfile (pwd,“DashboardConfig.xml”));

8。打开仪表盘指标,在MATLAB命令窗口输入以下代码。

metricsdashboardvdp

9。单击所有指标按钮来运行的每一个指标。指标指示板显示结果nonvirtual块计数度量而不是模型块计数度量。金宝app

10。关闭指标指示板。

添加指标阈值

对于nonvirtual块计数和MISRA指标,指定度量阈值。指定这些值使您能够访问您的模型的质量分类指标数据如下:

  • 兼容,度量数据在可以接受的范围内。

  • 警告-度量数据,需要审查。

  • 不合规的度量数据,需要您修改您的模型。

1。访问slmetric.config.ThresholdConfiguration对象slmetric.config.Configuration对象metricconfig。创建相应的slmetric.config.ThresholdConfiguration对象(TC)基本工作空间。

TC = getThresholdConfigurations (metricconfig);

2。添加两个slmetric.config.Threshold对象TC。每一个slmetric.config.Threshold对象包含一个默认的slmetric.config.Classification对象是兼容的。指定的指标范围。

T1 = addThreshold (TC、misraIssuesMetricID“AggregatedValue”);C = getClassifications (T1);C.Range。开始=无穷;C.Range。结束= 0;C.Range。IncludeStart = 0;C.Range。IncludeEnd = 1; T2 = addThreshold(TC,misraComplianceMetricID,“AggregatedValue”);C = getClassifications (T2);C.Range。开始= 1;C.Range。结束=正;C.Range。IncludeStart = 1;C.Range。IncludeEnd = 0;

3所示。为每一个slmetric.config.Threshold对象,指定警告范围。

C = addClassification (T1,“警告”);C.Range。开始= 0;C.Range。结束=正;C.Range。IncludeStart = 0;C.Range。IncludeEnd = 1;C = addClassification (T2,“警告”);C.Range。开始=无穷;C.Range。结束= 1;C.Range。IncludeStart = 0;C.Range。IncludeEnd = 0;

这些命令指定,如果模型MISRA检查问题,模型状态的警告。如果模型没有MISRA检查问题,模型状态是兼容的。

4所示。添加一个第三slmetric.config.Threshold对象TC。指定兼容、警告和不合规的范围slmetric.config.Threshold对象。

T3 = addThreshold (TC),“nonvirtualblockcount”,“AggregatedValue”);C = getClassifications (T3);C.Range。开始=无穷;C.Range。结束= 20;C.Range。IncludeStart = 1;C.Range。IncludeEnd = 1; C = addClassification(T3,“警告”);C.Range。开始= 20;C.Range。结束= 30;C.Range。IncludeStart = 0;C.Range。IncludeEnd = 1;C = addClassification (T3,“不合格”);C.Range。开始= 30;C.Range。结束=正;C.Range。IncludeStart = 0;C.Range。IncludeEnd = 1;

这些命令指定的范围小于或等于20。警告范围从20到30但不包括。不合规的范围大于30。

5。保存配置对象。这些命令序列化API信息的XML文件。

保存(metricconfig,“文件名”,“MetricConfig.xml”);保存(dashboardconfig,“文件名”,“DashboardConfig.xml”);

6。设置活动配置。

slmetric.config.setActiveConfiguration (fullfile (pwd,“MetricConfig.xml”));slmetric.dashboard.setActiveConfiguration (fullfile (pwd,“DashboardConfig.xml”));

7所示。为您的模型,打开指标指示板。

metricsdashboardvdp

MISRA检查合规问题,判断是黄色的,因为86.1%的检查通过。百分比小于100%生成一个警告。条形图显示一个黄色因为模型包含三个MISRA检查问题。数大于零的生成一个警告。

Nonvirtual块计数小部件是兼容的范围,因为有11 nonvirtual块。

8。重置配置并注销度规,输入以下代码行数的MATLAB命令窗口。

slmetric.metric.unregisterMetric(名称);slmetric.dashboard.setActiveConfiguration ();slmetric.config.setActiveConfiguration ();

另请参阅

|

相关的话题