|
Understanding Metamodelling
Half-Day Tutorial
June 7, 2004
Brian Henderson-Sellers
Centre for Object Technology Applications and Research (COTAR)
University of Technology, Sydney
brian@it.uts.edu.au
Background
Metamodelling underpins the UML both directly and in terms of the UML Profile
Mechanism. This tutorial starts by explaining why metamodelling is important in
the UML context and then evaluates the various aspects of metamodelling that are
known to cause both practitioners and researchers the most problems. We explore
the pros and cons of strict versus loose metamodelling, the notions of physical
versus logical instance-of relationships and the various flavours of the "is-a"
relationship (which include instantiation and generalization). These ideas are
then applied to the UML context directly in an evaluation of the extension
mechanisms of the UML, particularly stereotypes, and illustrated directly in
terms of the metamodels currently underpinning not only the UML but also, as
further examples, the OMG SPEM model for process metamodelling. This information
will then permit developers of UML profiles to more successfully utilise the
metamodelling aspects and know on which occasions it is better not to use
metamodelling, in addition to providing end users with a greater capability to
utilize the UML extension mechanisms.
There are three major components of the UML: notation, metamodel and OCL.
While the notation is common knowledge, there is less knowledge in the community
regarding the underpinning metamodel and the contribution it makes to the
definition on the semantics of the notational elements. Since a standard like
the UML needs to be unambiguous with shared and agreed semantics between users
worldwide, it is crucial that the underpinning metamodel should be well founded
and well understood. This is particularly relevant to the derivation and use of
UML extensions, using metamodel-linked concepts such as stereotypes. Attendees
should therefore have some knowledge of the UML metamodel in the way it is
presented in the OMG specification. Here we analyze the several issues relating
to attendees gaining a better understanding of the existing metamodel and
possible trends in metamodelling theory for future versions of the UML standard.
Tutorial Goals and History
Tutorial goal is to fully explain metamodelling and how it is used in OO
modelling and, specifically, in the OMG standard modelling language of the UML.
Although UML developers generally have little in-depth knowledge of the UML
metamodel they are aware that several metamodel-linked concepts are needed to
fully leverage the full power of the UML - not only its notation but also,
correct use of the extension mechanisms and of the profile mechanism. By gaining
a deeper understanding of the UML-oriented metamodelling, participants of this
tutorial will better understand the UML and will be able to use the UML more
effectively in its capacity as a family of languages.
This tutorial has been presented at the "UML" 2002 conference in
Germany (Oct 2002), at the ER2003 conference in Chicago (Oct 2003) and at
Motorola (Oct 2003)
Potential Attendees and Background Knowledge
Developers, modellers, technicians wishing to gain a deep understanding of how
to use metamodelling (primarily in the context of the UML) for creating better
models.
Attendees should be fully conversant with the UML and have some knowledge of the
metamodel component of the OMG standard.
Outline
1. Why metamodelling?
Context setting of the relevance of metamodelling
2. What is metamodelling?
An introduction to metamodelling ideas
2.1 Multi-layer metamodelling hierarchy
The existing four level hierarchy of OMG's UML
2.2 Strict versus loose metamodelling
Strict metamodelling requires instance of relationships ONLY between metalevels;
loose metamodelling also permits is instance of inside one metalevel
2.3 Logical versus physical instance of
The two kinds of instance-of relationships that tend to be confounded in the UML
metamodel and how their discrimination may be beneficial to future versions of
UML
2.4 Flavours of is-a
Comparison of is instance of; is kind of; is subtype of etc.
3. Application to the UML
Direct application of the generic ideas of section 2 to the UML
3.1 Extension mechanisms
How metamodelling is important to creating UML extensions, particularly
focussing on the current meaning and use of the stereotype mechanism in UML
3.2 Profiles
Extension of these ideas into the realm of UML profiles
4. Process modelling in the context of the UML metamodelling hierarchy
Metamodelling is also important for describing process standards. However, the
levels of process metamodelling hierarchy are not consistent with those of the
product hierarchy (UML). Discussion of how to resolve these inconsistencies as
UML is complemented by SPEM under the evolving umbrella of the MDA. Direct
evaluation of the OMG's SPEM work in the context of being a second OMG example
of the use of metamodelling
5. Summary
Reflection on what has been learned by the attendees
About the Presenter
Dr. Brian Henderson-Sellers is Director of the Centre for Object Technology
Applications and Research (COTAR) and Professor of Information Systems in the
Faculty of Information Technology at the University of Technology, Sydney. His
interests are centred on object, component and agent technologies, particularly
with respect to methodologies, modelling and metrics. He received a Ph.D. from
the University of Leicester in 1976 and a D.Sc. from the University of London in
2001. He has presented over 70 half day tutorials at international conferences
over the last decade (including OOPSLA, ECOOP, TOOLS, and UML World) and has
published eleven books on object technology.
|