Increasingly, models are starting to become commonplace and Model Driven Engineering (MDE) is gaining acceptance in many domains including automotive, aerospace, railways, telecommunications, business applications, and financial organizations.
Over the last years, several modeling platforms have been developed to simplify and automate many steps of MDE processes. However, still several challenges have to be solved in order to enable a wider adoption of MDE technologies. One of the most important impediments in adopting MDE tools is related to the reduced flexibility of existing modeling platforms that do not permit to relax or enforce their rigidity depending on the stages of the applied development process. For instance, EMF does not permit to enter models which are not conforming to a metamodel: on one hand it allows only valid models to be defined, on the other hand it makes the corresponding pragmatics more difficult. In this respect, there is a wide range of equally useful artefacts between the following extremes:
- diagrams informally sketched on paper with a pencil
- models entered in a given format into a generic modeling platform, e.g., Ecore/EMF
Flexibility is also needed to enable wider possibilities for reusing MDE artefacts, like model transformations and code generators. In particular, to deal with the growing complexity of software systems, it is necessary to enforce consistent reuse and leverage the interconnection of the modeling artifacts that are produced and consumed during the different phases of the applied development processes. In such contexts, modularization mechanisms have to be devised in order to enable the development of complex modeling artifacts from smaller ones, which are easier to process and reuse.