The Model-Driven Engineering considers models as the main assets in the software development process. Models collect the information that describes the information system at a high level of abstraction, which permits the development of the application in an automated way following generative programming techniques. Traditionally, the tasks that are involved in this process (such as model integration or model transformation) have usually been solved in an ad-hoc manner for a specific context or metamodel: relational databases, XML schemas, ontologies, aspect-oriented programming, etc. Nowadays, Model Management is a new emergent discipline that pursues an abstract reusable solution for problems of this kind. Model management was presented by Bernstein as an approach to deal with software artifacts by means of generic operators that do not depend on metamodels by working on mappings between models. Operators of this kind deal with models as first-class citizens, increasing the level of abstraction of the solution by avoiding working at a programming level and improving the reusability of the solution.
Based on our experience in formal model transformation and data migration, we are working on the application of the Model Management trend to the context of the Model-Driven Engineering, regarding the guidelines that are specified in the Model-Driven Architecture initiative. We are developing a framework, called MOMENT (MOdel manageMENT), which is embedded into the Eclipse platform and that provides a set of generic operators to deal with models through the Eclipse Modeling Framework (EMF).
The underlying formalism of our model management approach is the algebraic language Maude. In this algebraic setting, we have specified a set of generic operators to manipulate models: model integration (operator Merge), model difference (operator Diff), model transformation (operator ModelGen), etc. Our framework also provides support for traceability in order to trace the specific transformations that have been applied to a set of models. We have developed a set of bridges between the technical spaces EMF and Maude by using generative techniques. These technical bridges provide interoperability between an efficient robust environment for algebraic specifications (Maude) and a well-known industrial modeling tool (EMF). On the one hand, the algebraic specifications formalism provides some desired features: abstraction, modularization, subtyping, semantic validity, genericity by means of parameterization, etc. On the other hand, visual modeling tools provide the interface that is needed to provide usability and industrial application to our model management approach.
Although we are developing our prototype using a specific modeling technology, our approach is perfectly applicable to other metamodeling tools, such as the Domain Specific Languages tools for Visual Studio, Generic Modeling Environment, etc.
MOMENT is the prototype that reflects the research work that we are developing in Valencia. |