Main Content

使用 Model Advisor Configuration Editor 来自定义模型顾问

Model Advisor Configuration Editor 概述

使用 Model Advisor Configuration Editor,您可以指定要用于编辑时检查的检查,以及模型顾问中包含的检查。此组织层次结构保存为配置文件,在启动模型顾问时会加载该配置文件。您可以使用 Model Advisor Configuration Editor 修改现有配置,创建新模型顾问配置,并指定默认配置。

Model Advisor Configuration Editor 使您能够通过以下方式灵活地自定义模型顾问分析以满足您组织的需要:

  • 查看所有可用的模型顾问检查。

  • 在模型顾问树中添加、删除和组织内置检查和文件夹。

  • 将自定义模型顾问检查集成到您的验证和确认工作流中。

  • 禁用和启用检查和文件夹。

  • 重命名检查和文件夹。

  • 指定在模型顾问分析期间标记一项检查时,是将该检查标记为警告还是失败。

  • 在加载模型顾问配置时隐藏关于缺失检查的警告。

Model Advisor Configuration Editor 包括:

  • Library 窗格 - 只读窗格,其中列出在配置中可用的所有检查和文件夹,由 By ProductBy Task 选项卡构成。要永久显示 Library 选项卡,请在工具条上点击 Show Library

  • Model Advisor 窗格 - 此窗格列出当前模型顾问配置中的检查和文件夹,可按以下条件进行筛选:

    • All checks” - 列出当前配置中包含的所有模型顾问检查

    • Edit Time supported checks” - 仅列出支持编辑时执行的模型顾问检查

  • 信息选项卡 - 此选项卡提供有关检查或文件夹的详细信息,例如显示名称检查实例 ID检查组 ID当检查标识了问题时的状态

使用 LibraryModel Advisor 窗格中的搜索功能来查找特定的检查和文件夹。

Model Advisor Configuration Editor showing the Library pane, Model Advisor pane, and Information tab

打开 Model Advisor Configuration Editor

在打开 Model Advisor Configuration Editor 之前,确认当前文件夹可写。如果文件夹不可写,当您启动 Model Advisor Configuration Editor 时会看到一条错误消息。

使用模型顾问 API 实现自定义检查或模型顾问自定义时,您必须首先更新 Simulink® 环境,以包括您的 sl_customization.m 文件。在 MATLAB® 命令行中输入

Advisor.Manager.refresh_customizations

使用以下方法之一打开 Model Advisor Configuration Editor:

  • 以编程方式 - 在 MATLAB 命令行中输入 Simulink.ModelAdvisor.openConfigUI

  • 从 Simulink 编辑器 - 在建模选项卡中,选择模型顾问配置编辑器 > 配置编辑器

  • 从模型顾问中 - 选择打开 > 打开配置编辑器

当您打开 Model Advisor Configuration Editor 时,将显示模型顾问当前正在使用的配置文件。配置的文件名显示在窗口的顶部。确认您所看到的是正确的配置文件。要打开不同配置文件,请点击 Open 并浏览到您要查看的文件。

要创建新配置,请点击工具条中的 New 按钮。使用 Save As 重命名配置文件。模型顾问配置文件以 .json 格式保存。

指定默认配置文件

您可以使用 Model Advisor Configuration Editor 来指定默认配置,该配置在模型顾问打开时会自动加载。要设置默认配置,请在 Model Advisor Configuration Editor 中打开配置文件,然后点击工具条中的 Set As Default 按钮。

注意

如果您之前已指定默认配置,则可以使用 Clear default configuration setting 清除用于指定当前默认配置文件的设置。点击该按钮不会修改当前显示在 Model Advisor Configuration Editor 中的配置。如果未指定默认配置,模型顾问将使用系统管理员定义的标准配置。

如果未将配置文件指定为默认值,则在保存文件时,系统会提示您是否将该文件设置为默认配置。要使此文件成为默认配置,请点击 Yes

要将自定义配置与模型相关联,以便模型顾问在您每次打开该模型时都使用该配置,请参阅Load and Associate a Custom Configuration with a Model

自定义模型顾问配置

您可以使用 Model Advisor Configuration Editor 自定义模型顾问配置树,包括添加与删除检查和文件夹,以及指定检查的执行顺序。您还可以禁用用户选择是否在分析中包括或排除检查的功能。您也可以使用 Model Advisor Configuration Editor 来定义检查的输入参数。

注意

Library 选项卡复制的检查将保留其默认参数设置。当它们被粘贴到您的自定义配置文件夹中时,每个检查旁边的框都处于未选中状态。

Model Advisor 选项卡的文件夹中复制或剪切的检查将保留其用户定义的参数设置。当一项检查包含在多个文件夹中时,您可以分别为每项检查指定不同参数。

组织层次结构

您可以通过使用以下方式在模型顾问配置树中自定义检查和文件夹的布局:

  • 使用 New Folder 创建文件夹。

  • 使用 CopyCutPaste 添加、复制和移动检查和文件夹。

  • 使用 Delete 删除检查和文件夹。

  • 使用 Move UpMove Down 移动配置树中检查或文件夹的位置。配置树中层次较高的文件夹和检查在分析中会先执行。

