Element (UML)
# Element (UML)

In the Unified Modeling Language (UML), an Element is an abstract class with no superclass. It is used as the superclass or base class, as known by object oriented programmers, for all the metaclasses in the UML infrastructure library. All other elements in the UML inherit, directly or indirectly from Element. An Element has a derived composition association to itself to support the general capability for elements to own other elements. As such, it has no additional attributes as part of its specification.

## Associations

An association describes a set of tuples of typed instances.

* ownedComment: Comment[*]: An Element may own, or have associated to it, an arbitrary quantity of comments. A comment is sometimes referred to as a note. The asterisk in brackets is the Comment's multiplicity which means that there can be an arbitrary number of comments owned by an Element.
* / ownedElement: Element[*]: An Element may own an arbitrary quantity of elements. This is called a derived union, symbolized by the forward slash notation. The asterisk in brackets is the Element's multiplicity which means that there can be an arbitrary number of elements owned by an Element.
* / owner: Element[0..1]: The Element that owns this element. This is called a derived union, symbolized by the forward slash notation. The [0..1] is the owning Element's multiplicity which means that there can only be zero to one owner element.

The Element class belongs to the base package in the UML called the Kernel. This is the package that contains the superclasses that make up the superstructure of the UML.

Subclasses of Element provide semantics appropriate to the concept they represent. The comments for an Element add no semantics but may represent information useful to the reader of the model.

