Sometimes, a high-level Referencemight be refined by more fine granular References, including a more detailed path. For example, DeviceA controls DeviceB (see Figure 3, A)). This might be refined, exposing what network equipment is used for the communication (see Figure 3, B)), and further refined by exposing, which ports are used (see Figure 3, C)). Alternatively, it might directly be refined with ports and switches (see Figure 3, D)).


Figure 3– Examples of Reference Refinements

Without providing Reference refinement, there may be multiple paths possible (e.g., several switches, see Figure 4), and thus it is not clear which path the high-level Referenceis using at any given instance in time.


Figure 4– Example of Reference Refinements with multiple path options

Therefore, the Property ReferenceRefinementis defined for the ReferenceDescriptionVariableType(see 5.3.1) allowing to make the refined Referencesexplicit. In Figure 5, an example is given. The ReferenceDescription Variablecontaining the refinement can be referenced by any Nodein the refinement path using the HasReferenceDescription ReferenceTypeto expose the information (see Figure 5).


Figure 5– Example of how to use Reference Refinements

When multiple levels are addressed, each ReferenceDescription Variableonly contains one level, as shown in Figure 6. The “Controls” Variableonly contains the first level, via the Switch. The “ConnectedTo1” and “ConnectedTo2” Variablesfurther refine the Referencesused in the first refinement level. Both contain multiple hops in one refinement. In the example, the Nodesused in the refinement of “ConnectsTo1” do reference the ReferenceDescription Variable, whereas for “ConnectsTo2” they do not. Both options are allowed.


Figure 6– Example of how to use Reference Refinements with two Levels and Multiple Hops

Note that the ReferenceRefinementintentionally only defines one refinement path (of potentially many possible paths between the Nodes). If the path used changes, the ReferenceRefinementneeds to change.