Abstract vs Concrete Clabjects in Dual Deep Instantiation

B. Neumayr, M. Schrefl
Neum14b (2014)
Colin Atkinson, Georg Grossmann, Thomas K├╝hne, Juan de Lara (Eds.): Proceedings of the 1st International Workshop on Multi-Level Modelling (MULTI 2014), September 28th, 2014, Valencia, Spain, CEUR Workshop Proceedings, pp.3-12, 2014.

Abstract (English)

Deep Instantiation allows for a compact representation of models with multiple instantiation levels where clabjects combine object and class facets and allow to characterize the schema of model elements several instantiation levels below. Clabjects with common properties may be generalized to superclabjects. In order to clarify the exact nature of superclabjects, Dual Deep Instantiation, a variation of Deep Instantiation, distinguishes between abstract and concrete clabjects and demands that superclabjects are abstract. An abstract clabject combines the notion of abstract class, i.e., it may not be instantiated by concrete objects, and of abstract object, i.e., is does not represent a single concrete object but properties common to a set of concrete objects. This paper clarifies the distinction between abstract and concrete clabjects and discusses the role of concrete clabjects for mandatory constraints at multiple levels and for coping with dual inheritance introduced with the combination of generalization and deep instantiation. The reflections in this paper are formalized based on a simplified form of dual deep instantiation but should be relevant to deep characterization in general.