Home
Theme and Topics
Important Dates
Submission
Programme
Workshops
Tutorials
Venue
Hotels
Travel Information
Programme Committee
Organisation
Calls
History
Sponsors
Contacts

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.