VSEE provides a powerful framework for the implementation of consistency checks. These checks can either be deployed on the server side in the SSRDB or client side in the SSDE. An example of a consistency check is the verification of trace links between requirements and model elements:
This check is performed in both directions, any violations are flagged by means of model annotations:
Multiple checks (e.g. cross model-versions) which are started on the SSRDB are additionally summarized by reports.
Checks can be implemented by 3 different means on 3 different levels:
- Scripted: The above mentioned requirements trace check is implemented in Java by leveraging the EMV Validation Framework and the common VSEE datacore
- Metamodel Constraints: It is also possible to add OCL statements to the VSEE metamodel, these constraints are imported into the tooling and can be evaluated with a dedicated metamodel constraints check script (e.g. to enforce naming conventions etc.)
- Model Constraints: Constraints can also be added on the model instance level. This is particularly useful when checking on a property level, e.g. check if the mass of a subsystem actually is within the limits of a MaxMass property of a traced requirement.