Towards a Flexible and Transparent Database Evolution

  • Rui Humberto Pereira
  • J. Baltasar García Perez-Schofield
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 276)


Applications refactorings that imply the schema evolution are common activities in programming practices. Although modern object-oriented databases provide transparent schema evolution mechanisms, those refactorings continue to be time consuming tasks for programmers.

In this paper we address this problem with a novel approach based on aspect-oriented programming and orthogonal persistence paradigms, as well as our meta-model.

An overview of our framework is presented. This framework, a prototype based on that approach, provides applications with aspects of persistence and database evolution. It also provides a new pointcut/advice language that enables the modularization of the instance adaptation crosscutting concern of classes, which were subject to a schema evolution.

We also present an application that relies on our framework. This application was developed without any concern regarding persistence and database evolution. However, its data is recovered in each execution, as well as objects, in previous schema versions, remain available, transparently, by means of our framework.


orthogonal persistence schema evolution aspect-oriented programming 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Rashid, A., Leidenfrost, N.A.: Supporting flexible object database evolution with aspects. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol. 3286, pp. 75–94. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Kusspuswami, S., Palanivel, K., Amouda, V.: Applying aspect-oriented approach for instance adaptation for object-oriented databases. In: Proceedings of the 15th International Conference on Advanced Computing and Communications, pp. 35–40. IEEE Computer Society, Washington, DC (2007)Google Scholar
  3. 3.
    Pereira, R.H., Perez-Schofield, J.: An aspect-oriented framework for orthogonal persistence. In: 2010 5th Iberian Conference on Information Systems and Technologies (CISTI), pp. 1–6 (2010)Google Scholar
  4. 4.
    Pereira, R.H., Perez-Schofield, J.B.G.: Orthogonal persistence in java supported by aspect-oriented programming and reflection. In: 2011 6th Iberian Conference on Information Systems and Technologies (CISTI), pp. 1–6 (June 2011)Google Scholar
  5. 5.
    Pereira, R.H., Perez-Schofield, J.B.G.: Database evolution on an orthogonal persistent programming system - a semi-transparent approach. In: 2012 7th Iberian Conference Information Systems and Technologies (CISTI), pp. 1–6 (June 2012)Google Scholar
  6. 6.
    Atkinson, M., Morrison, R.: Orthogonally persistent object systems. The VLDB Journal 4(3), 319–402 (1995)CrossRefGoogle Scholar
  7. 7.
    Filman, R.E., Friedman, D.P.: Aspect-oriented programming is quantification and obliviousness. Technical report (2000)Google Scholar
  8. 8.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  9. 9.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectj. In: Lindskov Knudsen, J. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  10. 10.
    Rashid, A., Leidenfrost, N.A.: Vejal: An aspect language for versioned type evolution in object databases. In: Workshop on Linking Aspect Technology and Evolution (Held in Conjunction with AOSD) (2006)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Rui Humberto Pereira
    • 1
  • J. Baltasar García Perez-Schofield
    • 2
  1. 1.ISCAPInstituto Politécnico do PortoPortoPortugal
  2. 2.Departamento de InformáticaUniversidad de VigoVigoEspaña

Personalised recommendations