Logo

6.7 Annotation constellation

Annotations are increasingly used as a mechanism to add extra information to the basic logic of a program. While seemingly cheap, they can introduce a significant layer of complexity.

The Annotation Constellation is a visualization whose goals are:

  • to help identify which annotations are closer together and with this occasion get an idea of what technologies are used
  • to make explicit the fact that annotations do introduce extra dependencies that lead to extra complexity.

The labels show annotations (applicable to classes, methods or attributes), the small squares represent classes, and the lines connect annotations with the corresponding classes affected by annotations. The spring layout reveals islands of annotation and related classes.

For getting an improved layout, the visualization requires Graphviz to be installed in the command line (works on Linux and Mac OS X systems).

The visualization can be generated from the contextual menu of a group of AnnotationTypes: Visualize/Annotation Constellation. The picture below was obtained by applying the visualization on a JEE system.

Annotation constellation applied on a JEE system

User Contributed Notes

rjo (23 July 2010, 4:45 pm)

[...] seemingly cheep, they [...]

[...] seemingly CHEAP, they [...]

Add a Note