Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
UML 2001: a standardization odyssey
Communications of the ACM
Supporting and Applying the UML Conceptual Framework
«UML» '98 Selected papers from the First International Workshop on The Unified Modeling Language «UML»'98: Beyond the Notation
The Essence of Multilevel Metamodeling
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Defining UML Family Members Using Prefaces
TOOLS '99 Proceedings of the 32nd International Conference on Technology of Object-Oriented Languages
First-class extensibility for UML packaging of profiles, stereotypes, patterns
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
Case study on a process of industrial MDA realization: determinants of effectiveness
Nordic Journal of Computing
Journal of Systems and Software - Special issue: Quality software
A formal approach to reuse successful traceability practices in SPL projects
Proceedings of the 2010 ACM Symposium on Applied Computing
Modeling issues: a survival guide for a non-expert modeler
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Bridging MDA and OWL ontologies
Journal of Web Engineering
An industrial case study on the choice between language customization mechanisms
PROFES'06 Proceedings of the 7th international conference on Product-Focused Software Process Improvement
Hi-index | 0.01 |
If the UML is to continue to meet the expectations of its ever-growing user community it is essential that it offer a simple and coherent mechanism for users to tailor the language to their specific needs. However, current UML extension approaches are not only unnecessarily limited in the capabilities that they provide, but also break some of the fundamental tenets of metamodeling in a multi-level framework. In particular, they are all based on the assumption that instantiation, in one form or another, is the only mechanism by which end users can apply predefined model elements in their own applications. In this paper we identify the problems associated with this limitation and explain why inheritance is also important for allowing users to apply predefined model elements. We point out the fundamental differences and relationships between instantiation and inheritance for defining UML profiles and provide guidelines as to which mechanism should be used under which circumstances. We conclude by describing why both mechanisms should be utilized in the definition of UML profiles in the context of strict, linear metamodeling frameworks.