The default design integrity check scripts provided by Vitech include the following checks. These checks are for the current version of the schema. To see previous schema version checks, see Entity Design Integrity Checks v70 and prior or Entity Design Integrity Checks v2020 and prior.
|
NOTE: |
Design integrity checks inherently involve more than one entity (and often more than one entity class). Design integrity check failures may be reported on both sides or may only be reported on one side. Ultimately, the objective is complete model and project consistency, not consistency on a single entity or class. |
All Classes
-
Design and observed values of each parameter are either less than or greater than the threshold value depending on if the objective value is above or below the threshold value.
-
If the objective and threshold values of each parameter are equal then the design value must be equal to that value.
ChangeRequestPackageThe change request number must be unique.
Component
-
For each entity (a link) that 'connects to' the unit, the link or its child must 'connect to' at least one of the unit's children.
-
For each entity (a link) that 'connects to' the unit, for each parent component the link or its parent must be 'connected to' that parent component unless the link is internal to that parent component (all connected components are children of the parent component).
ConstraintDefinition
-
All independent variables must be assigned a value from either an expression or a parameter.
-
All dependent variables must be assigned in an expression.
-
All dependent variables must be assigned to a parameter or an independent variable.
-
All expressions must be valid.
-
All expressions must contain a valid dependent variable on the left-hand side of the equation.
-
For each parameter that is from an entity that is a target of the 'constrained by' relation, the parameter type is checked to ensure it is an integer or float.
-
For each parameter that is from an entity that is a target of the 'uses parameter from' relation, the type is checked to ensure it is an integer or float.
-
The mappings relationship attribute is checked to ensure that the parameters exist in the project.
Function
-
For each entity (an item) that is input to the function, the item or its child must be input to at least one of the function's children.
-
For each entity (an item) that triggers the function, the item or its child must trigger at least one of the function's children.
-
For each entity (an item) that is output from the function, the item or its child must be output from at least one of the function's children.
-
For each entity (a resource) that is captured by the function, the resource must be captured by at least one of the function's children.
-
For each entity (a resource) that is consumed by the function, the resource must be consumed by at least one of the function's children.
-
For each entity (a resource) that is produced by the function, the resource must be produced by at least one of the function's children.
-
For each entity (a component) that the function is allocated to, the children of this function must be allocated to that component or its descendants.
-
Function allocation must be unique. While instantiations of a function can be allocated to different functions, a given function should be allocated uniquely.
-
For each entity (an item) that is input to the function, for each parent function the item or its parent must be input to that parent function unless the item is internal to that parent function (all source functions for the item are children of the parent function).
-
For each entity (an item) that 'triggers' the function, for each parent function the item or its parent must trigger that parent function unless the item is internal to that parent function (all source functions for the item are children of the parent function).
-
For each entity (an item) that is 'output from' the function, for each parent function the item or its parent must be 'output from' that parent function unless the item is internal to that parent function (all sink functions for the item are children of the parent function).
Item
-
If the item is at the leaf-level and is 'output from' a function that is 'allocated to' one component and 'input to' or 'triggers' a function that is 'allocated to' a different component, it must be 'transferred by' a link which 'connects to' those components.
Link
-
For each entity that connects to the link, the entity or its child must be 'connected to' at least one of the link's children.
-
For each entity that connects to the link, the entity or its parent must be connected to all of the link's parents unless the link is internal.
-
For each entity that has a non-nil type, the associated ports must be either nil or equal to the Link type.
Needline
-
For each entity that connects to the link, the entity or its child must be 'connected to' at least one of the link's children.
-
For each entity that connects to the link, the entity or its parent must be connected to all of the link's parents unless the link is internal.
OperationalActivity
-
For each entity (an operational item) that is input to the operational activity, the operational item or its child must be input to at least one of the operational activity's children.
-
For each entity (an operational item) that triggers the operational activity, the operational item or its child must trigger at least one of the operational activitys children.
-
For each entity (an operational item) that is output from the operational activity, the operational item or its child must be output from at least one of the operational activitys children.
-
For each entity (a resource) that is captured by the operational activity, the resource must be captured by at least one of the operational activitys children.
-
For each entity (a resource) that is consumed by the operational activity, the resource must be consumed by at least one of the operational activitys children.
-
For each entity (a resource) that is produced by the operational activity, the resource must be produced by at least one of the operational activitys children.
-
For each entity (a performer) that the operational activity is allocated to, the children of this operational activity must be allocated to that performer or its descendants.
-
Operational activity allocation must be unique. While instantiations of an operational activity can be allocated to different operational activitys, a given operational activity should be allocated uniquely.
-
For each entity (an operational item) that is input to the operational activity, for each parent operational activity the operational item or its parent must be input to that parent operational activity unless the operational item is internal to that parent operational activity (all source operational activity for the operational item are children of the parent operational activity).
-
For each entity (an operational item) that triggers the operational activity, for each parent operational activity the operational item or its parent must trigger that parent operational activity unless the operational item is internal to that parent operational activity (all source operational activities for the operational item are children of the parent operational activity).
-
For each entity (an operational item) that is output from the operational activity, for each parent operational activity the operational item or its parent must be output from that parent operational activity unless the operational item is internal to that parent operational activity (all sink operational activities for the operational item are children of the parent operational activity).
OperationalItem
-
If the operational item is at the leaf-level and is 'output from' a operational activity that is 'allocated to' one performer and 'input to' or 'triggers' a operational activity that is 'allocated to' a different performer, it must be 'transferred by' a needline which 'connects to' those performers.
Performer
-
For each entity (a needline) that 'connects to' the unit, the needline or its child must 'connect to' at least one of the unit's children.
-
For each entity (a needline) that 'connects to' the unit, for each parent performer the needline or its parent must be 'connected to' that parent performer unless the needline is internal to that parent performer (all connected performers are children of the parent performer).
State
-
The children of a state may include no more than one starting state.
VerificationActivity
-
For each entity (a test item) that is input to the verification activity, the test item or its child must be input to at least one of the verification activitys children.
-
For each entity (a test item) that triggers the verification activity, the test item or its child must trigger at least one of the verification activitys children.
-
For each entity (a test item) that is output from the verification activity, the test item or its child must be output from at least one of the verification activitys children.
-
For each entity (a resource) that is captured by the verification activity, the resource must be captured by at least one of the verification activitys children.
-
For each entity (a resource) that is consumed by the verification activity, the resource must be consumed by at least one of the verification activitys children.
-
For each entity (a resource) that is produced by the verification activity, the resource must be produced by at least one of the verification activitys children.
-
For each entity (a test item) that is input to the verification activity, for each parent verification activity the test item or its parent must be input to that parent verification activity unless the test item is internal to that parent verification activity (all source verification activity for the test item are children of the parent verification activity).
-
For each entity (a test item) that triggers the verification activity, for each parent verification activity the test item or its parent must trigger that parent verification activity unless the test item is internal to that parent verification activity (all source verification activitys for the test item are children of the parent verification activity).
-
For each entity (a test item) that is output from the verification activity, for each parent verification activity the test item or its parent must be output from that parent verification activity unless the test item is internal to that parent verification activity (all sink verification activitys for the test item are children of the parent verification activity).