定制指标仪表板布局和功能
自定义指标仪表板使用模型度量编程接口。定制仪表板延伸你能够使用模型来评估你的模型和代码符合尺寸,复杂性,和可读性的要求。您可以执行这些度量仪表板定制:
配置合规指标获得合规顾问配置和问题度量数据模型。
自定义仪表板布局通过添加自定义指标,删除小部件和配置现有的部件。
分类指标数据作为兼容、警告和违规通过指定度量阈值。
配置合规指标
使用仪表板的指标和度量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: 2012
。maab
是一个检查组ID对应于MAAB检查的一个子集。
获取模型的顾问检查组ID为一组检查,打开模型顾问配置编辑器,选择文件夹,其中包含所需的检查。的检查组ID所示的信息选项卡。在模型顾问配置编辑器的更多信息,见使用模型顾问配置编辑器定制模型顾问。
有关合规指标配置的更多信息,请参阅模型指标。
13。运行并查看指标仪表板此时在这个示例中,输入以下代码行数的MATLAB命令窗口。的保存
命令序列化API信息的XML文件。的slmetric.config.setActiveConfiguration
和slmetric.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.setActiveConfiguration
和slmetric.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 (”);
另请参阅
slmetric.dashboard.Configuration
|slmetric.config.Configuration