Preserving Multi-level Semantics in Conventional Two-Level Modeling Techniques - Almeida, Joao Paulo A.; Musso, Fernando A.; Carvalho, Victorio A.; Fonseca, Claudenir M.; Guizzardi, Giancarlo (2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), 2019)
Conceptual models are often built with techniques that propose a strict stratification of entities into two classification levels: a level of types (or classes) and a level of instances. Multi-level conceptual modeling extends the conventional two-level scheme by admitting that types can be instances of other types, giving rise to multiple levels of classification (individuals, classes, metaclasses, metametaclasses, and so on). As a result, multi-level models capture not only invariants about individuals, but also invariants about types themselves, which become regular elements of the domain of inquiry (first-class citizens). Despite the benefits of the multi-level approach, the vast majority of tools for conceptual modeling are still confined to the two-level scheme, and hence cannot accommodate multi-level entities. This paper proposes a transformation of multi-level to two-level models that preserves the semantics of the original multi-level model. We employ the systematic reification of the instance facet of a class and its linking to the type facet. The feasibility of the approach is demonstrated by a transformation of ML2 (multi-level) models to Alloy (two-level) specifications.