Database Reference
In-Depth Information
metamodels for other types of data resources all subclass from the same model
elements in object model.
CWM uses UML in three different critical roles:
• UML is used as the MOF-equivalent meta-metamodel. UML, or the part that
corresponds to the MOF model, UML notation, and OCL (Object Constraint
Language) are used as the modeling language, graphical notation, and constraint
language, respectively, for defining and representing CWM.
• UML is used as the foundation metamodel. UML, specifically a subset as
represented by the object model packages, is used as the foundation of CWM
from which other metamodels inherit classes and associations.
• UML is used as the object-oriented metamodel. UML, specifically the object
model package, is relied on for representing object-oriented data sources.
In order to illustrate this, we give a brief introduction to the object model which
is fundamental for CWM and hence also for XELOPES.
Object Model
The object model layer contains packages that define fundamental metamodel con-
cepts, relationships, and constraints required by all other CWM packages. The Object
Model is essentially a subset of UML. Most of its classes and associations directly
correspond to UML classes and associations.
The Object Model consists of the following packages:
Core package: Contains classes and associations that form the core of the CWM
Object Model, used by all other CWM packages including other Object Model
packages.
Behavioral package: Contains classes and associations that describe the behav-
ior of CWM objects and provide a foundation for describing the invocations of
defined behaviors.
Relationships package: Contains classes and associations that describe the
relationships between CWM objects.
Instance package: Contains classes and associations that represent instances of
CWM classifiers.
We focus on the Core package which is most important. The class diagram of
Core is shown in Fig. 12.3 .
Core does not depend on other packages. The initial class of Core is Element .
In CWM, every class in every package is a subclass of the Element class. Element
has no attributes and no methods. Its only function is to represent the root of the
tree of all CWM classes. The class ModelElement extends Element , and, with the
exception of a few support classes, all CWM classes are also subclasses of
ModelElement. ModelElement provides some basic attributes like name for all
of its subclasses.
Search WWH ::




Custom Search