Main Content

使用模型顾问配置编辑器来自定义模型顾问

模型顾问配置编辑器概述

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

模型顾问配置编辑器使您能够通过以下方式灵活地自定义模型顾问分析以满足您组织的需要:

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

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

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

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

  • 重命名检查和文件夹。

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

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

  • 升级旧的检查配置文件以与 MATLAB® 更新版本兼容。

模型顾问配置编辑器包括:

  • 窗格 - 只读窗格,其中列出可在配置中使用的所有检查和文件夹。有三个过滤器选项可用于查看检查:

    • 全部显示 - 列出所有检查。

    • 按产品 - 根据检查所属的产品文件夹列出检查。

    • 按任务 - 根据检查所属的任务文件夹列出检查。

    选择过滤器后,您可以在树结构中查看检查。要永久显示“库”选项卡,请在工具条上点击显示库

  • 配置窗格 - 此窗格列出当前模型顾问配置中的所有检查和文件夹,在此窗格中您能够选择特定检查以在信息选项卡中查看其详细信息。

  • 信息选项卡 - 此选项卡提供:

    • 有关检查或文件夹的详细信息,例如显示名称检查实例 ID检查组 ID,以及当检查标识了问题时的状态

    • 修复按钮 - 修复过时的检查。

    • 删除按钮 - 删除不再受支持的检查。

    • 帮助按钮 - 打开特定检查的帮助页面。

    • 应用按钮 - 应用对所选检查的显示名称、文件夹以及该检查的其他设置所做的更改。

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

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

打开模型顾问配置编辑器

在打开模型顾问配置编辑器之前,确认当前文件夹可写。如果文件夹不可写,当您启动模型顾问配置编辑器时会看到一条错误消息。

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

Advisor.Manager.refresh_customizations

使用以下方法之一打开模型顾问配置编辑器:

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

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

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

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

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

注意

如果您的配置文件包含与您使用的 MATLAB 的更新版本不兼容的检查,请按照升级模型顾问配置文件中不兼容的检查中所述修复配置中的问题。

指定默认配置文件

您可以使用模型顾问配置编辑器来指定默认配置,该配置在模型顾问打开时会自动加载。要设置默认配置,请在模型顾问配置编辑器中打开配置文件,然后点击工具条中的设置为默认值按钮。

注意

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

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

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

自定义模型顾问配置

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

注意

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

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

组织层次结构

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

  • 使用新建文件夹创建文件夹。

  • 使用幅值剪切粘贴添加、复制和移动检查和文件夹。

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

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

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

启用或禁用检查

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

配置窗格中,右键点击文件夹或检查并选择禁用。根据模型顾问配置编辑器中的复选框选择,模型顾问中会出现以下结果:

  • 如果在模型顾问配置编辑器中选中了检查旁边的框,则在模型顾问中,该检查会自动选中。由于您选择了禁用,检查会灰显,您无法选择从分析中删除检查。

    如果检查旁边的框选中并且在模型顾问配置编辑器中应用了禁用选项,则在模型顾问中,该检查未被选中,并且您无法将其包括在分析中。

  • 如果在模型顾问配置编辑器中选中了文件夹旁边的框,则在模型顾问中,该文件夹内的检查将自动选中。由于您选择了禁用,文件夹及其检查会灰显,并且您无法选择从分析中删除检查。

    如果文件夹旁边的框选中并且在模型顾问配置编辑器中应用了禁用选项,则在模型顾问中,该文件夹内的检查都不会被选中,并且您无法将其包括在分析中。

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

注意

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

指定检查自定义的参数

您可以使用模型顾问配置编辑器来自定义模型顾问检查,例如该检查的显示名称和输入参数。

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

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

  • 当检查标识了问题时的状态 - 指定当检查在您的模型中标记为问题时,您在结果中将检查标记为警告还是失败。默认值为警告。选择失败可将标记的检查在结果中标记为失败。

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

隐藏缺失检查的警告消息

当加载模型顾问配置时,模型顾问会在发现检查缺失时自动对您发出警告。您可以使用模型顾问配置编辑器来隐藏此消息。选择模型顾问配置编辑器根节点,在信息选项卡中,选择加载配置时隐藏有关缺失检查的警告消息

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

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

升级模型顾问配置文件中不兼容的检查

您可以使用模型顾问配置编辑器将模型顾问配置升级到 MATLAB 的更新版本。升级配置使您能够查看和使用新引入或更新的输入参数和检查 ID。您也可以删除不再受支持的检查。模型顾问配置编辑器便于您自动批量更新或删除配置中不兼容的检查。您也可以单独更新或删除不兼容的检查,然后验证配置的兼容性。

使用模型顾问自动更新或删除配置文件中的检查

  1. 在模型顾问配置编辑器中,如果您加载的旧配置文件包含与当前所用 MATLAB 更新版本不兼容的检查,会出现对话框,询问您是否自动修复配置中的问题。要了解如何加载配置,请参阅打开模型顾问配置编辑器

  2. 要自动修复问题,请点击。模型顾问会修改可修复的检查,并从配置文件中删除不可修复的检查。

    • 检查在以下情况下可修复:它包含过时的输入参数或检查 ID 时。或者说,它不具备当前所用 MATLAB 更新版本中引入的最新输入参数或检查 ID 时。

    • 检查在以下情况下不可修复:它在当前所用 MATLAB 更新版本中不再受支持时。

    “验证摘要”窗口显示已更新和已删除的检查的列表。有关详细信息,请参阅在验证摘要中查看更新和删除的检查

  3. 点击保存以 JSON 格式保存升级后的配置文件。现在,您可以使用升级后的配置文件在 MATLAB 更新版本中查看您的模型。

