Metamodeling generalization and other directed relationships in UML Articles
Overview
published in
publication date
- July 2014
start page
- 718
end page
- 726
issue
- 7
volume
- 56
Digital Object Identifier (DOI)
International Standard Serial Number (ISSN)
- 0950-5849
Electronic International Standard Serial Number (EISSN)
- 1873-6025
abstract
- Context Generalization is a fundamental relationship in object orientation and in the UML (Unified Modeling Language). The generalization relationship is represented in the UML metamodel as a "directed relationship". Objective Being a directed relationship corresponds to the nature of generalization in the semantic domain of object orientation: a relationship that is directed from the subclass to the superclass. However, we claim that the particular form this relationship adopts in the metamodel is erroneous, which entails a series of inconveniencies for model manipulation tools that try to adhere to the UML specification. Moreover, we think that this error could be due to a misinterpretation of the relationships between metamodeling levels in the UML: represented reality (M0), model (M1) and metamodel (M2). This problem also affects other directed relationships: Dependency and its various subtypes, Include and Extend between use cases, and others. Method We analyze the features of the generalization relationship in various domains and how it has been metamodeled in UML. We examine the problems, both theoretical and technological, posed by the UML metamodel of generalization. We then compare it with the metamodel of other directed relationships. Results We arrive at the conclusion that the metamodel of all directed relationships could be improved. Namely, we claim that, at level M2, the metamodel should not contain any one-way meta-associations: all meta-associations should be two-way, both for practical and theoretical reasons. Conclusions The rationale for our main claim can be summarized as follows: connected graphical symbols do know each other, and the goal of a metamodel is to specify the syntactic properties of a language, ergo meta-associations must be two-way. This, of course, does not preclude at all the use of one-way associations at the user model level (M1). © 2014 Elsevier B.V. All rights reserved.
Classification
keywords
- directed relationship; generalization; metamodel; model engineering; unified modeling language; semantics; directed relationship; generalization; manipulation tools; meta model; model engineering; object orientation; syntactic properties; uml(unified modeling language); unified modeling language