请注意,您可以使用 ModelAdvisor.GroupModelAdvisor.FactoryGroup 类(而不是模型顾问配置编辑器)来自定义模型顾问。然而,使用这些 API 自定义模型顾问的灵活性不高,且更耗时。要将自定义的检查放置在模型顾问树顶层(模型顾问根)的自定义文件夹中,请使用 ModelAdvisor.Group 类。要将自定义的检查放置在 By Task 文件夹中的新文件夹中,请使用 ModelAdvisor.FactoryGroup 类。您必须在 sl_customization 函数中包含注册这些任务和文件夹的方法。

启用或禁用检查

您可以使用 Model Advisor Configuration Editor 来禁用模型顾问中检查和文件夹的复选框控件。禁用后,检查仍会列在模型顾问配置树中,但它会灰显,您无法在分析中添加或删除它。

Model Advisor 窗格中,右键点击文件夹或检查并选择 Disable。根据 Model Advisor Configuration Editor 中的复选框选择,模型顾问中会出现以下结果:

  • 如果在 Model Advisor Configuration Editor 中选中了检查旁边的框,则在模型顾问中,该检查会自动选中。由于您选择了 Disable,检查会灰显,您无法选择从分析中删除检查。

    如果检查旁边的框选中并且在 Model Advisor Configuration Editor 中应用了 Disable 选项,则在模型顾问中,该检查未被选中,并且您无法将其包括在分析中。

  • 如果在 Model Advisor Configuration Editor 中选中了文件夹旁边的框,则在模型顾问中,该文件夹内的检查将自动选中。由于您选择了 Disable,文件夹及其检查会灰显,并且您无法选择从分析中删除检查。

    如果文件夹旁边的框选中并且在 Model Advisor Configuration Editor 中应用了 Disable 选项,则在模型顾问中,该文件夹内的检查都不会被选中,并且您无法将其包括在分析中。

当某检查或文件夹被禁用时,您可以使用 Enable 选项来允许用户确定是否将检查包括在分析中。

注意

EnableDisable 会同时影响模型顾问用户界面和编辑时检查的分析中检查的执行。

指定检查自定义的参数

您可以使用 Model Advisor Configuration Editor 来自定义模型顾问检查,例如该检查的显示名称和输入参数。

Information 选项卡中,查看您可以为检查自定义的内容:

  • Display Name - 为检查提供新名称,该名称显示在模型顾问中。请注意,更改显示名称不会更改检查标题。

  • Check result when issues are flagged - 指定当检查在您的模型中标记为问题时,您在结果中将检查标记为警告还是失败。默认值为 “Warning”。选择 “Fail” 可将标记的检查在结果中标记为失败。

  • Input Parameters - 指定检查的其他特性和功能。模型顾问使用这些参数来进一步定义分析的重点。例如,您可以选择只包括子检查 jc_0736_b,并在模型顾问检查 Check indentation of code in Stateflow states 的分析中指定单字节空间的可接受数量。

隐藏缺失检查的警告消息

当加载模型顾问配置时,模型顾问会在发现检查缺失时自动对您发出警告。您可以使用 Model Advisor Configuration Editor 来隐藏此消息。选择 Model Advisor Configuration Editor 根节点,在 Information 选项卡中,选择 Suppress warning message for missing checks when loading configuration

您也可以通过在 MATLAB 命令行中输入以下命令,以编程方式隐藏模型顾问警告:

warning('off','Simulink:tools:MALoadConfigMissCorrespondCheck')

使用 Model Advisor Configuration Editor 创建自定义模型顾问配置

您可以使用 Model Advisor Configuration Editor 来组织模型顾问的层次结构,并指定检查分析中包含的检查。此示例说明如何创建新配置文件、为模型顾问和编辑时检查指定检查、定义检查参数以及将配置加载到模型顾问。

创建模型顾问配置

在此示例中,您将创建名为 _Configuration.json 的自定义配置文件。此配置将包括 MathWorks 咨询委员会 (MAB) 建模规范检查和您要使用模型顾问执行的行业标准检查。

1.通过在命令提示符下输入以下命令,打开模型顾问配置编辑器:

Simulink.ModelAdvisor.openConfigUI

2.在工具条中,选择 Show Library 以显示 Library 窗格。在 By Product 选项卡的搜索字段中,输入 ISO 26262

3.右键点击 Simulink Check > 建模标准 > IEC 61508、IEC 62304、ISO 26262、ISO 225119、EN 50128 和 EN 50657 检查文件夹,然后选择复制。右键点击模型顾问配置编辑器根文件夹,然后点击粘贴。验证该文件夹和检查是否已复制到根文件夹。

注意:从 Library 窗格复制的检查将保留其默认参数设置。当它们被粘贴到您的自定义配置文件夹中时,每个检查旁边的框都处于未选中状态。

4.在模型顾问窗格的按任务文件夹中,右键点击 MAB 建模标准文件夹,然后选择剪切。点击模型顾问配置编辑器根文件夹,然后点击粘贴。该文件夹已从按任务文件夹中删除,并作为新子文件夹添加到模型顾问配置编辑器根文件夹中。

