Previous | Table of Contents | Next |
OMG’s Meta-Object Facility (see http://www.omg.org/technology/documents/formal/mof.htm) specifies a small but complete set
of modeling concepts that can be used to express information models. In line with the OMG’s commitment to CORBA, the MOF standard
also provides a mapping from these modeling concepts to CORBA IDL to support a repository of instances of that model. Although
not part of the MOF standard, some MOF tools (such as DSTC’s dMOF product) also generate the code for the model-instance repository.
There are a number of essential concepts used in MOF modeling. A Package is used to encapsulate a collection of related Classes
and Associations. Packages can also contain simple type definitions, equivalent to those available in CORBA IDL. Classes exist
in the commonly-used sense of the word, describing an object and its properties. These properties are represented through
Attributes and References, which can be inherited using a multiple-inheritance system based on that of CORBA IDL. Attributes
have a name and a type, selected from the CORBA type system1. This includes a range of types from basic types such as integers,
strings, and booleans to more complex types such as enumerations, and through to structured types. In addition, attributes
have both upper and lower limits on the number of times that they can appear within a class instance. An Association is used
to represent a relationship between instances of two classes, each of which plays a role within the association. Associations
can have the additional property of containment; an association represents a containment relationship if one of the participant
classes does not exist outside the scope of the other. A Class participating in an association can also contain a Reference
to the association. A reference appears much like an attribute, but reflects the set of class instances that participate in
the Association with the containing class instance.