10. Extensibility

OODBTG Reference Model

"Extensibility" allows additions and modifications to existingclasses. There are several kinds of extensibility:

o New classes may be defined, commonly based on existing classes.

o Existing classes may be modified to add new operations, attributes,constraints, or implementations. This extends the protocol of the class.

o Existing instances may acquire or lose a type (e.g. as when a "student"becomes an "employee").

The term "schema evolution" is used for operations that modifyexisting class definitions or the inheritance graph; the term "instanceevolution" is used for the process of making existing instances consistentwith modified class definitions.


The CORBA Specification itself is extensible and there is a workinggroup within OMG that is active in working on extensions to the specification.


See under 8 Inheritance and Delegation for a discussion of subtypingin the model. New types can be defined as subtypes of existing types.


This is not an issue for a conceptual modeling language.

Management Information Model

New managed object classes may be defined. These managed object classesmay be subclasses of existing managed object classes. However, the definitionof a managed object classes is not dynamic and each managed object classdefinition must be registered with a unique object identifier.

Managed object classes and other information associated with the informationmodel is registered through the assignment of a globally unique identifier,known as an object identifier. An object identifier allows uniqueidentification via a hierarchical identification authority structure, knownas the object identifier tree or registration tree. Object identifiersare used in a management protocol to uniquely identify aspects of the informationmodel. Once an object identifier is assigned, it cannot be reused.


New tables and types (ADTs, row types, collection types, etc.) can bedefined based on existing types. See also 2. Objects and 7. Typesand Classes.

Existing types may be modified to add new operations, attributes, orconstraints.

Existing instances may not acquire or lose type without creating a newinstance and destroying the old one.


The Matisse object model is extensible by the user. Schema evolutionis supported, with the constraint that database consistency will be enforcedby the object manager. This includes the metamodel which may be extendedby the user.


The underlying concepts and structure of the Smalltalk languages areminimalistic and the real capability of the language is delivered by thesignificant number of system and standard classes defined in all Smalltalkimplementations. These classes, and thus "the language," areinfinitely extensible.


Classes can be defined in terms of other classes. See also entries under8. Inheritance and Delegation and 9. Noteworthy Objects.

System Object Model

In SOM, all new classes are defined in terms of a previously existingSOM class. New methods can be added and old methods can be overridden.Methods can also be relocated upward in the hierarchy without requiringre-compilation of the application. Source code is not required for sub-classingsince the binaries can be used for this purpose. This sub-classing frombinaries even extends to languages other than the one the binaries werewritten in.

features matrixintro page