单独更新或删除配置文件中的检查

  1. 在模型顾问配置编辑器中,如果您加载的旧配置文件包含与当前所用 MATLAB 更新版本不兼容的检查,会出现对话框,询问您是否自动修复配置中的问题。要了解如何加载配置,请参阅打开模型顾问配置编辑器

  2. 要打开模型顾问配置编辑器且突出显示检查问题并单独修复问题,请点击配置窗格列出已加载配置的文件夹。文件夹上带红色交叉标记图标 Icon of folder that contains incompatible checks 表示该文件夹包含不兼容的检查。

  3. 展开包含不兼容检查的文件夹。扳手感叹号图标 Icon of incompatible checks 表示不兼容的检查。当您点击列表中的任一不兼容检查时,信息选项卡会显示一个横幅框。如果该检查可修复,您可以更新或删除它。如果该检查不可修复,则只能将其删除。

    Fix or delete fixable checks

  4. 如果您需要模型顾问自动更新或删除配置文件中其余的不兼容检查,请点击工具条中的验证按钮。模型顾问会修改可修复的检查,并从配置文件中删除不可修复的检查。“验证摘要”窗口显示已更新和已删除的检查的列表。有关详细信息,请参阅在验证摘要中查看更新和删除的检查

  5. 点击保存以 JSON 格式保存升级后的配置文件。现在,您可以使用升级后的配置在 MATLAB 更新版本中查看您的模型。

在验证摘要中查看更新和删除的检查

在升级旧配置文件以在 MATLAB 更新版本中验证模型后,模型顾问会生成验证摘要。“验证摘要”窗口列出已更新和已删除的检查。

下表说明“验证摘要”窗口中的各个部分。

图标部分

Checks with updated input parameters and Check IDs

使用更新后的输入参数进行检查 - 这些检查经过修改以包含在 MATLAB 更新版本中引入或更新的输入参数。
具有更新后的检查 ID 的检查 - 这些检查经过修改以包含在 MATLAB 更新版本中引入或更新的检查 ID。

Checks which are deleted

已删除的检查 - 更新版本 MATLAB 中不再支持的检查。

使用模型顾问配置编辑器创建自定义模型顾问配置

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

创建模型顾问配置

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

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

Simulink.ModelAdvisor.openConfigUI

2.在工具条中,选择显示库以显示窗格。在按产品选项卡的搜索字段中,输入 ISO 26262

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

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

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

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

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

6.选择按产品按任务文件夹,然后选择删除

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

注意:如果您之前已指定默认配置,则可以使用清除默认配置设置清除用于指定当前默认配置文件的标志。点击该按钮不会修改当前显示在模型顾问配置编辑器中的配置。

8.关闭模型顾问配置编辑器。

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

open_system('AdvisorCustomizationExample.slx');

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

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

model_edit_time.png

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

13.关闭模型顾问。

更新模型顾问配置

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

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

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

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

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

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

  • MAB 建模标准 > 命名约定 > 内容 > 检查模块名称中的字符使用

  • MAB 建模标准 > 命名约定 > 内容 > 检查子系统名称的长度

6.点击MAB 建模标准 > Simulink > 图外观 > 检查模块名称是否出现在模块下方检查,在信息选项卡中,对当检查标识了问题时的状态选项选择 Fail。点击应用

注意当检查标识了问题时的状态选项的默认值为 Warning

7.点击保存保存配置。关闭模型顾问配置编辑器和模型。

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

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

9.打开模型顾问。

观察下列检查,它们反映了您在模型顾问配置编辑器中选择的设置:

  • MAB 建模标准 > 命名约定 > 内容 > 检查模块名称中的字符使用灰显,且复选框处于选中状态。此检查将始终在模型顾问分析中执行,由于它灰显,因此您无法选择将其从分析中排除。

  • MAB 建模标准 > 命名约定 > 内容 > 检查子系统名称的长度灰显,且复选框未处于选中状态。此检查将不会包含在分析中,并且由于它灰显,您无法选择它来包含在分析中。

10.选中 MAB 建模标准 > Simulink > 图外观 > 检查模块名称是否出现在模块下方旁边的复选框。

11.要运行模型顾问分析,请右键点击 MAB 模型顾问标准根节点,然后选择运行所选检查

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

  • MAB 建模标准 > 命名约定 > 内容 > 检查模块名称中的字符使用检查标有警告图标,结果指定检查违规位于 Gain 模块中。

  • MAB 建模标准 > 命名约定 > 内容 > 检查子系统名称的长度检查没有检查结果,因为无法选择它来进行分析。

  • MAB 建模标准 > Simulink > 图外观 > 检查模块名称是否出现在模块下方检查标有失败图标。此行为是有意为之;您使用模型顾问配置编辑器指定了此检查设置。

另请参阅

|

相关主题