A modeling language or framework supports deep instantiation when it provides explicit support for the construction of classification hierarchies with three or more domain classification levels. Such support obviates the need for “cascading” techniques that are often needed when representing multilevel classification hierarchies using traditional two-level approaches. Deep instantiation also allows the different (meta)-levels to be represented in a concise and uniform way, avoiding the replication that occurs with cascading techniques. Deep instantiation is strongly related to the notion of a “clabject” – a modeling element that is a “class” (type) and an “object” (instance) at the same time. The instance facet of such a clabject is described by its type, whereas its type facet describes the properties of its instances. The instances of clabjects may have further instances of their own, etc., giving rise to a multilevel classification hierarchy with an...