The HasTypeDefinition ReferenceType is a concrete ReferenceType and can be used directly. It is a subtype of NonHierarchicalReferences.

The semantic of this ReferenceTypeis to bind an Objector Variableto its ObjectType orVariableType,respectively.The relationships between types and instances are described in 4.5.

The SourceNodeof this ReferenceTypeshall be an Objector Variable. If the SourceNodeis an Object, then the TargetNodeshall be an ObjectType; if the SourceNodeis a Variable, then the TargetNodeshall be a VariableType.

Each Variableand each Objectshall be the SourceNodeof exactly one HasTypeDefinition Reference.