A scalable approach to annotate arbitrary modelling languages
Refinement via annotations is a common practice in Model-Driven Engineering (MDE). For instance, in the case of our Model-Driven Performance Engineering (MDPE) architecture, we are required to annotate different types of process models with performance objectives, constraints and other information. This is used to enable domain experts, such as business analysts, to benefit from an automated performance prediction based decision support. Currently, the process models are annotated manually, element by element. This approach is not scalable, for instance, in the case where numerous model elements in large model repositories need to be annotated with the same information. Thus, a scalable annotation mechanism is needed which can be used for arbitrary modelling languages. In this paper we propose an architecture which uses a specialized modelling language to express annotations in an efficient way. This language is transformed to model transformation scripts in order to generate annotation models, which separate the annotated information from the target models and, therefore, supports scalable model annotations for modelling languages of choice.
Full Text: PDF