Main Content

Specify Child Evaluation in Requirements Table Blocks

Since R2023b

You can specify how the Requirements Table evaluates requirements at the same level by specifying the child evaluation. The child evaluation determines whether the block evaluates requirements independently, evaluates them as exclusive exhaustive requirements or evaluates them in a prioritized order. You can set the child evaluation on the table to define how the first-level hierarchy requirements evaluate, or set the child evaluation on a parent requirement to define how its child requirements evaluate. For more information on requirement hierarchy, see Establish Hierarchy in Requirements Table Blocks.

You can use the Requirements Table block to specify these child evaluations for a table or a requirement:

  • Independent

  • Exclusive Exhaustive

  • Prioritized

Independent Requirements

When the block evaluates a group of independent sibling requirements, the block evaluates the requirements starting at the first requirement, and works downward. By default, the child evaluation is independent.

Requirements that evaluate independently do not display an icon in the row index cell.

Exclusive Exhaustive Requirements

When the block evaluates exclusive exhaustive requirements, the block checks that the requirements are complete and non-overlapping. When you run the simulation, the block verifies that exactly one exclusive exhaustive sibling requirement is active at each time step. If no requirement or more than one requirement is active at any time step, the block returns an error during simulation or an issue during analysis. See Analyze Requirements Table Blocks for Modeling Problems and Detect Exclusivity Issues in the Requirements Table Block.

The exclusivity icon in the row index cell indicates and exclusive exhaustive requirement. For more information on exclusive exhaustive requirements, see Create Exclusive Exhaustive Requirements.

You cannot specify an exclusive exhaustive evaluation for the child requirements of an All Children Active or Any Child Active semantic row. When you select one of these rows, the Evaluation drop-down is dimmed.

Prioritized Requirements

When the block evaluates prioritized requirements, the block evaluates the group of requirements starting at the first requirement and works downward. When the block reaches the first prioritized requirement with a precondition that evaluates to true, the block checks the postcondition for that requirement and does not check the remaining requirements.

The prioritized icon in the row index cell indicates a prioritized requirement. For more information on prioritized requirements, see Create Prioritized Requirements.

You cannot specify a prioritized evaluation for the child requirements of an All Children Active or Any Child Active semantic row. When you select one of these rows, the Evaluation drop-down is dimmed.

Programmatically Specify the Child Evaluation

To specify how the direct children of a parent requirement are evaluated, use the ChildEvaluation property of the RequirementRow object. To specify how top-level requirements in a Requirements Table block are evaluated, use the ChildEvaluation property of the RequirementsTable object. You can set the ChildEvaluation property to 'independent', 'prioritized', or 'exclusiveExhaustive'. See Create Exclusive Exhaustive Child Requirements and Create Requirements Table with Prioritized First-Level Hierarchy Requirements.

See Also

|

Related Topics