After perusing the aforementioned forums, the miUML discussions, and my own metamodel musings, the only conclusion is that there is no concensus. The xtUML pundentry is split about 50/50 on this topic, so I’ll just have to address John’s question and explain myself.
I have always found a usefulness to addressing referential attributes and their placement when doing analysis of a problem space. I mused in the Yahoo! forum that maturity in modeling might obviate the usefulness of this, but I can’t say I found this to be true. The same goes for contrived identifiers. I can clearly state that I will always put them in my models.
Given the above, I have a real hard time assigning an attribute to a class that is only an attribute sometimes. This would be an incomplete model in my mind. I could probably back this up with some words of wisdom from C.J. Date ala. relational, but … This is the crux of my no NULLs rule; it applies only to me, and I’m not proposing otherwise.
Maybe once I finish my metamodel analysis, I’ll have a stronger argument, but for right now, it’s just a preference.