{'fraction_non_alphanumeric': 0.01581395348837209, 'fraction_numerical': 0.0018604651162790699, 'mean_word_length': 5.292397660818714, '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}}
MML and the Metamodel Architecture

The Meta-Modelling Language is a static object-oriented modelling language whose focus is the declarative definition of languages. It aims to enable the UML metamodel to be precisely defined, and to enable UML to evolve into a family of languages. This paper argues that although MML takes a metamodelling approach to language definition, it cannot be described as strict metamodelling. This has significant implications on the nature of the metamodel architecture it supports, yet without contravening the OMG’s requirements for the UML 2.0 infrastructure. In particular it supports a rich generic nested architecture as opposed to the linear architecture that strict metamodelling imposes. In this nested architecture, the transformation between the representation of any model at one metalevel and its representation in the metalevel below can be described by an information preserving one-to-one mapping. This mapping provides the basis for a powerful area of functionality that any potential metamodelling tool should look to exploit.