Difference between revisions of "XCSG:Namespace"
From AtlasWiki
(moved direct subkinds list further up the page) |
(switching to node template) |
||
Line 9: | Line 9: | ||
== Specification == | == Specification == | ||
− | {{ | + | {{Node |
| extends = ModelElement | | extends = ModelElement | ||
| description = A model element that contains (owns) a set of uniquely named model elements. Each contained element is owned by at most a single namespace. The concrete subclasses of Namespace constrain the type of elements the Namespace may contain. Namespace is an abstract metaclass. | | description = A model element that contains (owns) a set of uniquely named model elements. Each contained element is owned by at most a single namespace. The concrete subclasses of Namespace constrain the type of elements the Namespace may contain. Namespace is an abstract metaclass. | ||
| references = [5, p. 2-14, Figure 2-5], [5, pp. 2-49, 2-68] | | references = [5, p. 2-14, Figure 2-5], [5, pp. 2-49, 2-68] | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Language mappings == | == Language mappings == | ||
None. Namespace is an abstract metaclass. Package (rather than Namespace) maps to the more concrete notion of a C++ (or MS-IL) namespace. | None. Namespace is an abstract metaclass. Package (rather than Namespace) maps to the more concrete notion of a C++ (or MS-IL) namespace. | ||
− | |||
− |
Revision as of 12:23, 7 April 2014
A Namespace “owns” the model elements that appear in it, and no model element may appear in more than one namespace.
Semantics
The semantics of Namespace are those defined by UML [5, pp. 2-49, 2-68]. Elements appearing within the namespace, other than generalizations, must have unique names.
Subtypes of Namespace may restrict the types of model elements that the name space contains.
Specification
Metaclass | Namespace |
---|---|
Extends | ModelElement |
Description | A model element that contains (owns) a set of uniquely named model elements. Each contained element is owned by at most a single namespace. The concrete subclasses of Namespace constrain the type of elements the Namespace may contain. Namespace is an abstract metaclass. |
Direct Subkinds | Classifier, Package |
---|
All Superkinds | Node, ModelElement |
---|
Known Possible In Edges
| ||||
---|---|---|---|---|
Inherited From | In Edge | Predecessor | Multiplicity | Description |
Node | Contains | Node | 1 | Indicates that the predecessor contains the successor in a sense specified by the specific type of Contains edge. |
Known Possible Out Edges | ||||
---|---|---|---|---|
Out Edge | Successor | Multiplicity | Description | |
HasVariable | Variable | ✱ | Links a Classifier or Package to one of its Variables.
| |
Inherited From | Out Edge | Successor | Multiplicity | Description |
Node | Contains | Node | ✱ | Indicates that the predecessor contains the successor in a sense specified by the specific type of Contains edge. |
Language mappings
None. Namespace is an abstract metaclass. Package (rather than Namespace) maps to the more concrete notion of a C++ (or MS-IL) namespace.