Main Content

本页采用了机器翻译。点击此处可查看英文原文。

在 Requirements Table 模块中指定行类型

自 R2022a 起

您可以使用 Requirements Table模块来定义您的需求和假设的行类型。当设计模型时,您可能需要定义具有多个预条件的行。例如,您可能有一个仅需满足一个先决条件的需求,或者必须同时满足每个预条件。您可能还想定义当所有兄弟需求均未得到满足时某项需求的行为。Requirements Table模块允许您使用语义行构建这些行类型。

您可以使用 Requirements Table模块来创建这些行类型:

  • 普通 - 具有所有可用属性的需求或假设行。

  • 任何子活动 - 当其子预条件之一得到满足时执行的语义行。

  • 所有子行均处于活动状态 - 当所有子行的预条件都得到满足时执行的语义行。

  • 默认需求 - 当其同级行的预条件均不满足时执行的语义行。您只能为需求创建默认行。您不能创建默认假设行。

有关创建子行的更多信息,请参阅 在 Requirements Table 模块中建立层次结构

添加普通行

当您向 Requirements Table模块添加需求或假设但未指定语义行时,则会创建普通行。

要添加普通需求行,请打开模块并选择模块中的需求选项卡。然后,在工具条的 选项卡的 部分中,点击添加需求

要添加普通假设行,请选择假设选项卡。然后,在 选项卡的 部分中,点击添加假设

当您在添加新需求或假设之前选择行索引时,新行将插入到与所选行相同的层次结构级别。

添加任何子活动行

要添加一个语义需求,其中在执行父需求之前只需满足一个子先决条件,请选择模块中的需求选项卡。然后,在工具条的 选项卡的 部分中,点击添加需求 > 添加任何激活子级。该表将语义需求插入到最后一个需求的下方。如果在添加语义需求之前选择了需求的行索引,则表会将语义需求插入到所选行的下方。

您可以通过点击 添加假设 > 添加任何激活子级 在模块的假设选项卡中执行相同的任务。该表在最后一个假设行之后插入语义假设行。如果在添加语义行之前选择了假设的行索引,则表会将新的语义行插入到所选假设行的下方。

您可以在父级或单个子级中指定需求的持续时间。有关持续时间的更多信息,请参阅 使用持续时间列。如果您在子级中指定持续时间,则该持续时间仅适用于子级。如果为父级指定持续时间,则仅当满足语义时,模块才会检查持续时间。请参阅定义具有持续时间的正式需求

添加所有子活动行

要添加仅在满足每个子需求预条件时才执行的语义需求,请选择需求选项卡。然后,在 选项卡的 部分中,点击添加需求 > 添加所有激活子级。该表将语义需求插入到最后一个需求的下方。如果在添加语义需求之前选择了需求的行索引,则表会将语义需求插入到所选行的下方。

您可以通过点击 添加假设 > 添加所有激活子级 在模块的假设选项卡中执行相同的任务。该表在最后一个假设行之后插入语义假设行。如果在添加语义行之前选择了假设的行索引,则表会将新的语义行插入到所选假设行的下方。

您可以在父级或单个子级中指定需求的持续时间。有关持续时间的更多信息,请参阅 使用持续时间列。如果您在子级中指定持续时间,则该持续时间仅适用于子级。如果为父级指定持续时间,则仅当满足语义时,模块才会检查持续时间。请参阅定义具有持续时间的正式需求

添加默认需求

如果您想要定义当所有兄弟需求均不满足时发生的行为,请包含默认需求。点击“需求”选项卡。然后,点击同级需求的索引,并在工具条的 部分中点击添加需求 > 添加默认值

您可以在一个表中指定多个默认需求,或者为每组兄弟指定一个默认需求。例如,此表有两个需求,每个需求包含两个子需求和一个默认需求。仅当父预条件为真且兄弟预条件为假时,才会执行默认需求。

The requirements table shows two sets of child requirements, each with a default requirement. The default requirements do not affect the other children models.

您可以为默认行指定优先或互斥穷举子评估。有关更多信息,请参阅 在 Requirements Table 模块中指定子评估

在任意子活动和所有子活动行类型之间切换

对于每一种语义行,表格都会使无法填充的单元格变暗,并指示每个父级中子级使用的逻辑。该表说明了每个语义需求的样子。

This image shows an empty table with multiple line logic blank requirements of each kind.

如果要切换语义行类型,请指向父行的预条件单元格。在单元格底部出现了在任何激活子级所有激活子级之间切换的选项。

The switch option appears when you hover over the parent row precondition cell of a semantic row.

在示例模型中使用语义行

此示例使用具有语义需求的 Requirements Table 模块。该模型测试两个信号,如果模型行为满足语义需求的预条件,则调整输出。

打开模块。该模块包含两个语义需求和一个默认需求:

  • 如果输入 u1 满足第一个子项的先决条件并且输入 u2 满足第二个子项的先决条件,则该模块将输出 y 设置为 2

  • 否则,如果第二个需求的子项的第一个或第二个预条件为真,则该模块将 y 设置为 1

  • 如果不满足语义需求预条件,则模块执行默认需求的操作并将 y 设置为 0

运行模型并打开 Scope 模块以观测模块输出。

另请参阅

|

相关主题