Document details

Orthogonal persistence in Java supported by aspect- oriented programming and reflection

Author(s): Pereira, Rui Humberto ; Perez-Schofield, J. Baltasar García

Date: 2011

Persistent ID: http://hdl.handle.net/10400.22/8273

Origin: Repositório Científico do Instituto Politécnico do Porto

Subject(s): Aspect-oriented programming; Java; Program compilers


Description

The persistence concern implemented as an aspect has been studied since the appearance of the Aspect-Oriented paradigm. Frequently, persistence is given as an example that can be aspectized, but until today no real world solution has applied that paradigm. Such solution should be able to enhance the programmer productivity and make the application less prone to errors. To test the viability of that concept, in a previous study we developed a prototype that implements Orthogonal Persistence as an aspect. This first version of the prototype was already fully functional with all Java types including arrays. In this work the results of our new research to overcome some limitations that we have identified on the data type abstraction and transparency in the prototype are presented. One of our goals was to avoid the Java standard idiom for genericity, based on casts, type tests and subtyping. Moreover, we also find the need to introduce some dynamic data type abilities. We consider that the Reflection is the solution to those issues. To achieve that, we have extended our prototype with a new static weaver that preprocesses the application source code in order to introduce changes to the normal behavior of the Java compiler with a new generated reflective code.

Document Type Journal article
Language English
Contributor(s) Repositório Científico do Instituto Politécnico do Porto
facebook logo  linkedin logo  twitter logo 
mendeley logo

Related documents