Previous UML Classes Table of Contents UML Packages Next


11.3.18 DestroyObjectAction

IntermediateActions


   DestroyObjectAction is an action that destroys objects.

*Generalizations

   

    Action (from BasicActions ) on page 247

*Description

   This action destroys the object on its input pin at runtime. The object may be a link object, in which case the semantics of DestroyLinkAction also applies.

*Attributes

   • isDestroyLinks : Boolean = false Specifies whether links in which the object participates are destroyed along with the object. Default value is false.

Issue 8039 -clarify type of object ownership

   • isDestroyOwnedObjects : Boolean = false Specifies whether objects owned by the object through composite aggregation are destroyed along with the object. Default value is false.

*Associations

   • target : InputPin [1..1] The input pin providing the object to be destroyed. (Subsets Action::input)

*Constraints

   [1] The multiplicity of the input pin is 1..1.

   self.target.multiplicity.is(1,1)

   [2] The input pin has no type.

   self.target.type->size() = 0

*Semantics

Issue 8039 -Clarify semantics of ownership.

   The classifiers of the object are removed as its classifiers, and the object is destroyed. The default action has no other effect. In particular, no behaviors are executed, no state machine transitions are triggered, and references to the destroyed objects are unchanged. If isDestroyLinks is true, links in which the object participates are destroyed along with the object according to the semantics of DestroyLinkAction , except for link objects, which are destroyed according to the semantics of DestroyObjectAction with the same attribute values as the original DestroyObjectAction . If isDestroyOwnedObjects is true, objects owned by the object through composite aggregation are destroyed according to the semantics of DestroyObjectAction with the same attribute values as the original DestroyObjectAction .

   Destroying an object that is already destroyed has no effect.

*Notation

   No specific notation

   DestroyObjectAction is introduced for destroying objects.

*Changes from previous UML

   Same as UML 1.5