在 Requirements Table 模块中指定行类型
您可以使用 Requirements Table模块来定义您的需求和假设的行类型。当设计模型时,您可能需要定义具有多个预条件的行。例如,您可能有一个仅需满足一个先决条件的需求,或者必须同时满足每个预条件。您可能还想定义当所有兄弟需求均未得到满足时某项需求的行为。Requirements Table模块允许您使用语义行构建这些行类型。
您可以使用 Requirements Table模块来创建这些行类型:
普通 - 具有所有可用属性的需求或假设行。
任何子活动 - 当其子预条件之一得到满足时执行的语义行。
所有子行均处于活动状态 - 当所有子行的预条件都得到满足时执行的语义行。
默认需求 - 当其同级行的预条件均不满足时执行的语义行。您只能为需求创建默认行。您不能创建默认假设行。
有关创建子行的更多信息,请参阅 在 Requirements Table 模块中建立层次结构。
添加普通行
当您向 Requirements Table模块添加需求或假设但未指定语义行时,则会创建普通行。
要添加普通需求行,请打开模块并选择模块中的需求选项卡。然后,在工具条的表 选项卡的行 部分中,点击添加需求。
要添加普通假设行,请选择假设选项卡。然后,在表 选项卡的行 部分中,点击添加假设。
当您在添加新需求或假设之前选择行索引时,新行将插入到与所选行相同的层次结构级别。
添加任何子活动行
要添加一个语义需求,其中在执行父需求之前只需满足一个子先决条件,请选择模块中的需求选项卡。然后,在工具条的表 选项卡的行 部分中,点击添加需求 > 添加任何激活子级。该表将语义需求插入到最后一个需求的下方。如果在添加语义需求之前选择了需求的行索引,则表会将语义需求插入到所选行的下方。
您可以通过点击 添加假设 > 添加任何激活子级 在模块的假设选项卡中执行相同的任务。该表在最后一个假设行之后插入语义假设行。如果在添加语义行之前选择了假设的行索引,则表会将新的语义行插入到所选假设行的下方。
您可以在父级或单个子级中指定需求的持续时间。有关持续时间的更多信息,请参阅 使用持续时间列。如果您在子级中指定持续时间,则该持续时间仅适用于子级。如果为父级指定持续时间,则仅当满足语义时,模块才会检查持续时间。请参阅定义具有持续时间的正式需求。
添加所有子活动行
要添加仅在满足每个子需求预条件时才执行的语义需求,请选择需求选项卡。然后,在表 选项卡的行 部分中,点击添加需求 > 添加所有激活子级。该表将语义需求插入到最后一个需求的下方。如果在添加语义需求之前选择了需求的行索引,则表会将语义需求插入到所选行的下方。
您可以通过点击 添加假设 > 添加所有激活子级 在模块的假设选项卡中执行相同的任务。该表在最后一个假设行之后插入语义假设行。如果在添加语义行之前选择了假设的行索引,则表会将新的语义行插入到所选假设行的下方。
您可以在父级或单个子级中指定需求的持续时间。有关持续时间的更多信息,请参阅 使用持续时间列。如果您在子级中指定持续时间,则该持续时间仅适用于子级。如果为父级指定持续时间,则仅当满足语义时,模块才会检查持续时间。请参阅定义具有持续时间的正式需求。
添加默认需求
如果您想要定义当所有兄弟需求均不满足时发生的行为,请包含默认需求。点击“需求”选项卡。然后,点击同级需求的索引,并在工具条的行 部分中点击添加需求 > 添加默认值。
您可以在一个表中指定多个默认需求,或者为每组兄弟指定一个默认需求。例如,此表有两个需求,每个需求包含两个子需求和一个默认需求。仅当父预条件为真且兄弟预条件为假时,才会执行默认需求。
您可以为默认行指定优先或互斥穷举子评估。有关更多信息,请参阅 在 Requirements Table 模块中指定子评估。
在任意子活动和所有子活动行类型之间切换
对于每一种语义行,表格都会使无法填充的单元格变暗,并指示每个父级中子级使用的逻辑。该表说明了每个语义需求的样子。
如果要切换语义行类型,请指向父行的预条件单元格。在单元格底部出现了在任何激活子级和 所有激活子级之间切换的选项。
在示例模型中使用语义行
此示例使用具有语义需求的 Requirements Table 模块。该模型测试两个信号,如果模型行为满足语义需求的预条件,则调整输出。
打开模块。该模块包含两个语义需求和一个默认需求:
如果输入
u1
满足第一个子项的先决条件并且输入u2
满足第二个子项的先决条件,则该模块将输出y
设置为2
。否则,如果第二个需求的子项的第一个或第二个预条件为真,则该模块将
y
设置为1
。如果不满足语义需求预条件,则模块执行默认需求的操作并将
y
设置为0
。
运行模型并打开 Scope 模块以观测模块输出。
另请参阅
AssumptionRow
| RequirementRow