Hi bruce,
thanks for the research...
Although I cant understand the "why", it appears to me that the lozenge and the association class aren't the same thing ... according to the OMG.
Sup 2 Any association may be drawn as a diamond (larger than a terminator on a line) with a solid line for each association end connecting the diamond to the classifier that is the end’s type. An association with more than two ends can only be drawn this way.
The key for me are the words
association end.
IOW a binary association is a special case of an n-ary association. Also, it appears that the diamond/lozenge itself has little or no semantic value.
Well, yes and no (IMHO:))... You're absolutely right when you say a binary Association is a special case of the N-ary Association. the reason is that it can be represented as a lozenge with two associationEnds! That's why I said I wasn't sure the "spikes" were Associations - in UML, they're NOT, they're associationEnds! This wasn't clear to me until your quote! By convention, UML allows the "degeneration" of the lozenge to a point in the case of the binary association, but, in my opinion it's still there!
An association class on the other hand does have semantic value in that it describes classifier like properties of the association.
Sup 2A model element that has both association and class properties. An AssociationClass can be seen as an association that also has class properties, or as a class that also has association properties. It not only connects a set of classifiers but also defines a set of features that belong to the relationship itself and not to any of the classifiers.
(I love the second sentence in the above BTW)
Yes, OMG are being very twee here (as you indicate below on not being able find anything in th specification on this structuring).
The specification says nothing about the AssociationClass being restricted to binary Associations (as far as I can see).
What is incorrect, IMO, is that you cannot connect a class to the lozenge as an association class (I think thats what you meant in your initial sentence). EA allows you you to connect the putative association class to any one of the ends of a "lozenged" association, but not the lozenge itself. If it did, it would allow us to properly set up lozenged Associations as AssociationClasses.
Yes, I now agree that EA shouldn't have allowed me to connect the AssociationClass to the lozenge, but precisely because the lozenge IS the AssociationClass - exactly as you say! Those lines (spikes) are associationEnds NOT Associations! I think we need EA to support the AssociationClass as the lozenge under a different rendering and to support the spikes as associationEnds (basically the TargetRole of an association ONLY.
OTHO I note you can connect the putative association class class to the lozenge using a realization link. I'll leave the semantic interpretation of that to better minds (a classifier that realises an association???).
Interestingly (or not), I cant find anything in the spec on this type of structuring.
bruce
p.s. Paolo, could you provide definition of "represents" as you have used it - looks more promising than realizes.
I'm no longer using the «represents» dependency - it was merely a "placeholder" until the EA functionality was rectified.
As I've tried to emphasise, I'm NOW of the view (reinforced by what you discovered in the specification) that a named, navigable associationEnd IS an attribute (and vice versa) and that an AssociationClass IS the N-ary Association lozenge and in the case of the binary Association is the hidden lozenge in the middle.
BTW: if the AssociationClass has (itself) Associations with other Classes (which it must if has attributes) then which Associations are the one that make up the N-ary bit and which ones aren't? under my proposal, those associationEnds that make up the N-Ary are only associationEnds, the others are true associations! I've got a special stereotype «end» which designates the "association" as an associationEnd ONLY... (Therefore only the TargetRole has meaning and must be singular mandatory etc etc etc)
When we separately render the AssociationClass we can put in the "link" we see now - not because the AssociationClass is linked to the Association but precisely because it is the Association (the lozenge) - whether degenerate or not...
I think this all makes
consistent sense to me...

What do you (and others) think?
Paolo