Required
| Cardinality
| Relationship
| In Diagram
| In Other Model
| Comments
|
Agent
|
Relationships OUT
|
| [0..*][0..*]
| Agent memberOf Aggregator
| X
| X
|
|
Relationships IN
|
|
| Metadata metadataFor Agent
| X
| X
| This is theoretically allowed, but so far has no practical use. For the purpose of documentation, it would be clearer to just leave this one out.
|
|
| Metadata annotates Agent
|
| X
| This should not be allowed, and removed from any documentation that mentions it
|
|
| Aggregator aggregatorFor Agent
| X
| X
|
|
|
| MetadataProvider metadataProviderFor Agent
| X
| X
|
|
|
| Aggregator authorizedToChange Agent(s)
| X
| X
| There is mention of an authorization model. Is this separate from the NDR model? Not really, but it was an overlay, and uses a different namespace Is it ok for me to show these relationships on the model diagrams? Yes
|
|
| MetadataProvider authorizedToChange Agent(s)
| X
| X
|
|
Aggregator
|
Relationships OUT
|
X
| [1][1]
| Aggregator aggregatorFor Agent
| X
| X
|
|
| [0..1][0..1]
| Aggregator associatedWith Resource
| X
| X
| Do any other object types have the associatedWith relationship? No
|
X
| [1..*][1..*]
| Aggregator authorizedToChange Agent(s)
|
| X
|
|
X
| [1..*][1..*]
| Aggregator authorizedToChange Aggregator(s)
|
| ?
| Used to indicate permissions given to groups of agents
|
| [0..*][0..*]
| Aggregator memberOf Aggregator
|
| X
|
|
Relationships IN
|
|
| Resource memberOf Aggregator
| X
| X
|
|
|
| Agent memberOf Aggregator
| X
| X
|
|
|
| Aggregator memberOf Aggregator
| X
| X
|
|
|
| Metadata metadataFor Aggregator
| X
| X
| Collections currently use this relationship, but this needs to be evaluated for collection API. i.e. collection metadata has a metadataFor relationship to the collection aggregator.
|
|
| Metadata annotates Aggregator
|
| X
| This should be removed
|
Metadata
|
Relationships OUT
|
| [0..1][0..*]
| Metadata annotates Agent
|
| X
| This should be removed
|
| [0..1][0..*]
| Metadata annotates Aggregator
|
| X
| This should be removed
|
| [0..1][0..*]
| Metadata annotates Resource
|
| X
| This directly conflicts with the notion of an annotation used by DLS. The semantics of current uses of this relation are inconsistent, and no services pay attention to the relationship. It should probably be removed.
|
X
| [0..1][0..*]
| Metadata metadataFor Agent
| X
| X
| At least one metadataFor relationship must exist for at least one of the <object> types, Agent, Aggregator, or Resource.
|
X
| [0..1][0..*]
| Metadata metadataFor Aggregator
| X
| X
|
|
X
| [0..1][0..*]
| Metadata metadataFor Resource
| X
| X
|
|
X
| [1][1]
| Metadata metadataProvidedBy MetadataProvider
| X
| X
|
|
Relationships IN
|
|
|
|
|
|
|
Metadata Provider
|
Relationships OUT
|
| [0..1][0..*]
| MetadataProvider aggregatedBy Aggregator
| X
|
| This is used exclusively for collections - to relate a collection MetadataProvider to the collection Aggregator. This relationship should be evaluated when we re-evaluate collections.
|
X
| [1][1..*]
| MetadataProvider authorizedToChange Agent(s)
| X
| X
|
|
X
| [1][1..*]
| MetadataProvider authorizedToChange Aggregators(s)
| X
| X
|
|
X
| [1][1]
| MetadataProvider metadataProviderFor Agent
| X
| X
|
|
Relationships IN
|
|
| Metadata metadataProvidedBy MetadataProvider
| X
| X
|
|
Resource
|
Relationships OUT
|
| [0..*][0..*]
| Resource memberOf Aggregator.
| X
| X
|
|
Relationships IN
|
|
| Metadata metadataFor Resource
| X
| X
|
|
|
| Metadata annotates Resource
|
| X
|
|
|
| Aggregator associatedWith Resource
|
| X
|
|