Book a Demo
Prev Next


Part of a UML Class diagram showing an Association connector between two Class elements.
Part of a UML Use Case diagram showing an Association connector between Use Case and Actor elements.


An Association implies that two model elements have a relationship, usually implemented as an instance variable in one or both Classes. The connector can include named roles at each end, multiplicity, direction and constraints. You can also indicate the reading direction by adding a Name Direction Indicator arrow to the name-label on the connector (see the Manage Object Labels Help topic), and define template binding parameters for an Association connector between a binding Class and a parameterized Class.

Associations act as the keys in providing possible classifiers for a structure of instance elements, and for automatically generating Property (Part) elements on the source SysML Block element in the Association.

When code is generated for Class diagrams, Associations become member variables in the target Class. The relationship is also used in Package, Object, Communication, Data Modeling and Deployment diagrams.

'Association' is the general relationship type between two elements; to connect more than two elements in an Association, you can use the N-Ary Association element. An Association connector can also be integrated with a Class element to form an Association Class, to allow the connector to have operations and attributes that define certain types of UML relationship.

Toolbox icon

Association connector

Learn more

OMG UML Specification:

The OMG Unified Modeling Language specification, (v2.5.1, p.199) states:

An Association specifies a semantic relationship that can occur between typed instances. It has at least two memberEnds represented by Properties, each of which has the type of the end. More than one end of the Association may have the same type.

An Association declares that there can be links between instances whose types conform to or implement the associated types. A link is a tuple with one value for each memberEnd of the Association, where each value is an instance whose type conforms to or implements the type at the end.