Conf. Registration
Exhib. Registration
Hotel/Travel Info
Invited Speakers
Industry Track
Posters & Demos
PhD Symposium
Tool Exhibit
Important Dates
Previous Editions


Tutorial 3

[ Presenter | Abstract | Relevance | Teaching Objectives | Prerequisites | Outline | Method | Presenter Biography ]

7th International Conference on the
Unified Modeling Language

<<UML>> 2004

October 11, 2004

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)


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


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.

Last Update: September 16, 2004