Understanding MDE Projects: Megamodels to the Rescue for Architecture Recovery

To appear in SOSYM

Juri Di Rocco, Davide Di Ruscio, Johannes Härtel, Ludovico Iovino, Ralf Lämmel, and Alfonso Pierantonio

Abstract Conventional wisdom on Model-Driven Engineering (MDE) suggests that this software discipline is key to achieve superior automation, whether it be refactoring, simulation, or code generation. However, the diversity of em- ployed languages and technologies blurs the picture making it difficult to ana- lyze existing MDE-based projects in order to retrieve architectural information to foster a better understanding about the rationale behind them. Thus, the ability of carefully analyzing projects to identify their components and their in- terrelationships is key to obtain representations at a higher level of abstraction that can support reuse processes. In this paper, a megamodel-based approach to the reverse engineering of model-driven projects is proposed in order to leverage the representation of the involved technologies and assets. An auto- mated recovery technique implemented by the MDEprofiler infrastructure is presented and illustrated by analyzing community projects in terms of basic MDE artifacts (such as models and metamodels) and the usage of common technologies such as model transformations and code generators.

Megamodeling, Reverse Engineering, Architecture Recovery, MDE, Code Generator, Model Transformation

Downloads and links

Bibtex entry
  author    = {Juri Di Rocco and Davide Di Ruscio and Johannes H{\"a}rtel and Ludovico
  Iovino and Ralf L{\"a}mmel and Alfonso Pierantonio},
  title     = "Understanding MDE Projects: Megamodels to the Rescue for Architecture Recovery",
  journal = "SOSYM",
  year      = {2019},