Specify Child Evaluation in Requirements Table Blocks
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
RequirementRow
| RequirementsTable