0. Intended Use

The intended use of an object model describes such things as the application(s)of the object model, the context(s) or part(s) of the development lifecyclein which the object model is intended to be used, the level of abstractionof the objects defined using the model, and the purpose of object-orientationin the intended application. One reason for describing intended use isto explain the presence or absence of specific object model features interms of application requirements.


The ODMG Object Model is intended to allow portability of applicationsamong object database products. It provides a common model for these productsby defining extensions to the OMG object model that support object databaserequirements. In particular, the ODMG model extends the OMG core to providefor persistent objects, object properties, more specific object types,queries and transactions.


EXPRESS is a language directed towards the conceptual modeling of domainswithin the field of Product Data. Although computer processability is adesign goal, a conscious attempt has been made to avoid including constructsor features in the language which are directed towards ease of implementationor towards the development of physical schemas. EXPRESS is not intendedto model dynamics: an EXPRESS schema describes a valid population of theuniverse of discourse, but does not specify how that population can betransformed into another valid population.


C++ is a general-purpose object-oriented programming language, and isintended to be an improved C with object capabilities.


COBOL Object Orientation and associated capabilities provides facilitiesfor developing object-oriented programs using the COBOL programming language.(For the rest of this Features Matrix entry, these facilities will be referredto as OO COBOL.) These facilities are currently part of a proposal[Obi94] to extend standard COBOL as the result of work by an X3J4 taskgroup, and have not been officially approved by X3J4.


Smalltalk is a general purpose object-oriented programming language.


Eiffel is an object-oriented language designed for the specification,design implementation and modification of large applications and reusablecomponents. Its range extends over most application domains including (mostprominently) business applications.


Emerald is an object-oriented programming language designed for thedevelopment of distributed applications (although it can also be used forgeneral-purpose programming).


Cecil is an object-oriented language intended for both exploratory andproduction programming.


SELF is an object-oriented language intended for exploratory programming.

OLE Component Object Model

OLE (and its Component Object Model) provide a basis for applicationinteroperation in the Microsoft Windows environment.

Analysis and Design Methods

These models are intended to be used in analysis and design, as opposedto the construction of systems. This is not to imply that the same modelwould not be used during construction and maintenance. In fact, some authorsstress that this is their intention: that the transition to constructionbe 'seamless,' have no 'impedance mismatch' or 'semantic gap.'

featuresmatrix intro page