|
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).
|