Validation

Models (primarily, but not exclusively, UML class models) are images of a domain of knowledge. We talk about a "person" and its characteristics, and then model that as a Person in terms of properties and the relations it has. In doing so we associate all kinds of rules that concern that Person: rules on age, parent-child relations, address and so on.

At the same time we want to enforce rules on the modelling of that Person. This may concern naming conventions, the way associations are modelled, packaging rules, availability and nature of metadata, and so on. A model will, when it passses all such rules of validation, be a valid model, usable for the purposes the model was created for: publication, integration, schema generation and so on.

Imvertor allows any model to be validated this way. The rules of validation are leveraged: depending on the metamodel, usage, or any other criterion. Issues (errors, problems, hints) are communicated to the analist, that can iteratively improve the model until it is fit for deployment.