Aspects of Model-Driven Engineering (MDE)

MDE was defined as a set of well defined practices based on tools that use at the same time metamodeling and model transformations, to achieve some automated goals in the production, maintenance or operation of software intensive systems.

Concepts

MDE lies on the following concepts:

  • Models, i. e. system abstractions, are first-class entities;
  • Metamodels, i. e. the set of concepts and relations used for modeling, define the abstract languages in which models are captured;
  • Models are conform to metamodels;
  • Models may be transformed into other models

#

Methods

Metamodels are the cornerstones in MDE

  • metamodels are made explicit (i.e., the internal schema of each system), and aligned by matching related concepts,
  • model-to-model transformations are performed to exploit matching information: a transformation (Mt) builds a target model (Mb) from a source model (Ma). Model transformations are transformation models: each model conforms to a metamodel; transformation is a model (Mt) conforming to a metamodel (MMt) (see figure)

#

Community and Tools: the eclipse modeling project

The Eclipse Modeling Project is focusing on the evolution and promotion of model-based development technologies within the Eclipse Foundation, which is a non-profit initiative launched on January 2004 to promote the adoption of Eclipse software development kit (SDK) technology and to develop an open source, customized development environment (IDE) community.
With this respect, the Eclipse Modeling Project concerns projects of broad cross-domain utility; main efforts focus on abstract and concrete syntax, model-transformation and development tools.