The HasCondition ReferenceType is a concrete ReferenceType and can be used directly. It is a subtype of NonHierarchicalReferences. The representation in the AddressSpace is specified in Table 102.
The semantic of this ReferenceType is to specify the relationship between a ConditionSource and its Conditions. Each ConditionSource shall be the target of a HasEventSource Reference or a sub type of HasEventSource. The AddressSpace organisation that shall be provided for Clients to detect Conditions and ConditionSources is defined in Clause 6. Various examples for the use of this ReferenceType can be found in B.2.
HasCondition References can be used in the Type definition of an Object or a Variable. In this case, the SourceNode of this ReferenceType shall be an ObjectType or VariableType Node or one of their InstanceDeclaration Nodes. The TargetNode shall be a Condition instance declaration or a ConditionType. The following rules for instantiation apply:
- All HasCondition References used in a Type shall exist in instances of these Types as well.
- If the TargetNode in the Type definition is a ConditionType, the same TargetNode will be referenced on the instance. HasCondition References may be used solely in the instance space when they are not available in Type definitions. In this case the SourceNode of this ReferenceType shall be an Object, Variable or Method Node. The TargetNode shall be a Condition instance or a ConditionType.
Table 102 – HasCondition ReferenceType