Previous Table of Contents Next


8.5 Semantics of Class Instances

   One and only one M1-level Instance is a value whose type is described by an M2-level Class. An Instance has the following properties in the MOF computational model:

   Not all M2-level Classes can have corresponding M1-level Instances. In particular, Instances can never be created for Classes that have “isAbstract? set to true. In addition, if an M2-level Class has “isSingleton? set to true, only one Instance of the class can exist within an extent for the Class.

   The null instance of an M2-level Class has a conceptual identity that is distinct from other (non-null) instances. Null conceptually exists forever in all Class extents, but it does not have attribute values and cannot be related to other Instances (or itself) by an Association link.

   NOTE: While null is currently a valid Class instance, some technology mappings do not support it. Therefore it is inadvisable to rely on being able to use the null instance value in a technology neutral metamodel.