There are five occasions where model validation is being performed inside the web modeler:
|while editing a model||The modeler only proposes valid options, links and values for those.|
|when saving a model||The modeler checks for duplicate names.|
|when opening the Module Validation View||Rules, constraints and duplicate name rules for all elements of a module’s dependency tree are checked.|
|when downloading a model||The same validation as in the Module Validation View is performed. When the model is found to be invalid, it is nonetheless downloaded, but the downloaded data contains information about the failed validation.|
|when saving a modified DSL||It’s only checked whether it is possible to delete a definition, rule or constraint.
It is not checked whether the addition or modification of a rule or constraint would lead to some parts of some models becoming invalid. Users should use the Module Validation View instead to find any errors.
Validation by Generators¶
The execution of code generators for a given model can find additional errors in models. Such errors are not absolute errors but errors in the context of a certain generator. There might for instance be a generator that can only handle one element of type A. Such a generator will report an error when more than one element of type A is contained in the model. The web modeler provides a means to execute generators from within the modeler.