"Representing Explicit Attributes in UML" is an article about how to represent explicit attributes (e.g. Java annotations) in UML - and a lesson why you shouldn't believe everything, even if it is published by guys working at a university.
The first thing that I noticed when reading that article was that it nowhere mentioned when it was written. That makes it very difficult to find out whether you're actually looking at the most recent version, in case there are more variants. But the date also is interesting for many other reasons that I do not want to discuss here. What we learn from here is that mere usage of TeX is not enough to create a high quality document.
Already mentioned above.
So now for the details. In "Figure 6: Attributes as Separate UML Class" the association between the class and its metadata is shown to be directed from the metadata to the class. This is wrong. The class is annotated and that annotation information is available through the class, so the class knows the metadata. Therefore, the navigability of that association is wrong.
The authors clearly favor the notation of a separate classes for expressing metadata. This is nonsense in multiple ways. First of all, they do not properly explain how exactly they came to the respective conclusions. It is impossible to reproduce their evaluation. Only the evaluation results are displayed, not the evaluation mechanisms. Second, anonymous classes really are not nice.
The evaluation clearly lacks the necessary academic nature. The authors do not explain how exactly they came to their conclusions. The evaluation results are displayed, but the evaluation mechanism remains unexplained. It therefore is impossible to reproduce their evaluation. It occurs to me as a reader as their conclusion is a personal matter of taste. Clearly, it is valid for anybody to have an opinion based on a personal matter of taste. But I would expect from a publication of a scientific nature to really be written in a more objective and academic way.
Compare their alternatives "Stereotypes" and "Separate classes". Take a close look. Both alternatives display the data of an annotation in {}. Both alternatives do so in the title region of a class. Why is "Separate classes" "Structure ++" and "Stereotype" only "Structure -"? The answer is very obvious: Because the authors deliberately formatted the solution with "Separate classes" in a more structured way than the solution "Stereotype". Of course it is possible to apply the same structured formatting to the solution "Stereotype".
Now get this. From their explanation of "Clarity": "The less verbose notations are preferred.". Now I ask myself, why does "Separate Class", which is more verbose, get "Clarity +", while "Stereotype", which is nearly the same but without a separate class, get "Clarity -"?
While this document is interesting in case you're looking for possible ways for displaying annotations in UML, don't take it too serious. The document is not academic, not scientific, and the arguments and conclusions made in the document are complete nonsense.
Cher is a computer hacker that actively contributes to open source software and also runs some of his own projects as open source.
Cher's homepage is ↗http://www.riedquat.de/.
The article can be found at ↗http://www.st.informatik.tu-darmstadt.de/database/publications/data/cepa-kloppenburg-aom05.pdf?id=138.