UML - Extension Mechanisms

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

FOCUS : MODELING

Unified Modeling Language


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

T ket has fostered the knowledge revolution, in which strategi-


cally capturing, communicating, and leveraging intellectual
assets enables an organization to be agile and responsive. Ob-
structural (static) and behavioral (dynamic) features. Models
may be viewed by means of a small set of holistic but nearly
independent and non-overlapping aspects that emphasize par-
ject orientation and component-based development are threads ticular qualities of a model.
within the fabric of this revolution. Architectural views are sets of concerns, particular to stake-
However, perhaps it is the Unified Modeling Language holders, around which model content is organized. An archi-
(UML) that unifies these and other threads into a foundation tectural view is defined by the set of elements from a model
for evolution; and it is the UML’s extension mechanisms that that address an architectural focus. The UML provides the fol-
truly enable an organization to evolve in an agile and respon- lowing architectural views:
sive manner by strategically capturing, communicating, and • user (use case or scenario)
leveraging intellectual assets. • structural (static or logical)
The UML is an evolutionary general-purpose, tool-sup- • behavioral (dynamic, process, concurrent, or collaborative)
ported, standardized modeling language for specifying, visual- • implementation (component or development)
izing, constructing, and documenting the artifacts of a system- • environment (deployment or physical)
intensive process. It is broadly applicable to different types of Other architectural views may be define and used as necessary.
systems, domains, methods, and processes; it enables and pro- Diagrams are projections of model content in a communi-
motes (but does not require or mandate) a use-case–driven, ar- cable form. The UML provides the following diagrams, orga-
chitecture-centric, iterative, and incremental process that is ob- nized around architectural views:
ject oriented and component based, fundamentally supporting • user view (use case diagrams)
industry engineering best practices. The UML is an OMG- • structural view (class and object diagrams)
adopted standard that has been eagerly embraces by the indus- • behavioral view (sequence, collaboration, state, and activity
try. diagrams)
• implementation view (component diagrams)
Intellectual Assets Intellectual assets are reusable artifacts • environment view (deployment diagrams)
capturing knowledge gained throughout a system development Other diagrams may be defined and used as necessary. Dia-
process. System development may be characterized as problem gramming involves depicting concepts as symbols and rela-
solving, including understanding or conceptualizing a problem, tionships among concepts as paths connecting symbols.
solving the problem, and realizing the solution. Conceptualiz- Fundamentally, models capture knowledge (semantics),
ing a problem involves understanding the problem and repre- architectural views organize knowledge in accordance with
senting it in some form. Solving the problem involves manipu- guidelines expressing idioms of usage, and diagrams depict
lating representational constructs from the problem domain knowledge (syntax) regarding systems.
and the solution domain to derive a representation of the de-
sired solution. Realizing a solution involves implementing the The Architecture of the UML To understand the architec-
solution by mapping the representational constructs of the so- ture of the UML, consider how computer programs and pro-
lution into a usable form. Paradigms determine the possible gramming languages are related. All programming languages
types of representations that may be used in such a process. support various declarative constructs for declaring data and
The following paradigms are common: procedural constructs for defining the logic that manipulates
• The object-oriented paradigm focuses on constructing data. Because a model is an abstraction, each of these concepts
reusable units and encompasses conceptualization and may be captured in a set of related models.
specification principles of abstraction, encapsulation, Programming language concepts are defined in a model
inheritance, and polymorphism. called a metamodel. Each particular programming language is
• The component-oriented paradigm focuses on the assembly defined in a model that uses and specializes the concepts
of reusable units and encompasses specification and realiza- within the metamodel. Each program implemented in a pro-
tion principles of components, interfaces, and infrastructure. gramming language may be defined in a model called a user
Abstraction involves formulating representational constructs model that uses and instantiates the concepts within the model
by focusing on the similarities and differences among a set of of the appropriate language.
entities to extract relevant common features and to avoid irrel- This scheme of a metamodel representing computer pro-
evant distinguishing features in order to define a single construct gramming constructs, models representing computer
having characteristics relevant to defining every entity in the programming languages, and user models representing com-
set. An abstraction is a mental notion or idea (representational puter programs exemplifies the architecture of the UML.
construct) that represents something else, where a representa- The UML is defined within a conceptual framework for
tion may be more easily manipulated than the thing it repre- modeling that consists of the following distinct layers or levels
sents. Abstraction helps us manage complexity. of abstraction:

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

You might also like