[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2695664.2695717acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

A modelling language for the effective design of Java annotations

Published: 13 April 2015 Publication History

Abstract

This paper describes a new modelling language for the effective design 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 conceived 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 plugin, 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 Persistence API (JPA). It has proven to cover a greater scope with respect to other related work in different shared areas of application.

References

[1]
Hibernate ORM. http://hibernate.org/orm/. Accessed: 2014-09-20.
[2]
Java annotations in 5th edition. http://docs.oracle.com/javase/1.5.0/docs/guide/language/annotations.html. Accessed: 2014-07-13.
[3]
Java Enterprise Edition 7 API. http://docs.oracle.com/javaee/7/api/. Accessed: 2014-07-13.
[4]
Seam annotations. http://docs.jboss.org/seam/latest/reference/html/annotations.html. Accessed: 2014-09-20.
[5]
Spring. http://spring.io/. Accessed: 2014-09-20.
[6]
Type Annotations and Pluggable Type Systems. http://docs.oracle.com/javase/tutorial/java/annotations/type_annotations.html. Accessed: 2014-08-31.
[7]
Xtext. http://www.eclipse.org/Xtext/. Accessed: 2014-09-20.
[8]
Bergmayr, A., Grossniklaus, M., Wimmer, M., and Kappel, G. JUMP - From Java Annotations to UML Profiles. In 17th International Conference on Model Driven Engineering Languages and Systems, MODELS'14 (2014), p. to appear.
[9]
Brambilla, M., Cabot, J., and Wimmer, M. Model-Driven Software Engineering in Practice. Synthesis Lectures on Software Engineering. Morgan & Claypool, USA, 2012.
[10]
Cazzola, W., and Vacchi, E. @java: Bringing a richer annotation model to java. Computer Languages, Systems & Structures 40, 1 (2014), 2--18. Special issue on the Programming Languages track at the 28th ACM Symposium on Applied Computing.
[11]
Clark, T., Sammut, P., and Willans, J. S. Beyond annotations: A proposal for extensible java (XJ). In Eighth IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2008), 28-29 September 2008, Beijing, China (2008), pp. 229--238.
[12]
Darwin, I. Annabot: A static verifier for java annotation usage. Advances in Software Engineering (2010).
[13]
Noguera, C., and Pawlak, R. AVal: an Extensible Attribute-Oriented Programming Validator for Java. In 6th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'06) (Philadelphia, PA, USA, 2006), IEEE, pp. 175--183.
[14]
Phillips, A. @composite: Macro annotations for java c. In Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications (New York, NY, USA, 2009), OOPSLA '09, ACM, pp. 767--768.
[15]
Schildt, H. Java: The complete reference, J2SE, 5th ed. McGraw-Hill, New York, 2005.
[16]
Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E. EMF: Eclipse Modeling Framework, 2nd Edition. Addison-Wesley Professional, 2008. See also http://www.eclipse.org/modeling/emf/.
[17]
Voelter, M. DSL Engineering - Designing, Implementing and Using Domain-Specific Languages. dslbook.org, 2013. 2092

Cited By

View all
  • (2018)Leveraging annotation-based modeling with JumpSoftware and Systems Modeling (SoSyM)10.1007/s10270-016-0528-y17:1(65-89)Online publication date: 1-Feb-2018
  • (2016)AnnComputer Languages, Systems and Structures10.1016/j.cl.2016.02.00245:C(164-190)Online publication date: 1-Apr-2016
  • (2016)An Approach for Code Annotation Validation with Metadata Location TransparencyComputational Science and Its Applications -- ICCSA 201610.1007/978-3-319-42089-9_30(422-438)Online publication date: 1-Jul-2016

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '15: Proceedings of the 30th Annual ACM Symposium on Applied Computing
April 2015
2418 pages
ISBN:9781450331968
DOI:10.1145/2695664
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 April 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Java
  2. annotations
  3. code generation
  4. domain-specific languages
  5. model driven engineering

Qualifiers

  • Research-article

Conference

SAC 2015
Sponsor:
SAC 2015: Symposium on Applied Computing
April 13 - 17, 2015
Salamanca, Spain

Acceptance Rates

SAC '15 Paper Acceptance Rate 291 of 1,211 submissions, 24%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 19 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Leveraging annotation-based modeling with JumpSoftware and Systems Modeling (SoSyM)10.1007/s10270-016-0528-y17:1(65-89)Online publication date: 1-Feb-2018
  • (2016)AnnComputer Languages, Systems and Structures10.1016/j.cl.2016.02.00245:C(164-190)Online publication date: 1-Apr-2016
  • (2016)An Approach for Code Annotation Validation with Metadata Location TransparencyComputational Science and Its Applications -- ICCSA 201610.1007/978-3-319-42089-9_30(422-438)Online publication date: 1-Jul-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media