Solving the TTC 2011 Reengineering Case with Edapt

Solving the TTC 2011 Reengineering Case with Edapt
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

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