Abstract:
Modeling is a key element in reducing the complexity of the development and maintenance of software systems. Software engineering paradigms like model-driven engineering (MDE) consider models as the primary elements in the software construction process. In this setting, model transformations are essential for elevating models from documentation elements to first-class artifacts of the development. Model transformation includes model-to-text transformation to generate code from models, text-to-model transformations to parse textual representations to model representations, model extraction to derive higher-level models from legacy code, and model-to-model transformations to normalize, weave, optimize, simulate, and refactor models, as well as to translate between modeling languages.