Hosted By:
SourceForge.net Logo
CM3CM3 - Validating your models
 

CM3

Metamodel-based, domain-specific adjustment of UML tools

Initial situation

The main problem in the field of domain-specific modeling is the missing support through the modeling tool. Even though UML offers possibilities for the extension of the UML profile by domain-specific information (stereotypes and tagged values), the support fom the modeling tools for the use of these extensions is only rudimental. Furthermore, the extensions are not suitable for storing structured information, like an attribute-mapping in the model, for example. The use of the extensions becomes extremely uncomfortable and error-prone, as there is no validation in the UML tool. Errors in the model, which might only become noticed in later project phases, would demand higher efforts for debugging. Apart from time-consuming coachings for new employees, the acceptance of the modeling language will be rather low.

Solution approach

Three pillars of CM3

The three pillars of CM3: Tool adaption – integration – validation

Tool adaption

The individual adaption of UML tools with comfortable dialogs for the input of tagged values facilitates the modeling, and helps to avoid errors even before input. Types and value ranges can already be validated during the input with different fields for it (e.g. list boxes, check boxes etc.). These adaptions are not programed via CM3, but automatically generated on the basis of metamodels. In addition, further dialogs for special applications can be generated (like an attribute-mapping for example), maintaining information at a certain place, which can be stored in the model with different model elements. Repeating modeling steps can be automated by “wizards“, where the required information can be requested. The necessary model elements will be generated automatically after the input of values. Due to context-sensitive helps, the domain-specific modeling is easily accessible even for beginners.

Example
Meta Model

Example: Comfortable dialog for the mapping of attributes and the related metamodel part

Integration

The integration of UML modeling tools, development environment and generator accelerates the development and makes interrelationships visible. The effects of modeling can be easily understood, and the generation process becomes transparent for the developer. The generation can be activated by the integration of modeling tool and generator, without leaving the tool. Error messages can be advised in the modeling tool and linked with the model elements.

Validation

The validation recognizes errors in the model already before generation and avoids extensive debugging. Simple validation rules, like the correct use of domain-specific language elements, or the validation of mandatory fields and types, derive automatically from the metamodel. Moreover, complex requirements can be validated. The definition of these requirements is based on Java.