Attribute-Oriented Programming

From Handwiki

Attribute-oriented programming (@OP) is a technique for embedding metadata, namely attributes, within program code.

Attribute-oriented programming in various languages

Java

With the inclusion of Metadata Facility for Java (JSR-175)[1] into the J2SE 5.0 release it is possible to utilize attribute-oriented programming right out of the box. XDoclet library makes it possible to use attribute-oriented programming approach in earlier versions of Java.

C#

The C# language has supported attributes from its very first release. These attributes was used to give run-time information and are not used by a preprocessor. Currently with source generators, you can use attributes to drive generation of additional code at compile-time.

UML

The Unified Modeling Language (UML) supports a kind of attribute called stereotypes.

Hack

The Hack programming language supports attributes. Attributes can be attached to various program entities, and information about those attributes can be retrieved at run-time via reflection.

Tools

  • Annotation Processing Tool (apt)
  • Spoon, an Annotation-Driven Java Program Transformer
  • XDoclet, a Javadoc-Driven Program Generator

References

  1. "The Java Community Process(SM) Program - communityprocess - final". https://jcp.org/aboutJava/communityprocess/final/jsr175/index.html. 
  • "Attribute-Oriented Programming". An Introduction to Attribute-Oriented Programming. Archived from the original on May 26, 2005. https://web.archive.org/web/20050526230023/http://dssg.cs.umb.edu/resources/attribute-oriented-programming.html. Retrieved July 22, 2005. 
  • Wada, Hiroshi; Suzuki, Junichi (2005). "Modeling Turnpike Frontend System: a Model-Driven Development Framework Leveraging UML Metamodeling and Attribute-Oriented Programming". In Proc. of the 8th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MoDELS/UML 2005). https://www.cs.umb.edu/~jxs/pub/models05.pdf. 
  • Rouvoy, Romain; Merle, Philippe (2006). "Leveraging Component-Oriented Programming with Attribute-Oriented Programming". In Proc. of the 11th ECOOP International Workshop on Component-Oriented Programming (WCOP 2006). Archived from the original on 2006-12-23. https://web.archive.org/web/20061223004531/http://research.microsoft.com/~cszypers/events/WCOP2006/rouvoy-wcop-06.pdf. 

External links

  • Don Schwarz. Peeking Inside the Box: Attribute-Oriented Programming with Java5
  • Sun JSR 175
  • Attributes and Reflection - sample chapter from Programming C# book
  • Modeling Turnpike Project
  • Fraclet : An annotation-based programming model for the Fractal component model
  • Attribute Enabled Software Development book




Retrieved from "https://handwiki.org/wiki/index.php?title=Attribute-oriented_programming&oldid=3361506"

Categories: [Programming paradigms]


Download as ZWI file | Last modified: 08/21/2024 10:42:38 | 3 views
☰ Source: https://handwiki.org/wiki/Attribute-oriented_programming | License: CC BY-SA 3.0

ZWI is not signed. [what is this?]