The conventional two-level classification scheme divides knowledge domains into classes (types, universals) and their instances (individuals, objects). However, there are several knowledge domains in which the strict two-level divide is inadequate (product classification, biological taxonomy, software engineering, to name a few). In these domains, classes are also subject to classification, and then metaclasses appear: those classes whose instances are themselves classes.
For a number of years now, this modeling phenomenon has been addressed under the banner of “Multi-Level Modeling”. We have been investigating the foundations of Multi-Level Modeling in the theory called MLT (Multi-Level Theory). MLT formally characterizes the nature of classification levels, and precisely defines the relations that may occur between elements of different classification levels. It also addresses the notion of power type underlying the power type pattern, which has been predominant in the modeling of multi-level domains.
A number of references to MLT can be found below.
A gentle introduction is available at:
The original paper describing MLT was published in the Software & Systems Modeling journal special issue on Multi-Level Modeling:
MLT was then generalized into MLT*, to account for broader multi-level phenomena not originally addressed for MLT. In particular MLT* includes the notion of “orderless” type, to be used for entities which cannot be categorized with strictly-stratified classification schemes:
Formal specifications for MLT(*) in Alloy can be found at: https://github.com/jpalmeida/mlt-ontology
An OWL ontology reflecting MLT rules can be found at: https://github.com/freddybrasileiro/mlt-owl
MLT* was used as a basis for the creation of the ML2 text-based multi-level modeling language.