Current examples show the dependsOn RelationionshipType defined with a RequirementType on the source end and and CapabilityType on the remote end. This syntax forces someone wanting to use a dependsOn relation in a Service Template to have to a add a capability to the target NodeType if it does not yet have one, resulting in a change in the target's NodeType definition. In addition to being convenient and unnecessary, the "owner" of the target type may not expect users to be changing his/her type when they use it in Service Templates. From a type evolution perspective, this causes a change in the target NodeType, making it a different version than it original definition, which is not the intention (the user is not trying to change any of the semantics of the target NodeType).