Metamodeling generalization and other directed relationships in UML |
| |
Affiliation: | 1. Facultad de Ingeniería, Universidad Andrés Bello, Sazié 2325, Santiago, Chile;2. Departamento de Informática, Universidad Carlos III de Madrid, Avda. Universidad 30, 28911 Leganés, Madrid, Spain;1. Dept. of Computer Science & Engineering, Oakland University, Rochester, MI 48309, USA;2. Dept. of Computer Science, Baylor University, Waco, TX 76798, USA;1. Lina - Université de Nantes, 2 rue de la Houssinière, BP 92208 44322, Nantes Cedex 03, France;2. Departamento de Informática, Rua Cel. Francisco H. dos Santos, 100 Centro Politécnico, Jardim das Américas - Curitiba - PR, Caixa Postal: 19081, CEP 81531-980, Brazil;3. Faculty of Science, Technology and Communication, 6, rue Coudenhove-Kalergi, L-1359 Luxembourg-Kirchberg, Luxembourg;4. IRISA Rennes, Campus universitaire de Beaulieu, 263 Avenue du Général Leclerc - CS 74205, 35042 RENNES Cedex, France;1. Fraunhofer Institute for Experimental Software Engineering (IESE), Fraunhofer-Platz 1, 67663 Kaiserslautern, Germany;2. University of Helsinki, P.O. Box 68, Gustaf Hällströmin katu 2b, 00014 Helsinki, Finland;3. Vector Informatik GmbH, Ingersheimer Straße 24, 70499 Stuttgart, Germany;1. Electrical and Computer Engineering, University of Waterloo, 200 University Ave. West Waterloo, ON N2L 3G1, Canada;2. IT University, Rued Langgaards Vej 7, 2300 Copenhagen, Denmark;3. Department of Computer Science IV, University of Erlangen-Nuremberg, Martensstr 1, 91058 Erlangen, Germany;4. Faculty of Mathematics and Computer Science, University of Leipzig, Augustusplatz 10, 04109 Leipzig, Germany |
| |
Abstract: | ContextGeneralization 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”.ObjectiveBeing 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.MethodWe 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.ResultsWe 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.ConclusionsThe 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). |
| |
Keywords: | Unified Modeling Language Model engineering Metamodel Generalization Directed relationship |
本文献已被 ScienceDirect 等数据库收录! |
|