|
|
7th
International Conference on the
Unified Modeling Language
<<UML>>
2004
October
11, 2004
Lisbon, PORTUGAL
An
Overview of UML 2.0
|
|
Presenter: |
Bran
Selic
IBM Software Group - Rational Software
770 Palladium Drive
Kanata, Ontario, Canada
K2V 1C8
e-mail: bselic[at]ca[dot]ibm[dot]com
|
Duration:
|
Half
Day |
Date:
|
Monday
October 11, 2004 - morning (9:00 - 12:30)
|
|
|
Abstract
The first major revision of the UML standard,
UML 2.0, has recently been submitted for adoption
to the Object Management Group. This revision
was strongly influenced by the current heightened
interest in model-driven development methods.
This approach requires modeling languages that
are precisely defined and which can cope with
the complexities of large-scale software systems.
We start the tutorial with an explanation of the
essential characteristics of model-driven development
and how those are reflected in modeling languages.
This is followed by a brief objective critique
of the pros and cons of the current version of
UML. The formal requirements for UML 2.0 are reviewed
next. Finally, we examine the proposed revision
itself: its structure, its conceptual foundations,
and its salient new features. Since the presenter
was a direct participant in the definition of
the submission, the design philosophy and rationale
behind each aspect are clearly explained.
Relevance
to Conference
Given
that this is a UML conference and that the specification
is still quite new, the topic is not only relevant
to the conference but is also likely to be of
great interest to attendees.
|
Teaching
Objectives
The
primary objectives of this tutorial are to:
-
introduce the attendees to the principal features
of the impending UML 2.0 standard and their
usage
- explain
the rationale behind the features
- describe
how UML 2.0 supports new model-driven strategies
for software development
Prerequisites
General
familiarity with UML 1.x concepts and usage.
Purpose
and Scope
The
UML 2.0 revision is anticipated to be adopted
in the fourth quarter of 2004 and the purpose
of the tutorial is to give attendees a first look
at its salient characteristics. However, the intent
is to present this in the broader context of model-driven
development (as exemplified by OMG's Model-Driven
Architecture (MDA) initiative). The intent is
to demonstrate how model-driven development techniques
can be used effectively not only for analysis
and design but also for full-fledged implementation
of software.
|
Outline
of the tutorial
1. Introduction
a.
Models in engineering and the modeling of software:
Why models are useful and how software can be
modeled; problems encountered in modeling software
and ways of overcoming them
b. Brief review of the history of UML:
How it came about; introduction to the OMG;
its evolutionary path; usage experience
c. Critique of UML 1.x:
Review of major issues identified with the 1.x
series of UML standards; the need for scalability
and precision
2.
Requirements for UML 2.0
a.
Model-driven development techniques:
The relationship between models and programs;
objectives of model-driven development (reliability,
productivity); technical foundations for model-driven
development; modeling languages as implementation
facilities
b. Introduction to OMG's Model-Driven
Architecture:
What is MDA? Key elements of MDA
c. Requirements for the UML conceptual
foundations:
The UML infrastructure; need for semantic precision
and conceptual refactoring; the rationale behind
metamodeling; the Meta-Object Facility (MOF);
MOF requirements for UML
d. Requirements for new and modified
modeling capabilities:
New feature requirements; modifications to existing
features; retirement of little-used features;
backward compatibility issues
e. Other requirements for UML 2.0:
OCL, diagram interchange requirements (why and
what)
3.
The Conceptual Foundations of UML 2.0 (UML infrastructure)
a. General design principles for UML
2.0:
design philosophy for evolving UML; the architecture
of UML 2.0
b. The UML and MOF shared architecture:
the 4-layer metamodel hierarchy; UML metamodel
refactoring principles; the structure of the
conceptual base for UML modeling concepts (UML
Foundation); key elements of the base (element
ownership, generalization, classifier, relationship
between structure and behavior, etc.)
c. Extensibility mechanisms:
heavyweight and lightweight extension of UML;
stereotypes and profiles
d. MOF 2.0:
the structure of MOF 2.0
e. Instance semantics:
run-time meaning of UML models; the difference
between "object" and Object
4.
UML 2.0 Modeling Capabilities
a. The "language" architecture
of UML:
the various sub-languages of UML and the relationship
between them
b. Modeling of instance-based structures
and patterns:
instances versus classes; concepts required
for modeling structure; UML 2.0 collaborations;
classes with internal structure (connectors);
the concept of ports; interface structures and
interaction protocols; components and subsystems
c. Modeling Interactions:
general concepts for modeling interactions (events,
messages, occurrences); interaction frames;
nested interactions; interaction overviews;
timing diagrams
d. Modeling of Actions:
The semantics of fine-grained actions, categories
of actions
e. Modeling of Activities:
Petri Net basics; activities with inputs and
outputs; concurrency modeling in activity graphs;
partitioning strategies (swimlanes); business
process modeling features
f. State-machine modeling:
submachines; modular states; protocol state
machines; new state machine graphics; state
machine inheritance/refinement
g. Other new and modified features:
Information flows; interfaces; retired features
5.
Summary and Conclusion
a. Brief summary of material covered
b. Perspective on the future of UML and
software development based on model-driven development
techniques
Tutorial
Method
Slide
presentation with interactive audience participation.
|
Speaker
Biography
Bran Selic is an IBM Distinguished Engineer in
the Rational Software division of IBM Canada and
is also an adjunct professor of computer science
at Carleton University in Ottawa. He has over
30 years of experience in industry in designing
and developing large-scale real-time systems.
He is the principal author of a popular book that
pioneered the application of object technology
and model-driven development methods in real-time
applications. From 1996 onwards, he has participated
in the definition of the UML standard and its
standard real-time UML profile. Currently, he
is chairing the OMG task force responsible for
the finalization of the UML 2.0 standard.
Bran
received his Bachelor's degree in electrical engineering
and a Master's degree in systems theory from the
University of Belgrade in 1972 and 1974 respectively.
He has been living and working in Canada since
1977.
|
|
|