User:ProgrammerInFL/sandbox

In the Unified Modeling Language (UML), a DataType is a type whose instances are identified only by their value. A DataType may contain attributes to support the modeling of structured data types.

DataType inherits from Classifier. A DataType is a special kind of classifier, similar to a class. A DataType differs from a class in that instances of a DataType are identified only by their value. All copies of an instance of a Datatype and any instances of that DataType with the same value are considered to be equal instances. Instances of a DataType that have attributes, such as structured DataType) are considered to be equal if the structure is the same and the values of the corresponding attributes are equal. If a DataType has attributes, then instances of that DataType will contain attribute values matching the attributes.

The notation for displaying a DataType is a rectangle with the keyword «dataType» or, when it is referenced by, say an attribute, it is denoted by a string containing the name of the DataType.

Associations
An association describes a set of tuples of typed instances.
 * ownedAttribute: Property[*]: The Attributes owned by the DataType. This is an ordered collection. Subsets Classifier::attribute and Namespace::ownedMember.
 * ownedOperation: Operation[*]: The Operations owned by the DataType. This is an ordered collection. Subset Classifier::feature and Namespace::ownedMember.

The DataType class belongs to the base package in UML called the Kernel. This is the package that contains the superclasses that make up the superstructure of the UML language.

Subclasses of DataType provide semantics appropriate to data they represent. The comments for an Element add no semantics but may represent information useful to the reader of the model.