Datasheet
4
Part I ✦ An Introduction to UML
development. Each profile provides customized modeling elements that map to the
common elements and features in each of these architectures. This approach
enables the modeler to focus time and energy on the project content instead of the
unique modeling features of the implementation domain.
The standardized architecture of UML is based on the Meta-Object Facility (MOF).
The MOF defines the foundation for creating modeling languages used for object
modeling, such as UML, and for data modeling, such as the Common Warehouse
Model (CWM). The MOF defines standard formats for the key elements of a model
so that they can be stored in a common repository and exchanged between model-
ing tools and languages. XML Metadata Interchange (XMI) provides the mechanism
to implement the sharing of these modeling elements between modeling tool ven-
dors and between repositories. This means, for example, that a project can use one
tool for developing a platform-independent model (PIM) using UML diagrams and
switch to another tool to refine the model into a platform-specific model (PSM)
using a CWM model to generate the database schemas. This standards-based
approach places the choice of tools in the hands of the modelers instead of the
tool vendors.
UML models can be precise enough to generate code or even the entire application.
Automated test suites can verify the accuracy of the model. When coupled with
tools to compile the UML model, the model can even be executed before any code
exists. Vendors (for example, Kabira Technologies
www.kabira.com and Project
Technology, Inc.
www.projtech.com) are already providing compilers that are
being used in projects today. A fully executable UML model may be deployed to
multiple platforms that each use different technologies. A model might be deployed
in one place using one language, middleware, and database configuration, and at
another location with an entirely different configuration. The mapping of the model
to an implementation configuration is accomplished using a profile, with a separate
layer that maps the two requirements, the model and the implementation environ-
ment. To use the model in other implementation environments, simply create a new
profile. Thus the UML profile represents a level of indirection between the model
and the implementation environment, freeing each to be created independently of
the other.
All of these features didn’t appear overnight. A great deal of collaborative effort
was invested to create the current standard, and not without conflict. You may have
already heard people taking sides on a variety of modeling issues and practices
that arise when they try to use UML. To clarify some of the reasons behind these
debates, I begin with a brief history explaining how UML first came to be. If you can
understand the process behind the ongoing development of the standard, you will
be better equipped to follow the changes between version 1.4 and the new develop-
ments in version 2.0 described throughout the rest of this book. Even more impor-
tant, you need to understand how UML fits into the much larger plan by the Object
Management Group (OMG) to standardize systems development with Model-Driven
Architecture (MDA).
03 526049 Ch01.qxd 8/20/03 11:47 PM Page 4