Issue No.06 - November/December (2004 vol.21)
Francisco Ortin , University of Oviedo
Benjamin Lopez , University of Oviedo
J. Baltasar Garc? Perez-Schofield , University of Vigo
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2004.52
The separation-of-concerns principle aims to separately modularize the different parts of software that are relevant to a particular concept, goal, task, or purpose. Appropriate separation of application concerns reduces software complexity, improves comprehensibility, and facilitates concerns reuse. Considering persistence as a common application concern, its separation from a program's main code implies it is possible to develop applications without considering persistence requirements. Programmers can then plug in persistence aspects at a later stage. This separation gives the developer a way to handle persistence software attributes regardless of the application functionality. There are various approaches for separating persistent features. However, computational reflection can better manage persistence concerns with complete transparency, offering exceptional adaptability. The authors have developed a reflective system called nitrO, and a prototype persistence system based on this reflective system. This research-oriented prototype illustrates how to use computational reflection in future persistence systems to completely separate and adapt application persistence attributes at runtime.
persistence system, separation of concerns, orthogonal persistence, aspect-oriented programming, computational reflection, nitrO
Francisco Ortin, Benjamin Lopez, J. Baltasar Garc? Perez-Schofield, "Separating Adaptable Persistence Attributes through Computational Reflection", IEEE Software, vol.21, no. 6, pp. 41-49, November/December 2004, doi:10.1109/MS.2004.52