Example-driven meta-model development
Abstract:
The intensive use of models in model-driven engineering (MDE) raises the need to develop meta-models with different aims, such as the construction of textual and visual modelling languages and the specification of source and target ends of model-to-model transformations. While domain experts have the knowledge about the concepts of the domain, they usually lack the skills to build meta-models. Moreover, meta-models typically need to be tailored according to their future usage and specific implementation platform, which demands knowledge available only to engineers with great expertise in specific MDE platforms. These issues hinder a wider adoption of MDE both by domain experts and software engineers. In order to alleviate this situation, we propose an interactive, iterative approach to meta-model construction, enabling the specification of example model fragments by domain experts, with the possibility of using informal drawing tools like Dia or yED. These fragments can be annotated with hints about the intention or needs for certain elements. A meta-model is then automatically induced, which can be refactored in an interactive way, and then compiled into an implementation meta-model using profiles and patterns for different platforms and purposes. Our approach includes the use of a virtual assistant, which provides suggestions for improving the meta-model based on well-known refactorings, and a validation mode, enabling the validation of the meta-model by means of examples.
Año de publicación:
2015
Keywords:
- Interactive Meta-Modelling
- Meta-model induction
- Meta-Model Design Exploration
- Meta-Modelling
- Example-driven modelling
- Domain-specific modelling languages
- Meta-model validation
Fuente:

Tipo de documento:
Article
Estado:
Acceso restringido
Áreas de conocimiento:
- Ingeniería de software
- Simulación por computadora
Áreas temáticas:
- Programación informática, programas, datos, seguridad