Equivalence Rules for UML Class Diagrams

UML is a complex language with many modeling features. Especially the modeling of static structures with class diagrams is supported by a rich set of description primitives. We show how to transfrom UML class diagrams involving cardinality constraints, qualifiers, association classes, aggregations, compositions, and generalizations into equivalent UML class diagrams employing only n-ary associations and OCL constraints. This provides a better understanding of UML features. By explaining more complex features in terms of basic ones, we suggest an easy way users can gradually extend the set of UML elements they commonly apply in the modeling process.