The MEMO meta modelling language (MML) and language architecture - Ulrich Frank (Universität Duisburg-Essen, Institut für Informatik und Wirtschaftsinformatik (ICB), 2008)
The family of languages that builds the foundation of the MEMO method is intended to feature a high degree of inter-language integration. For this purpose, the languages need to share common concepts. In order to define concepts that are semantically equivalent, it is recommendable to use the same meta modelling language for specifying the MEMO modelling languages. The previous version of the meta modelling language used for this purpose needed a revision. At the same time, there was need to account for alternative approaches to specifying modelling languages, especially those offered by the OMG or the Eclipse foundation. This report starts with an analysis of requirements that should be accounted for by a meta modelling language. Subsequently, the UML infrastructure library and meta object facility (MOF) are evaluated against these requirements. In addition to that, the report presents an evaluation of the Ecore model, which serves to represent meta models within the Eclipse Graphical Modeling Framework (GMF). The evaluation of both approaches shows that none of them is satisfactory as a meta modelling language for enterprise modelling. Then, the new version of the MEMO meta modelling language (MML) is presented. The language specification consists of a meta meta model that specifies that semantics and abstract syntax and a corresponding graphical notation (concrete syntax). The new version features a concept called intrinsic features that allows for differentiating between features that apply to types and those that apply to instances. It also includes a modified graphical notation that supports a clear distinction of meta models from models on other levels of abstraction. Finally, the report presents the outline of a tool that supports the creation and editing of MEMO meta models as well as their transformation into representations which can be used in the Eclipse modelling framework.
Keywords: 650; Metamodell; Softwareentwicklung; Datenmodell; Programmiersprache