-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: CSD05
-
Fix Version/s: None
-
Component/s: Spec
-
Labels:None
-
Resolution:
The OPTIONAL attribute substitutableNodeType specifies the Node Type this Service Template can substitute, meaning that if another Service Template contains a Node Template of the specified Node Type, this Node Template can be substituted by an instance of this Service Template that then provides the functionality of the substituted node.
Consider the following scenario:
<ServiceTemplate id="example" substitutableNodeType="B">
...
</ServiceTemplate>
<NodeTemplate id="exampleTemplate" nodeType="A">
...
</NodeTemplate>
<NodeType name="A">
...
</NodeType>
<NodeType name="B">
<Derivedfrom typeref="A"/>
...
</NodeType>
According to the derived rule of NodeType, the ServiceTemplate "example" is capable to substitute the NodeTemplate "exampleTemplate".
So, I suggest to explain this attribute like this: "This OPTIONAL attribute specifies the Node Type with an indication that the specified NodeType and the NodeTypes derived from can be substituted by
this Service Template, meaning that if another Service Template contains a Node Template of the specified Node Type (or the NodeTypes derived from), this Node Template can be substituted by an instance of this Service Template that then provides the functionality of the substituted node."