Я пытаюсь найти четкое определение предмета.
У кого-нибудь есть хороший?
Документ по Обоснование метамоделирования на основе Powertype для основополагающих методологий разработки программного обеспечения дает определение двухъярусных конструкций, двухгранных конструкций, которые имеют свойства классов и объектов:
Эта идея двусторонней конструкции или clabject идеально подходит для наших нужд, так как он хорошо моделирует один концепция моделируется одновременно как класс и как объект. Скорее чем видеть класс WriteMethodCode и объект «WriteMethodCode» как отдельные объекты на уровне метода, мы можем смотреть на них как на один сущность, предмет, названный #WriteMethodCode. Таким образом, #WriteMethodCode будет отображать фасет класса (с именем и, возможно, некоторыми атрибуты и отношения) плюс фасет объекта (со значениями и ссылками). Фасет класса уровня метода как мы уже говорили, является подтипом класса метамодели (Задача в нашем примере), в то время как аспект объекта в том же объекте экземпляр другой метамодели класс.