Abstract
Conceptual models are often built with techniques which propose a strict stratification of entities into two classification levels: a level of types (or classes) and a level of instances. Despite that, there are several situations in which domains of inquiry transcend the conventional two-level stratification and domain experts use types of types (or categories of categories) to articulate their conceptualizations. In these settings, types are instances of other types and multiple levels of classification can be identified (individuals, classes, metaclasses, metametaclasses, and so on), characterizing what is now called "multi-level modeling". Over the last years, we have worked out a foundational theory for multi-level modeling (dubbed MLT), whose aim is to clarify the basic elements of multi-level conceptual modeling. This paper describes the development of this theory, and reports on some of its applications, namely: the detection of (thousands of) occurrences of anti-patterns in the Wikidata knowledge base and the revision of the powertype pattern in UML.