Design Decisions Shouldn't Live in Your Transformation Code—Here's the Fix
For MDE developers: four artifact models decouple transformation logic from design choices
In Model Driven Engineering (MDE), model transformations automate the conversion of source models into target models or code. However, design decisions—how source elements map to target artifacts—are typically hard-coded into transformation rules, limiting flexibility, reusability, and traceability. Dejan Stojimirovic (University of Belgrade) and Sinisa Neskovic (IT University of Copenhagen) propose a novel approach that explicitly models and manages these decisions outside the transformation code. Their framework introduces three central mechanisms: a decision model capturing all possible design choices independent of the source language, a binding model linking those choices to specific metamodel concepts for reuse across languages, and a configuration model recording which option was selected for each source element (with defaults auto-applied). During execution, variability points in transformation rules are resolved dynamically, while a trace model logs which rules and options produced each target element.
The authors establish a formal mathematical framework that defines variability-based transformations and proves key properties such as consistency and completeness. They realize these concepts in a practical architecture of four interconnected artifact models and demonstrate feasibility by extending an existing embedded DSL for MDE with variability support. A complete ER-to-Relational transformation example illustrates the approach in action. This work provides a systematic way to externalize, reuse, and trace design decisions, promising significant improvements in maintainability and transparency for MDE practitioners.
- Four artifact models (decision, binding, configuration, trace) separate design decisions from transformation code, enabling reuse across similar source languages.
- A formal mathematical framework proves key properties of variability-based transformations, ensuring consistency and completeness.
- Demonstrated feasibility with an ER-to-Relational transformation; the approach extends an existing embedded DSL for model-driven engineering.
Why It Matters
For MDE teams, this decoupling makes transformations reusable, traceable, and easier to maintain across projects.