注意:从 Model Advisor 窗格的文件夹中复制或剪切的检查将保留其用户定义的参数设置。当一项检查包含在多个文件夹中时,您可以分别为每项检查指定不同参数。

5.选择 IEC 61508、IEC 62304、ISO 26262、ISO 225119、EN 50128 和 EN 50657 检查文件夹,并使用下移按钮更改此文件夹在层次结构中的位置。模型顾问将首先执行 MAB 建模标准文件夹中的检查。

6.选择 By ProductBy Task 文件夹,然后选择 Delete

7.在模型顾问窗格中,将配置焦点选项设置为 Edit-Time supported checksEdit-Time supported checks 选项显示此配置中支持编辑时检查的检查。

8.点击另存为,并将配置文件命名为 custom_Configuration。在出现提示时,选择 Yes 将配置保存为默认配置。该文件自动以 .json 格式保存。

注意:如果您之前已指定默认配置,则可以使用 Clear default configuration 设置清除用于指定当前默认配置文件的标志。点击该按钮不会修改当前显示在 Model Advisor Configuration Editor 中的配置。

9.关闭 Model Advisor Configuration Editor。

10.通过在 MATLAB 命令行中输入以下内容,打开 AdvisorCustomizationExample.slx 模型:

open_system('AdvisorCustomizationExample.slx');

11.在建模选项卡上,点击模型顾问>编辑时检查。在“配置参数”对话框中,选择编辑时检查应用。关闭“配置参数”对话框。

12.您会发现模型中有三个突出显示的模块。在这些模块中出现此配置的编辑时检查违规。将光标放在警告上,点击模块即可发现问题。

13.打开模型顾问,并确认模型顾问显示文件夹 MAB 建模标准IEC 61508、IEC 62304、ISO 26262、ISO 225119、EN 50128 和 EN 50657 检查

14.关闭模型顾问。

更新模型顾问配置

您现在将在自定义配置文件自定义 _Configuration.json 文件中自定义检查,并查看您的自定义对 AdvisorCustomizationExample.slx 模型的模型顾问分析的影响。

1.在建模选项卡上,点击模型顾问 > 配置编辑器

2.清除 Model Advisor Configuration Editor 根节点文件夹旁边的复选框。(此步骤是可选步骤。但是,对于使用 Model Advisor Configuration Editor 指定的要在模型顾问中显示的检查,取消此复选框可以帮助您更轻松地查看检查结果。)

3.要允许您使用模型顾问指定要在模型顾问分析中包括哪些检查,请右键点击模型顾问配置编辑器根文件夹,然后点击启用。(注意:Enable 是默认设置。当没有任何检查被禁用时,此选项灰显。)

4.选中 MAB 建模标准 > 命名约定 > 内容 > 检查模块名称中的字符使用旁边的复选框。

5.右键点击下列每项检查,然后选择 Disable

  • Modeling Standards for MAB > Naming Conventions > Content > Check character usage in block names

  • Modeling Standards for MAB > Naming Conventions > Content > Check length of subsystem name

6.点击 Modeling Standards for MAB > Simulink > Diagram Appearance > Check whether block names appear below blocks 检查,在 Information 选项卡中,对 Check result when issues are flagged 选项选择 Fail。点击 Apply

注意Check result when issues are flagged 选项的默认值为 Warning

7.点击 Save 保存配置。关闭 Model Advisor Configuration Editor 和模型。

8.通过在 MATLAB 命令行中输入以下内容,刷新模型顾问缓存并打开模型 AdvisorCustomizationExample.slx

Advisor.Manager.refresh_customizations();
open_system('AdvisorCustomizationExample.slx');

9.打开模型顾问。

观察下列检查,它们反映了您在 Model Advisor Configuration Editor 中选择的设置:

  • Modeling Standards for MAB > Naming Conventions > Content > Check character usage in block names check 灰显,且复选框处于选中状态。此检查将始终在模型顾问分析中执行,由于它灰显,因此您无法选择将其从分析中排除。

  • Modeling Standards for MAB > Naming Conventions > Content > Check length of subsystem names check 灰显,且复选框未处于选中状态。此检查将不会包含在分析中,并且由于它灰显,您无法选择它来包含在分析中。

10.选中 Modeling Standards for MAB > Simulink > Diagram Appearance > Check whether block names appear below blocks 旁边的复选框。

11.要运行模型顾问分析,请右键点击 Model Advisor Standards for MAB 根节点,然后选择 Run Selected Checks

12.点击以下检查并查看模型顾问分析结果:

  • Modeling Standards for MAB > Naming Conventions > Content > Check character usage in block names 检查标有警告图标,结果指定检查违规位于 Gain 模块中。

  • Modeling Standards for MAB > Naming Conventions > Content > Check length of subsystem 检查没有检查结果,因为无法选择它来进行分析。

  • Modeling Standards for MAB > Simulink > Diagram Appearance > Check whether block names appear below blocks 检查标有失败图标。此行为是有意为之;您使用 Model Advisor Configuration Editor 指定了此检查设置。

另请参阅

|

相关主题