9. Noteworthy Objects

OODBTG Reference Model

Different object models may distinguish or provide special support forthe noteworthy objects identified in the following subsections. The listis not exhaustive nor are the objects with the characteristics identifiedhere necessarily mutually exclusive. Some may not be treated as objectsin all object models.

OMG Core Object Model

4.2.1 Basic Concepts

State is required in an object system because it captures the informationneeded to affect operations. For example, the operation marry takestwo person objects as input arguments and produces side effectson these two objects. State captures these side effects, and, presumably,a subsequent application of the spouse function to either objectwill now yield a different result from what it did before. In the CoreObject Model, operations are used to model the external interface to state.Attributes and relationships, which can be used to model the externallyvisible declarations of state more succinctly, are currently defined inthe OMG OM Components Guide.

Editor's note: the OMG OM Components Guide exists in draft form only.


CORBA does not define specific objects, however. CORBA does define pseudoobjects. Pseudo objects have interfaces just like ordinary CORBA objectsbut may be implemented in the ORB instead of as a real CORBA objects. Pseudoobjects defined as part of the CORBA specification include the ORB itself.The other pseudo objects are not listed here because they have no directbearing on the analysis of this model.


All classes inherit from class ANY. This class inherits in turn fromclasses: PLATFORM (which introduces platform specific features) and GENERAL(which introduces general state and operations that are applicable to allclasses, such as copy, clone and equal).

There is also a conceptual class called NONE that inherits from allclasses. This class does not have any instances and exports no state oroperations. It is used to represent a reference that does not point toan object (Void). Class GENERAL has an entity called Void of type NONEand serves as the initialization value of all references.

System Object Model (SOM)

SOM has three important objects which exist as part of the run timeenvironment. The first is a root object from which all SOM objects arederived. This root object defines the essential behavior common to allSOM objects.

The second object is the root class object which defines the essentialbehavior common to all SOM classes. All SOM classes are expected to havethis class object or some class derived from it as their metaclass. Thisobject carries the methods which serve as factory objects.

The third object is a class manager. It serves as a run time registryfor all SOM class objects that have been created or dynamically loadedby the current process.

features matrixintro page