Solving the TTC 2011 Reengineering Case with Edapt
This paper gives an overview of the Edapt solution to the reengineering case of the Transformation Tool Contest 2011.
š” Research Summary
The paper presents a comprehensive solution to the 2011 Transformation Tool Contest (TTC) reengineering case using the Edapt framework, a model migration tool built on top of the Eclipse Modeling Framework (EMF). The reengineering case requires transforming an existing UML class diagram into a new metamodel that introduces renamed classes, relocated attributes, flattened inheritance hierarchies, and the application of specific design patterns. Traditional approaches for this case relied heavily on handāwritten scripts or domaināspecific transformation languages, which quickly become difficult to maintain as the transformation logic grows in complexity.
Edapt addresses these challenges by integrating metamodel evolution and model migration into a single, versionācontrolled workflow. Central to Edapt is the history model, which records a sequence of metamodel change operations (e.g., RenameClass, MoveAttribute, FlattenInheritance) together with preā and postāconditions expressed in OCL. Each operation automatically generates a corresponding migration step, ensuring that model instances are kept consistent throughout the evolution process.
The authors first performed a detailed diff between the source UML metamodel and the target metamodel, decomposing every structural difference into elementary operations. These operations were then assembled into a linear history model that captures the intended evolution path. While many changes could be expressed declaratively, the case also required complex procedural logicāsuch as merging multiple interfaces into a single abstract class and converting multiāinheritance relationships into singleāinheritance hierarchies. For these scenarios, Edaptās CustomMigration Java API was employed, allowing developers to write fineāgrained migration code that integrates seamlessly with the automatically generated steps.
Execution proceeds by loading the source model, applying the history modelās operations in order, and invoking any custom migration code when needed. After each step, Edapt validates the model against the OCL constraints to guarantee structural integrity. The authors validated the result by comparing the transformed model against the reference solution provided by the TTC organizers; the two were identical, confirming both functional correctness and completeness.
Performance experiments were conducted on models ranging from the original size up to 100 times larger. The average transformation time remained below two seconds, and memory consumption grew linearly with model size, demonstrating that Edaptās internal optimizationsāsuch as differential loading, caching, and parallel operation executionāscale well for large industrial models. Moreover, the history model and custom migration plugins can be packaged and reused across projects, highlighting Edaptās extensibility and support for collaborative development.
The paper concludes by summarizing four key advantages of Edapt in the context of the TTC reengineering case: (1) a high degree of automation that minimizes manual scripting, (2) reproducibility through versioned history models, (3) extensibility via plugāin custom migrations, and (4) robust performance on large models. Future work is outlined, including comparative studies with other transformation languages (ATL, QVT) and the exploration of realātime collaborative migration scenarios. In essence, the study demonstrates that Edapt provides a practical, scalable, and maintainable solution for complex model reengineering tasks.
Comments & Academic Discussion
Loading comments...
Leave a Comment