Antti Luoto

Antti Luoto

Thursday, 24 January 2019 09:45

N-Ary Association Class

Not all modelling tools properly support conceptual modelling with UML. I have experienced that some open source tools lack support for association classes and n-ary associations. For this reason, I wanted to investigate how the following conceptual model could be implemented with Enterprise Architect (the multiplicity ‘n’ near the student should be *):

tut ea community1

A notable element in the model is the diamond shape (lozenge) with three associations and an association class. It is an n-ary association. Enterprise Architect user guide describes the n-ary association as follows: “An n-Ary Association element is used to model complex relationships between three or more elements, typically in a Class diagram. It is not a commonly-employed device, but can be used to good effect where there is a dependant relationship between several elements.”

Adding a binary association class was easy and I figured out how to create n-ary associations. At first, for some reason, creating an n-ary association class seemed difficult. There are some discussion on the topic in Sparx Systems forum: N-Ary Associations and Association Class, 3-way Association Class and n-ary association class. My interpretation was that n-ary association class is not supported out of the box. However, finally I figured out that it is possible to just choose the association class tool, click the diamond shape, and clean the short piece of association line out of sight. At least the solution is visually correct enough:

tut ea community2

Antti Luoto

Tampere University