Computing Department, Lancaster University
Aspect-Oriented Software Engineering Special Interest Group
Home People Projects Publications Presentations & Tutorials Software Events aosd.net

AspOEv: An Aspect Oriented Evolution Framework for
Object-Oriented Databases

Principal Investigator: Awais Rashid
Current Project Personnel: Nicholas Leidenfrost
Former Project Personnel: Robin Green, Mattia Monga, Neil Loughran
Project Description
Project Outcomes
Related Publications
Downloads
Related Tutorials
Grant Ref: EPSRC GR/R08612
Start Date: October 2000
End Date: May 2004

Project Description:

This project aims at employing an aspect-oriented approach to facilitate customisation, extension and exchange of the schema modification, structural and behavioural consistency strategies in an object database evolution framework. The evolution framework being developed will be independent of the data model of the underlying object database management system but will be customisable to incorporate data model specific evolution primitives. A secondary aim is to employ aspects to provide customisable approaches for version storage (i.e. to flexibly choose between versioning-by-copy and versioning-by-difference) and database update (i.e. to flexibly choose between immediate and deferred update). More specifically the project aims at:

  • identifying the various crosscutting evolution aspects in an object-oriented database
  • identifying/developing an effective mechanism to specify these aspects and their join points with the entities crosscut by them
  • developing an efficient weaving tool to merge the evolution aspects and the entities with respect to the join points
  • employing the weaving tool to implement a customisable and extensible evolution framework incorporating support for schema modification, structural and behavioural consistency

Project Outcomes:

The outcome of the project is AspOEv, an Aspect-Oriented Evolution Framework which supports dynamic, flexible introducation, adaptation and exchange of schema evolution and instance adaptation approaches of an underlying ODMG 3.0 compliant object database. The framework provides its own language, Vejal, which is Java enriched with versioned type semantics as well as aspect-oriented features.

Aspect-orientation supports flexibility in the framework by capturing crosscutting hot spots (customisation points in the framework) and establishing their causality relationships with the custom evolution and instance adaptation approaches specified using the Strategy pattern. Furthermore, aspects help in information hiding by screening the database programmer from the complexity of the hot spots manipulated by customevolution mechanisms. They also make it possible to preserve architectural constraints and specify custom version polymorphism policies. The framework also supports incorporation of custom evolution primities into the evolution model.

Publications:

  • Rashid, A (2004) Aspect-Oriented Programming for Database Systems. Chapter in book on Aspect-Oriented Software Development (To Appear). Editor(s): M. Aksit, S. Clarke, T. Elrad, R. Filman,
  • Rashid A., N. Leidenfrost (2004) Supporting Flexible Object Database Evolution with Aspects. International Conference on Generative Programming and Component Engineering (GPCE 2004) (Accepted to Appear). Pdf link.
  • Rashid, A. (2003) A Framework for Customisable Schema Evolution in Object-Oriented Databases. International Database Engineering and Applications Symposium (IDEAS). IEEE Computer Society Press. Pages 325 - 329. Pdf link.
  • Awais Rashid (2003) Aspect-Oriented Database Systems. Book, ISBN 3-540-00948-5. Springer-Verlag.
  • Green R., A. Rashid (2002) An Aspect-Oriented Framework for Schema Evolution in Object-Oriented Databases. 1st Workshop on Aspects, Components, and Patterns for Infrastructure Software (held with AOSD 2002). Pdf link.
  • Rashid, A., N. Loughran (2002) Relational Database Support for Aspect-Oriented Programming. Proceedings of NetObjectDays Conference. Editor(s): Springer-Verlag, Lecture Notes in Computer Science. Volume 2591, Pages 233-247. Pdf link.
  • Rashid A., P. Sawyer (2001) Aspect-Orientation and Database Systems: An Effective Customisation Approach. IEE Proceedings - Software. Volume 148, Pages 156-164.

Related Tutorials:

  • Rashid, A. (2004). Aspect-Oriented Database Systems, Invited Seminar,Universidade Nova de Lisboa, Portugal.
  • Rashid, A. (2003). Aspect-Oriented Programming for Database Systems,Tutorial at the 2nd International Conference on Aspect-Oriented Software Development, Boston 17-21 March, 2003).
  • Rashid, A. (2002). Aspect-Oriented Programming: What Does it Mean for Database Systems?, Tutorial at Conference on Advances in Databases and Information Systems (ADBIS).
  • Rashid, A. (2002). Aspect-Oriented Programming: What Does it Mean for Database Systems?, Tutorial at International Conference on Extending Database Technology (EDBT).