CFP last date
20 January 2025
Reseach Article

Features of Annotations and their Applications

by Shiva Prakash, J.P. Saini, R. K. Singh, Karan Singh
International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Volume 16 - Number 8
Year of Publication: 2011
Authors: Shiva Prakash, J.P. Saini, R. K. Singh, Karan Singh
10.5120/2034-2391

Shiva Prakash, J.P. Saini, R. K. Singh, Karan Singh . Features of Annotations and their Applications. International Journal of Computer Applications. 16, 8 ( February 2011), 14-21. DOI=10.5120/2034-2391

@article{ 10.5120/2034-2391,
author = { Shiva Prakash, J.P. Saini, R. K. Singh, Karan Singh },
title = { Features of Annotations and their Applications },
journal = { International Journal of Computer Applications },
issue_date = { February 2011 },
volume = { 16 },
number = { 8 },
month = { February },
year = { 2011 },
issn = { 0975-8887 },
pages = { 14-21 },
numpages = {9},
url = { https://ijcaonline.org/archives/volume16/number8/2034-2391/ },
doi = { 10.5120/2034-2391 },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Journal Article
%1 2024-02-06T20:04:21.051791+05:30
%A Shiva Prakash
%A J.P. Saini
%A R. K. Singh
%A Karan Singh
%T Features of Annotations and their Applications
%J International Journal of Computer Applications
%@ 0975-8887
%V 16
%N 8
%P 14-21
%D 2011
%I Foundation of Computer Science (FCS), NY, USA
Abstract

Annotations are descriptive declarative information that can be associated with program elements. They can be used to represent metadata. This is useful in many cases like providing documentation, connecting to database etc. These annotations are later read by the execution environment and appropriate action will be taken. For custom annotations, a process called reflection is used to take necessary action. Although Java introduced this feature recently, attributes / annotations have been a topic of interest for researchers. There are tools and applications which make use of annotations. This paper, we will first have a look at annotations and annotation types. Then we go on to discuss in detail how annotations support injecting dependencies into resources like data sources, mail sources, environment entries, EJBs, web services, and so on. The new features are targeted to shift the responsibility of writing the boilerplate code from the programmer to the compiler or other tools. The resulting code is less likely to be bug-prone.

References
  1. Lilian Burdy, Marieke Huisman, and Mariela Pavlova, “ Preliminary design of BML: A behavioral interface specification language for Java bytecode”, In Fundamental Approaches to Software Engineering, pages 215–229, Braga, Portugal, March 27–30, 2007.
  2. Sun Documentation on Annotations http://java.sun.com/j2se/1.5.0/docs/guide/language/ annotations.html
  3. Sun Documentation on Reflection http://java.sun.com/docs/books/tutorial/reflect
  4. Sarfraz Kurshid, Darkov Morinov, Daniel Jackson, “An Analyzable Annotation Language.” ACM November, 2002.
  5. Pominville, Feng Qian, Raja Vallee-Rai, Laurie Hendren, Clark Verbrugge. “A Framework for Optimizing Java Using Attributes. Patrice ACM November 2000.
  6. Tom Mens, Roel Wuyts, Kris De Volder, Kim Mens, “Declarative Meta Programming to Support Software Development: Workshop Report.” ACM SIGSOFT March 2003.
  7. Michael Thies, “Annotating Java Libraries in Support of Whole – Program Optimization,” ACM 2002.
  8. " Web Tier to Go With Java EE 5: A Look at Resource Injection"
  9. Mats Skoglund and Tobias Wrigstad. ‘A mode system for read-only references in Java”, In FTfJP’2001: 3rd Workshop on Formal Techniques for Java-like Programs, Glasgow, Scotland, June 18, 2001.
  10. Ma X, Lee H, Bird S, Maeda K, “Models and tools for collaborative annotation,” In Proceedings of 3rd Language Resources and Evaluation Conference (LREC'2002), Gran Canaria, Spain.
  11. Cunningham H, Maynard D, Bontcheva K, Tablan V “GATE: A framework and graphical development environment for robust NLP tools and applications”,. In Proceedings of the 40th Anniversary Meeting of the Association for Computational Linguistics (ACL’02). Philadelphia, US.
  12. Chris Male, David Pearce, Alex Potanin, and Constantine Dymnikov” Java bytecode verification for @NonNull types”, In Compiler Construction: 14th International Conference, CC 2008, pages 229–244, Budapest, Hungary, April 3–4, 2008.
  13. Rajiv Mordani, “JSR 250: Common annotations for the Java platform”, http://jcp.org/en/jsr/ detail?id=250, May 11, 2006.
  14. Matthew M. Papi, Mahmood Ali, Telmo Luis Correa Jr., Jeff H. Perkins, and Michael D. Ernst, “Practical pluggable types for Java. In ISSTA”, Proceedings of the 2008 International Symposium on Software Testing and Analysis, pages 201–212, Seattle, WA, USA, July 22–24, 2008.
  15. An Oracle White Paper, Introduction to Java Platform, Enterprise Edition 6, April 2010
  16. Trevor Harmon and Raymond Klefstad, “Toward a unified standard for worst-case execution time annotations in real-time Java” In WPDRTS 2007, Fifteenth International Workshop on Parallel and Distributed Real-Time Systems, Long Beach, CA, USA, March 2007.
  17. Joshua Bloch, “JSR 175: A metadata facility for the Java programming language”, http://jcp.org/en/ jsr/detail?id=175, September 30, 2004.
  18. William Pugh, “JSR 305: Annotations for software defect detection”, http://jcp.org/en/jsr/detail? id=305, August 29, 2006. JSR Review Ballot version.
Index Terms

Computer Science
Information Sciences

Keywords

Annotations Security Dependency Injection Transactions