Difference between revisions of "XCSG:Namespace"

From AtlasWiki
Jump to: navigation, search
(switching to metaclass template)
(switching to template for subkinds)
Line 19: Line 19:
 
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.
  
{{#ask: [[Extends::{{PAGENAME}}]] | mainlabel= Direct Subkinds: }}
+
{{Subkinds}}
  
 
[[Category:XCSG]][[Category:XCSG Node Kinds]][[Category: XCSG Tags]]
 
[[Category:XCSG]][[Category:XCSG Node Kinds]][[Category: XCSG Tags]]

Revision as of 19:22, 17 March 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.
References [5, p. 2-14, Figure 2-5], [5, pp. 2-49, 2-68]
Direct Subkinds Classifier, Package

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.


Direct Subkinds Classifier, Package