Links bind roles, which are the structural slots through which an object can refer to its links. By default, a role is named its<object>, where <object> is the name of the peer on the other end of the link.
Links can be symmetric or directional. With a symmetric link, both objects know each other, implying two roles. With directional links, only one object has access to its peer through a single role. See Symmetric associations and Aggregations and compositions for more information.
Roles have multiplicity. A multiplicity of one means that the link connects an object to only one other object. The default multiplicity is set by the General::Relations::DefaultMultiplicity property.
If a link connects an object to more than one other object (multiplicity greater than 1), that link is implemented by default as an array. In addition, a role can contain references in the form of pointers, facilitating access to several members within the group.