Breadcrumbs

Entity Design Integrity Checks for v70 Schemas and Prior


The default design integrity check scripts provided by Vitech include the following checks. This is for schemas v70 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.


ChangeRequestPackage

  • The change request number must be unique.


Component

  • For each entity (an interface) that is joined to the unit, the interface or its child must be joined to at least one of the unit's children.

  • 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 (an interface) that is joined to the unit, for each parent component the interface or its parent must be joined to that parent component unless the interface is internal to that parent component (all joined components are children of the parent component).

  • 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).


Interface

  • For each entity (a component) that is joined to the unit, the component or its child must be joined to at least one of the unit's children.

  • For each entity (a component) that is joined to the unit, the component or its parent must be joined to all of the unit's parents.


Item

  • If the item is at the leaf-level, if it is output from a function allocated to one component and input to / triggers a function allocated to another component, it must be carried by a link between 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.


State

  • The children of a state may include no more than 1 starting state.