Answers are grounded in this paper and cite their sources.
Metamodels are central artefacts in model-driven engineering and continuously evolve in response to changing requirements, technologies, and domain concepts. Such evolutions directly impact all related models, which must be co-evolved accordingly. Therefore, co-evolution depends on correctly recorded changes at the meta level since even small inaccuracies can affect the models that will be evolved. In practice, however, the history of a metamodel is often incomplete, imprecise, or lost, as metamodel evolution is usually tracked using text-based version control systems that only store the textual difference instead of the semantic changes. In this paper, we propose a novel approach that allows engineers to reconstruct the history of metamodels with the help of . Each represents alternative sequences of possible changes, allowing engineers to explore and assess different interpretations of metamodel evolution. To assist engineers in navigating the potentially large search space, we introduce a ranking and recommendation mechanism that prioritises the most likely changes for each change type. We evaluate our approach on 18 metamodels from different domains and complexities, applying up to 351 changes per metamodel. The results demonstrate that our approach correctly reconstructs and recommends all applied changes. Additionally, in our experiments, the recommendation mechanism significantly reduces the number of candidate changes presented to engineers. Furthermore, the performance results show that, in the worst-case scenario, our approach required 36.82 s to detect and generate a , resulting in 60,618 alternative sequences of changes. In addition, even in the worst-case scenarios, the recommendation mechanism consistently ranked the correct change within the top three recommendations per change type.
No takes yet. Share an insight, caveat, or question.
Homolka et al. (2026) studied this question.
Synapse has enriched 10 related papers. Consider them for comparative context: