The concept of association appears in almost every modelling language, and plays a crucial role in defining how classes (or other kinds of types) can be related to each other, both in conceptual models and code. Often, associations are assumed to be binary (i.e. linking two types), and sometimes higher-arity associations are also considered, such as in UML. However, little attention has been paid to unary associations, which link a type back to itself. Some unary associations establish a symmetric relation on the instances of the type they are attached to, and in this paper we argue that mainstream modelling languages, especially UML, provide no support whatsoever to model this kind of associations, despite being extremely common in real life. To address this need, we propose a simple and powerful metamodel that describes symmetric unary associations, explain how this metamodel has been implemented as part of the ConML conceptual modelling language, and describe how this kind of associations can be implemented in code generation scenarios.
Metamodelling. Associations. Unary associations. Symmetric relation. UML. ConML. Code generation.
Revista o serie
11th IEEE International Conference on Research Challenges in Information Science