But if the relations are associations then A is associated to D,...
No, I disagree. Back to the assoc/depends argument. To me , the association A-B is a discrete instance of the UML association element. The existence of other, albeit equally valid associations between B and [some other element] do not confer any semantics between A and [some other element]. In your example, there
is a (or some) semantic relationship between them, but to me it is not an association.
Concrete example, if I can think of one while the cleaner is vacuuming around me....
[Plant]-----[Fruit]
|
|*
[Fertilizer]
In the above case,
unless there is a specific semantic in this implementation there is no implied or inferred relationship, association or otherwise between Fertilizer and Fruit.
If there is some relationship, whether it be structural or otherwise, I can highlight it visually as a dependency and thus gain audience attention to the fact that its not just an association.
So we might add a dependency between Fruit and Fertilizer, further adorned with constraints or whatever to include some information. For example, a constraint indicating to the coders that they need to consider the legality of the particular fertilizer being added to :Plant iff
:Fruit is for human consumption.
bruce