The Flexible Multi-Level Modelling and Execution Language (FMMLx) : Version 2.0: Analysis of Requirements and Technical Terminology
The Flexible Meta Modelling and Execution Language (FMMLx ) is a multi-level language that allows to create executable models. It is implemented in the integrated meta-programming and meta-modelling environment Xmodeler. The Xmodeler is based on XCore, a recursive, reflexive meta-model that allows the definition and implementation of classes on arbitrary classification levels. However, XCore does not allow to assign classification levels to classes. The FMMLx extends XCore with explicit classification levels and intrinsic features that allow for deferred instantiation. Like XCore, the FMMLx features a common representation of models and code. As a consequence, models can be executed without the need to transform them to code. The use of the FMMLx during the last five years was promising, since it allows to clearly promote reuse and flexibility of modelling languages and software systems. Nevertheless, some of the assumptions its design was based on had to be challenged. In addition, the use of the language was compromised by various limitations. Against this background, it was decided to develop a substantially revised version, the FMMLx 2.0. This report presents an analysis of requirements that form the foundation for the subsequent specification of the new version. The report also presents a proposal for a technical terminology of multi-level modelling.