{'fraction_non_alphanumeric': 0.02497687326549491, 'fraction_numerical': 0.0, 'mean_word_length': 5.044692737430168, '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}}
Metamodel Recovery from Multi-tiered Domains Using Extended MARS

With the rapid development of model-driven engineering (MDE), domain-specific modeling has become a widely used software development technique. In MDE, metamodels represent a schema definition of the syntax and static semantics to which an instance model conforms (i.e., a model conforms to its metamodel in a similar manner to how a program conforms to a grammar). However, in order to address new feature requests of the domain and language, the metamodel often undergoes frequent evolution that may result in the inability of users to load and view previous model instances. MARS is a metamodel recovery system to address the problems of metamodel evolution. This paper presents our extensions to MARS to infer models for multi-tiered domains. A new XSLT translator has been developed to generate a domain-specific language (DSL) called MRL (model representation language) for the XML representation of domain instances. The metamodel inference engine has been revised to translate the MRL back into a metamodel.