To the association end can be assigned three types of navigability:
undefined - just line;
navigable(true in VP) - arrowhead;
not navigable(false in VP) - crosshead(X-head);
At this moment(v6.0 sp1_20070412), if both ends has undefined navigability, then the association is just line, and same is if both ends has navigable navigability. But in this case both ends should have arrowhead.
At this moment this can be solved by creating two associations one on another and assigning undefined to first association end, and undefined to second association opposite side. So we get two arrowheads on both sides.
Maybe there is another solution without creating two association instead of one.
As I know this design is following the UML specification. Normally, both ends would be True. There are cases that one end is true while the other isn’t. This kind of case would require a distinction of association end by showing the end with or without arrow head. Otherwise, both sides without an arrow head is, by default, meaning that both sides are navigable.
In the specification there is association with both navigable ends that has arrowheads(attachment). Maybe you are right and noone uses this notation.
Just wanted to point that if I assign navigability as undefined, then I think it means that I don
t know is it navigable or isnt or I just don
t want to show the navigability because it doesnt make sense to the audience.
But if I assign navigability as true, then the implementation/realization should contain the reference to opposite class by pointer or something else, so if both ends are navigable, then both classes should have the reference. Maybe I`m wrong
Anyway if I someone need this notation there is solution with two associations.