Verify that the model A has model has not been changed

Submitted by jaderberg on Friday, 22 August, 2014 - 14:56
Issue ID
157
Component
Tool
Category
Feature request
Priority
Normal
Assigned
Status
Ready to commit
Source
ES5
Description

 During the TG meeting in Firence a feature to verify that nothing has been changed in level A part of the model was requested. 
One solution would be to store how a version of a specific version shoudl look like. When loading a model, and the same version, check will be made to ensure that nothing has been changed in the model.

Found Version
{"changeLogs":[{"date":1528373748564,"componentOLD":"- Select a value -","component":"Tool","categoryOLD":"- Select a value -","category":"Feature request","priorityOLD":"- None -","priority":"Normal","assignedOLD":"","assigned":"jaderberg (22)","statusOLD":"- None -","status":"Ready to commit"},{"date":1537266883801}]}

Posted by jaderberg on February 23, 2023 Permalink

I have now created a solution, currently only for version 3, that verifies compliance against level A.
With the tool there is a file containing how the base model look like. This file is created by loading a version of the model containing no extension and store a selection using all elements. The file should be named LevelAModelX.sbm and placed in the same folder as the tool. This is done once per major release.
When the tool checks the model, it will look for a file named above where X is replaced with the baseModel version from the model.
It then checks that no package, class,relation, enumeration, enumerationLiteral, dataType has changed, including all tagged values, in the model.
It checks that no package, class,relation, enumeration, enumerationLiteral, dataType has been removed.
It checks that no new attributes have been added to existing classes.
It checks that no new relations have been added to existing classes.
It checks that no new classes have been added that are not "under" an extension.

If difference on above checks are found there is a warning in the Log. In the log it will say if the model is compliant with Level or not.

It would be easy to release this in a 2.x version of the tool.