PLSEDec 2, 2018

Ann: A domain-specific language for the effective design and validation of Java annotations

arXiv:1812.00992v121 citations
Originality Synthesis-oriented
AI Analysis

This work addresses the problem of effective design and validation of Java annotations for software developers, but it is incremental as it builds on existing annotation concepts with a new modeling tool.

The paper tackles the limited native support in Java for designing and validating groups of annotations with dependencies and constraints by proposing Ann, a domain-specific modeling language implemented as an Eclipse plug-in with an editor, code generator, and model finder. It was tested on the Java Persistence API, showing that Ann can express rich semantics omitted by Java, demonstrating its benefits in a real-world application.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes