Steve, dependencies and the stereotypes on them are still under discussion as mentioned in TR-139.
Some background on how they came to being and this may invite more comments and/or ease your modeling task
1. why dependencies:
Most of this representation is inspired by the SOA based NGN OSS Service and its Interfaces in ETSI's reference model; that model represents both the Service Interface (lollipop) and the Service Interface Consumer (socket); the rationale behind representing Consumers was to indicate how/if an NGN OSS services uses a NOSI published by another NGN OSS Service and I found also [in the TS-18880001 spec] a constraint saying that a Consumer that offers that same functionality must realize it through its own NOSIs.
The underlying SOA assumption of the model helps with establishing dynamic/runtime relationships between Interfaces and their Consumers but sometimes it may go manual. Tracing how they happen is important for understanding dependencies, dimensioning/capacity planning.
This dependency tracing has been emphasized as very important for managing operational environments from change, revision, packaging, operational integrity perspectives.
It has been argued with good reasons that dependencies can sit in the metadata and that such "Consumer" dependency is not really needed on the model.
2. the meaning of dependencies:
In SDF service model, Service Interfaces have been subtyped "Functional" and "LCM". Consumer interfaces have been subtyped using a little bit different rationale:
- dependency on legacy resources that have no SOA capabilities and can not be represented as SOA compliant service
- functional dependency in the approach described above, meaning on similarly defined services
Does this help?
Lucia