Citation
Córdoba Sánchez, Irene and Lara Jaramillo, Juan de
(2016).
Ann: a domain-specific language for the effective design and validation of Java annotations.
"Computer Languages Systems & Structures", v. 45
;
pp. 164-190.
ISSN 1477-8424.
https://doi.org/10.1016/j.cl.2016.02.002.
Abstract
This paper describes a new modelling language for the effective design and validation of
Java annotations. Since their inclusion in the 5th edition of Java, annotations have grown
from a useful tool for the addition of meta-data to play a central role in many popular
software projects. Usually they are not conceived in isolation, but in groups, with
dependency and integrity constraints between them. However, the native support provided by Java for expressing this design is very limited.
To over
come
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 environmental so integrates a model finder,able to detectun satisfiable constraints between different annotations, and to provide examples of correct annotation usages for validation. The language has been tested
using a real set of annotations from the Java Persistence API(JPA).Within this subset we have found enough rich semantics expressible with Ann and omitted nowadays by the Java language, which shows the benefits of Ann in are levant field of application.