Hi all,
The issue is further compounded by the fact that the UML2
Infrastructure document specifically states (correctly) that a
navigable association with a role IS an attribute. (Geoffrey,
did you see this?)
At our site, which currently uses another tool, we have created
our own generators. We have created composite associations
(with stereotype: <<attributive>>)for each attribute that
references another class (as opposed to a simple datatype).
Multiplicity is set appropriately at both ends.
Further, to aid visualization and to cross check the model, we
create a dependency (stereotype: <<attributive>>) between the
dependent (home) class and the independent (referenced) class.
We set the multiplicity of the dependency to the number of
attributes that reference the class, and the name of the
dependency (not normally used) to the list of names of the
attributes implying this dependency.
By automating this process and then automatically creating
automata that traversed the model and drew diagrams under our
control we were able to "see" the model in new ways.
Once we started doing this, anomalies in the model suddenly
started to be "in your face"!
Paolo
