UML - Extension Mechanisms
UML - Extension Mechanisms
UML - Extension Mechanisms
By Sinan Si Alhir
E
volution—not only the ability to adapt, filled with opportunities and risks, an organiza-
but the ability to develop from adapt- tion’s ability to evolve—its ability to add value
ing—is the primary means for succeeding by increasing quality, reducing costs, and reduc-
in a competitive environment. In today’s vigor- ing time-to-market—defines its competitive ad-
ously competitive and unpredictable market, vantage.
www.DistributedComputing.com DISTRIBUTED
Computing 29
UML EXTENSION MECHANISMS
for organizations to evolve in today’s mar- Models are complete abstractions of systems capturing their
30 DISTRIBUTED
Computing December 1998
UML EXTENSION MECHANISMS
• The meta-metamodel layer consists of the most basic ele- Reuse: The Holy Grail Reuse is the promised Holy Grail of
ments on which the UML is based—the concept of a Thing, object orientation that enables us to improve value by increas-
representing anything that may be defined. This level of ab- ing quality, reducing costs, and reducing time-to-market. Tech-
straction is used to formalize the notion of a concept and nology and processes enable people to practice reuse; however,
define a language for specifying metamodels. enabling reuse does not ensure that reuse will occur. An orga-
• The metamodel layer consists of those elements that consti- nizational culture is required to promote reuse. Such a culture
tute the UML, including concepts from the object-oriented encompasses the following:
and component-oriented paradigms. Each concept within • a standardized language for communication—the UML
this level is an instance of the meta-metamodel concept • a paradigm optimized for the conceptualization and specifi-
Thing. This level of abstraction is used to formalize para- cation phases of problem solving—object orientation
digm concepts and define a language for communicating ex- • a paradigm optimized for the specification and realization
pressions regarding a given subject.. phases of problem solving—component-based development
• The model layer consists of UML models. This is the level • other paradigms supporting higher-level concepts (frame-
at which modeling of problems, solutions, or systems occur. works, patterns, etc.)
Each concept within this level is an instance of a concept • processes, people, and tools that establish a cohesive reuse
within the metamodel layer. This level of abstraction is used strategy
to formalize concepts and a language for communicating Such a culture establishes the foundation for reuse, and a reuse
expressions regarding a given subject. strategy encompassing the following is required:
• The user model layer consists of those elements that exem- • a vision supported by an infrastructure
plify UML models. Each concept within this level is an in- • a repository for housing and managing assets
stance of a concept within the model layer. This level of ab- • reuse champions, mentors, and evangelists chartered to pro-
straction is used to formalize specific expressions regarding mote and be catalysts for reuse
a given subject. • a standard for defining assets
Within this framework, the “meta” notion is used to signify an • a quality system for evaluating the quality of assets
abstraction between a set of non-metaconcepts or instances • a metric system for evaluating asset reuse
and their metaconcept or class. • an incentive system encouraging the realization of reusable
artifacts and asset reuse
Extension Mechanisms Extension mechanisms allow you • processes and methods focusing on reuse throughout the
to customize and extend the UML. The UML defines proper- system development lifecycle
ties for each model element and a means for adding new types • tools that enable execution of the strategy
of model elements and for modifying the properties of existing Anthropologists and historians study the evolution of societies
model elements: by analyzing their cultures. Such a study focuses on gaining in-
• Stereotypes are used for classifying or marking model ele- sight into the social structures that enable a society to evolve.
ments and introducing new types of model elements. Each Furthermore, the language used within a culture is critically
stereotype defines a set of properties that are received by el- examined because it provides the means for communication
ements of that stereotype. Stereotypes are used to intro- and collaboration among members of the culture. Languages
duce metamodel elements. establish the foundation upon which societies are erected and
• Properties are characteristics of a model element. evolve. Languages provide not only means for communication,
• Constraints are properties for specifying semantics or condi- but also a framework for knowledge and experiences of the in-
tions that must be maintained as true for model elements. dividuals within the society. As a society evolves, its culture and
• Tagged values are properties for specifying keyword-value language also evolve by a process of adapting and cultivating
pairs of model elements, where keywords are attributes. the ability to better adapt. It is the ability to adapt assets to ad-
Using these mechanisms, the UML metamodel may be ex- dress immediate needs and continuously mature assets to an-
tended. A UML extension is a set of extensions (stereotypes, ticipate imminent needs that enable a society to survive and
tagged values, and constraints) that extend, customize, or tai- thrive against adversities.
lor the UML for a specific domain or process. A UML variant In our attempts to “industrialize” system development
is a semantically well-defined language (expressed as a meta- through object orientation and component-based develop-
model) built on top of the UML metamodel; it specializes but ment, significant focus is placed on tools and processes; how-
does not change the UML terms or redefine their meanings. ever, minimal emphasis is placed on the development culture.
The UML standard registers a process-specific extension, the To realize the benefits of reuse, development cultures must
UML Extension for the Objectory Process for Software Engi- promote reuse, and because the UML is an evolutionary, gen-
neering, and a domain-specific extension, the UML Extension eral-purpose, broadly applicable, tool-supported, industry-stan-
for Business Modeling. dardized modeling language, it may be used as the foundation
for such a culture.
www.DistributedComputing.com DISTRIBUTED
Computing 31
UML EXTENSION MECHANISMS
However, it is the UML’s extension mechanisms that enable extensions they require, and need not adopt an extensively
such a culture and language to evolve. It provides not only a large language at one time.
means for communication, but also a framework for the • Reducing or eradicating the seemingly overwhelming com-
knowledge and experiences of the individuals within a develop- plexity of the UML.
ment culture such that the culture can evolve. • Reducing continuous modification and updating of the UML.
CML is simpler than UML but remains expressive and extensi-
The Future of the UML The architecture of the UML and its ble. It is foreseeable that such a language would be embraced
extension mechanisms have a profound impact on realizing the by the industry because it is extensible and can accommodate
promise of reuse. However, is the UML the language of choice evolutionary change without continuous modification and up-
for a culture focused on reuse? A reflection on the history of dating to account for new requirements.
markup languages sheds insight on this question. The Standard
Generalized Markup Language (SGML) is an industry stan- Conclusion The UML has the potential to enable us to real-
dardized markup language for describing the structure and ize the holy grail of object orientation and component-based
content of documents. SGML enables the definition of markup development—reuse. However, it is experience and gradual
elements and is very powerful, feature-rich, and extensible, but adoption and evolution of the standard that will reveal its true
is too complex for Web documents. potential and enable organizations to realize its benefits. Z
HyperText Markup Language (HTML) is a markup
language for describing the content of Web documents. Sinan Si Alhir is a consultant and author of “UML In a Nutshell”
HTML is an application of SGML, using a set of predefined (O’Reilly, 1998). salhir@earthlink.net
markup elements. HTML is simpler than SGML, but lacks ex-
tensibility capabilities. Therefore, HTML is continuously modi-
fied and updated to account for new requirements.
The Extensible Markup Language (XML) is an extremely
simple subset of SGML, primarily composed of the extensibil-
ity capabilities of SGML. XML combines the simplicity of
HTML with the extensibility capabilities of SGML. XML is be-
ing embraced by the industry because it is extensible and can
accommodate evolutionary change without continuous modi-
fication and updating to account for new requirements.
THE UML is powerful, feature-rich, and extensible, but it
can seem overwhelmingly complex because of its expressive-
ness. Most practitioners apply only a subset of the language but
are perplexed in determining the appropriate subset to apply.
Furthermore, most tools support only a subset of the language.
Generally, UML may be likened to SGML, the tools that sup-
port UML may be likened to HTML, and another language,
CML (Core Modeling Language), may be likened to XML. CML
consists of a subset of THE UML, including the extension mech-
anisms combined with other extensibility capabilities. CML
would provide a core standard that would be extended and
evolved over time via CML extensions (similar to UML exten-
sions). Such a language would have the following ramifications:
• Expediting the proliferation of a standard modeling lan-
guage because the standard may be adopted and applied by
organizations in a progressive manner, first the CML, then
CML extensions. Such extensions would capture the partic-
ular architectural views and diagrams of any modeling lan-
guage such as the UML or its competitors.
• Enabling tools to more readily support a standard modeling
language in a progressive manner.
• Establishing a foundation for domain specific and process
specific extensions that only require adoption of an ax-
iomatic or minimal core set of modeling concepts. Practi-
tioners would adopt the CML followed by only those CML
32 DISTRIBUTED
Computing December 1998