The UsesSubtypeRestriction is a concrete ReferenceType and can be used directly. It is a subtype of NonHierarchicalReferences.
The semantic of this ReferenceType is to link from a Variable to an Object of SubtypeRestrictionType, restricting the usage of subtypes on values of the Variable.
The SourceNode of References of this type shall be a Variable. The Variable shall not be used as InstanceDeclaration.
Note, that Method Arguments can be further described using Variables referenced with a HasArgumentDescription. This Variable can be used as SourceNode for the UsesSubtypeRestriction to further restrict the DataType.
Each Node shall be the SourceNode of at most one UsesSubtypeRestriction Reference.
The TargetNode of this ReferenceType shall be an Object of SubtypeRestrictionType or a subtype. The DataType of the SourceNode and the DataType restricted in the TargetNode shall be identical.