{'fraction_non_alphanumeric': 0.0206286836935167, 'fraction_numerical': 0.0, 'mean_word_length': 5.532051282051282, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
COPE : Coupled Evolution of Metamodels and Models for the Eclipse Modeling Framework

In consequence of changing requirements and technological progress, metamodels are subject to change. Manually migrating models to a new version of their corresponding metamodel is costly, tedious and error-prone. The coupled evolution of a metamodel and its models is a sequence of metamodel changes and their corresponding model migrations. These coupled changes are either metamodelspecific or metamodel-independent. Metamodel-independent changes can be reused to evolve different metamodels and their models, thus reducing migration effort. However, tool support is necessary in order to exploit these reuse opportunities. We propose a language based on the Eclipse Modeling Framework that allows for decomposition of a migration into manageable, modular coupled changes. It provides a reuse mechanism for metamodel-independent changes, but is at the same time expressive enough to cater for complex, metamodel-specific changes.