Ann: A domain-specific language for the effective design and validation of Java annotations
Entity
UAM. Departamento de Ingeniería InformáticaPublisher
Elsevier LtdDate
2016-04Citation
10.1016/j.cl.2016.02.002
Computer Languages, Systems and Structures 45 (2016): 164-190
ISSN
1477-8424 (print); 1873-6866 (online)DOI
10.1016/j.cl.2016.02.002Funded by
We would like to thank the reviewers for their detailed comments, which helped us in improving a previous version of this paper. This work has been partially supported by the Spanish Ministry of Economy and Competitivity with project FLEXOR (TIN2014-52129-R) and the Community of Madrid with project SICOMORO-CM (S2013/ICE-3006).Project
Gobierno de España. TIN2014-52129-R; Comunidad de Madrid. S2013/ICE-3006/SICOMOROEditor's Version
http://dx.doi.org/10.1016/j.cl.2016.02.002Subjects
Model Driven Engineering; Domain-Specific Languages; Code generation; Java annotations; Model Finders; InformáticaNote
This is the author’s version of a work that was accepted for publication in Computer Languages, Systems & Structures. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Computer Languages, Systems & Structures, VOL 45, (2016) DOI 10.1016/j.cl.2016.02.002Rights
© 2016 Elsevier B.V. All rights reservedEsta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.
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 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 environment also integrates a model finder, able to detect unsatisfiable 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 a relevant field of application.
Files in this item
Google Scholar:Córdoba-Sánchez, Irene
-
Lara Jaramillo, Juan de
This item appears in the following Collection(s)
Related items
Showing items related by title, author, creator and subject.