Class UML 2.4.1::DataType
Description:
A data type is a type whose instances are identified only by their value.
A data type may contain attributes to support the modeling of structured
data types.
Direct Superclasses: ClassifierDirect Subclasses: PrimitiveType,
EnumerationClass Precedence List: DataType,
Classifier,
Namespace,
Type,
PackageableElement,
ParameterableElement,
RedefinableElement,
NamedElement,
TemplateableElement,
ElementProperties:
![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
ownedAttribute :
Property (0 *); -- source
DataType![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
ownedOperation :
Operation (0 *); -- source
DataType![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
feature :
Feature (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
general :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
isAbstract : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
visibility :
VisibilityKind (1 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=182117%3A18D7FD17E5258E30A6DF0F21368CB73F)
owner :
Element (0 1); -- source
ElementConstraints:
Signature: CMOF_14_3_28() : Boolean;
Description: 14.3 [28] A Property owned by a DataType can only be typed by a DataType.
Expression: ownedAttribute.type.oclIsKindOf(DataType)
Operations:
Signature: inherit(inhs : NamedElement; ) : NamedElement;
Description: The inherit operation is overridden to exclude redefined properties.
The OCL used here is not normative.Editor's notes: reject not excluding. The operation Classifier.inhertedMember,
redefined to eliminate non-progressing recursion, does not use inherit.
Something similar should occur here. But I haven't written it yet.
See Class.inherit, Classifier.inherit. Needs further study!
Expression: result = inhs->reject(inh | ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))
Original: result = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))
Send questions or comments to
[email protected].