Issue 4729: UML 1.4: State containment problem (uml2-superstructure-ftf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: According to the UML 1.4 metamodel, a State can either be contained as a "subvertex" in a CompositeState [UML 1.4, pp. 2-147], as the "top" state in a StateMachine [UML 1.4, pp. 2-147], or as an "ownedElement" [UML 1.4, pp. 2-13] in a Model, Package, Artifact, Node or ClassifierRole (all other concrete subclasses of Namespace restrict their owned elements to exclude State). The latter containment does not seem to make a lot of sense. Fortunately, the description of a StateMachine states that "This means that a state machine owns its transitions and its top state. All remaining states are transitively owned through the state containment hierarchy rooted in the top state." [UML 1.4, pp. 2-153]. The question is: does this mean that a State is restricted to being contained in a CompositeState or a StateMachine? If not, please explain the meaning of e.g. a State contained directly in an otherwise empty Package? If the mentioned restriction *is* intended, it should be stated unambiguously so in the wellformedness rules for State: Resolution: Revised Text: Actions taken: December 5, 2001: received issue March 9, 2005: closed issue Discussion: The state machine metamodel has been changed radically in UML 2.0 (e.g., CompositeState no longer exists as a separate metaclass), so this issue is no longer applicable. End of Annotations:===== From: Thomas Schaumburg To: "'issues@omg.org'" Subject: UML 1.4: State containment problem Date: Wed, 5 Dec 2001 15:20:25 +0100 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" X-UIDL: nDF!!4hX!!Y92e9iShd9 According to the UML 1.4 metamodel, a State can either be contained as a "subvertex" in a CompositeState [UML 1.4, pp. 2-147], as the "top" state in a StateMachine [UML 1.4, pp. 2-147], or as an "ownedElement" [UML 1.4, pp. 2-13] in a Model, Package, Artifact, Node or ClassifierRole (all other concrete subclasses of Namespace restrict their owned elements to exclude State). The latter containment does not seem to make a lot of sense. Fortunately, the description of a StateMachine states that "This means that a state machine owns its transitions and its top state. All remaining states are transitively owned through the state containment hierarchy rooted in the top state." [UML 1.4, pp. 2-153]. The question is: does this mean that a State is restricted to being contained in a CompositeState or a StateMachine? If not, please explain the meaning of e.g. a State contained directly in an otherwise empty Package? If the mentioned restriction *is* intended, it should be stated unambiguously so in the wellformedness rules for State: self.namespace = null Brgds Thomas Schaumburg