Separating Adaptable Persistence Attributes through Computational Reflection

  • Authors:
  • Francisco Ortin;Benjamin Lopez;J. Baltasar Garcia Perez-Schofield

  • Affiliations:
  • University of Oviedo;University of Oviedo;University of Vigo

  • Venue:
  • IEEE Software
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.