Previous | Table of Contents | Next |
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.