The Powertype-based metamodeling paper for supporting software development methodologies defines clabjets, two faceted constructs that have the properties of classes and objects:
This idea of ββa two-sided construction or clabject is ideal for our needs, as it beautifully simulates one simulation at the same time as a class and as an object. Rather than looking at the WriteMethodCode class and the "WriteMethodCode" object as separate objects at the method level, we can consider them as a single object, clabject, called #WriteMethodCode. Thus, #WriteMethodCode will demonstrate a class facet (with a name and, possibly, some attributes and relationships) plus an object facet (with values ββand references). The aspect of the class level of the clabject method, as we explained earlier, is a subtype of the metamodel class (the task in our example), while the facet of the object in the same clabject is an instance of another metamodel class.
Boris PavloviΔ
source share