Previous Table of Contents Next


13.1.3 ExtensionEnd

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 change the referenced metamodel, it is not possible to add properties to the extended classifier. As aconsequence, 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.

   Generalizations

   • “Property? on page 122

   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)? on page 179.

   Changes from UML 1.4

    ExtensionEnd did not exist as a metaclass in UML 1.4. See “Extension (from Profiles)? on page 179 for further details.