ExtensionEnd (from Profiles)

An extension end is used to tie an extension to a stereotype when extending a metaclass.

Description
ExtensionEnd is a kind of Property that is always typed by a Stereotype.

An ExtensionEnd is never navigable. If it was navigable, it would be a property of the extended classifier. Since a profile
is not allowed to changed the referenced metamodel, it is not possible to add properties to the extended classifier. As a
consequence, an ExtensionEnd can only be owned by an Extension.

The aggregation of an ExtensionEnd is always composite.

The default multiplicity of an ExtensionEnd is 0..1.

Attributes
No additional attributes.

Associations
·

type: Stereotype [1]   References the type of the ExtensionEnd. Note that this association restricts the possible
types of an ExtensionEnd to only be Stereotypes. Redefines Property::type.

Constraints

  1. The multiplicity of ExtensionEnd is 0..1 or 1.

    (self->lowerBound() = 0 or self->lowerBound() = 1) and self->upperBound() = 1

  2. The aggregation of an ExtensionEnd is composite.

    self.aggregation = #composite

Additional Operations

  1. The query lowerBound() returns the lower bound of the multiplicity as an Integer. This is a redefinition of the default
    lower bound, which was 1.

    ExtensionEnd::lowerBound() : [Integer];
    lowerBound = if lowerValue->isEmpty() then 0 else lowerValue->IntegerValue() endif

Semantics
No additional semantics.

Notation
No additional notation.

Examples
See "Extension (from Profiles)".

Changes from UML 1.4
ExtensionEnd did not exist as a metaclass in UML 1.4. See "Extension (from Profiles)" for further details.