This paper describes a new modelling language for the ef-
fective design of Java annotations. Since their inclusion in
the 5th edition of Java, annotations have grown from a use-
ful tool for the addition of meta-data to play a central role
in many popular software projects. Usually they are con-
ceived as sets with dependency and integrity constraints
within them; however, the native support provided by Java
for expressing this design is very limited.
To overcome its deficiencies and make explicit the rich
conceptual model which lies behind a set of annotations, we
propose a domain-specific modelling language.
The proposal has been implemented as an Eclipse plug-
in, including an editor and an integrated code generator that
synthesises annotation processors. The language has been
tested using a real set of annotations from the Java Per-
sistence API (JPA). It has proven to cover a greater scope
with respect to other related work in diferent shared areas
of application