Abstract Class UML 2.3::Element
Description:
An element is a constituent of a model. As such, it has the capability
of owning other elements.
Direct Superclasses: Direct Subclasses: TemplateableElement,
TemplateSignature,
TemplateParameterSubstitution,
TemplateParameter,
Slot,
Relationship,
QualifierValue,
ParameterableElement,
NamedElement,
MultiplicityElement,
LinkEndData,
Image,
ExceptionHandler,
Comment,
ClauseClass Precedence List: ElementProperties:
ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
Element The Element that owns this element.
{
readonly}
Derived union with sources: ()
Opposite: Element.ownedElement
Constraints:
Signature: not_own_self() : Boolean;
Description: An element may not directly or indirectly own itself.
Expression: not self.allOwnedElements()->includes(self)
Signature: has_owner() : Boolean;
Description: Elements that must be owned must have an owner.
Expression: self.mustBeOwned() implies owner->notEmpty()
Operations:
Signature: isWithinCMOFSubset() : Boolean;
Description: Expression:
self.oclIsKindOf(Association) or
self.oclIsKindOf(Class) or
self.oclIsKindOf(Comment) or
self.oclIsKindOf(Constraint) or
self.oclIsKindOf(DataType) or
self.oclIsKindOf(ElementImport) or
self.oclIsKindOf(Enumeration) or
self.oclIsKindOf(EnumerationLiteral) or
self.oclIsKindOf(Generalization) or
self.oclIsKindOf(InstanceValue) or
self.oclIsKindOf(LiteralBoolean) or
self.oclIsKindOf(LiteralInteger) or
self.oclIsKindOf(LiteralNull) or
self.oclIsKindOf(LiteralReal) or
self.oclIsKindOf(LiteralString) or
self.oclIsKindOf(LiteralUnlimitedNatural) or
self.oclIsKindOf(OpaqueExpression) or
self.oclIsKindOf(Operation) or
self.oclIsKindOf(Package) or
self.oclIsKindOf(PackageImport) or
self.oclIsKindOf(PackageMerge) or
self.oclIsKindOf(Parameter) or
self.oclIsKindOf(PrimitiveType) or
self.oclIsKindOf(Property)
Signature: mustBeOwned() : Boolean;
Description: The query mustBeOwned() indicates whether elements of this type must have an owner. Subclasses of Element that do not require an owner must override this operation.
Expression: result = true
Signature: allOwnedElements() : Element;
Description: The query allOwnedElements() gives all of the direct and indirect owned elements of an element.
Expression: result = ownedElement->union(ownedElement->collect(e | e.allOwnedElements()))
Send questions or comments to
[email protected].