Abstract
Code repositories play a central role in the reuse and mining of existing assets when engineering large, complex software systems. It is, therefore, essential that database support be extended to new programming paradigms as and when they emerge. This paper proposes an approach to support the storage, reuse and mining of aspects - constructs used in Aspect- Oriented Programming (AOP) to separate crosscutting concerns - in AspectJ (an aspect language for Java) using a relational database. The approach is based on mapping an aspect’s anatomy to the relational model hence allowing finegrained queries to be composed. This results in greater flexibility during search and retrieval in contrast with most existing code repositories which store the code as BLObs complemented by meta-data about the code.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Xerox PARC, USA, AspectJ Home Page, http://aspectj.org/
Hirschfeld, R., AspectS Home Page, http://www.prakinf.tu-ilmenau.de/~hirsch/Projects/Squeak/AspectS/
Bergmans, L. and Aksit, M., Composing Crosscutting Concerns using Composition Filters. Communications of the ACM, 2001, 44(10).
Chavez, C., Garcia, A. F., and Lucena, C. J. P. Some Insights on the Use of AspectJ and Hyper/J. Workshop on Aspect-Oriented Programming and Separation of Concerns, Lancaster University, UK, 2001: Cooperative Systems Engineering Group, Technical Report, CSEG/03/01.
Clarke, S. and Walker, R. J. Composition Patterns: An Approach to Designing Reusable Aspects. International Conference on Software Engineering (ICSE), 2001.
Clarke, S. and Walker, R. J. Mapping Composition Patterns to AspectJ and Hyper/J. ICSE 2001 Workshop on Advanced Separation of Concerns in Software Engineering, 2001.
Clements, P. and Northrop, L., Software Product Lines: Practices and Patterns. 2002: Addison-Wesley.
Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design. Workshop at AOSD Conference, 2002.
Elrad, T., Filman, R., and Bader, A., Theme Section on Aspect-Oriented Programming. Communications of ACM, 2001, 44(10).
Gamma, E., et al., Design Patterns-Elements of Reusable Object-Oriented Software. 1995: Addison Wesley.
Grundy, J. C. Storage and retrieval of Software Components using Aspects. Australasian Computer Science Conference, 2000: IEEE Computer Society Press: 95–103.
IBM Research, Hyperspaces, http://www.research.ibm.com/hyperspace/
Kiczales, G., et al. Aspect-Oriented Programming. ECOOP, 1997: Springer-Verlag, Lecture Notes in Computer Science 1241.
Mezini, M. and Lieberherr, K. J. Adaptive Plug-and-Play Components for Evolutionary Software Development. OOPSLA, 1998: ACM, SIGPLAN Notices 33(10): 97–116.
Mikhajlov, L. and Sekerinski, E. A Study of The Fragile Base Class Problem. ECOOP, 1998: Springer-Verlag, Lecture Notes in Computer Science 1445: 355–382.
Rashid, A. On to Aspect Persistence. 2nd International Symposium on Generative and Component-based Software Engineering (GCSE), 2000: Springer-Verlag, Lecture Notes in Computer Science 2177: 26–36.
Rashid, A. A Hybrid Approach to Separation of Concerns: The Story of SADES. 3rd International Conference on Meta-Level Architectures and Separation of Concerns (Reflection), 2001: Springer-Verlag, Lecture Notes in Computer Science 2192: 231–249.
Rashid, A., Weaving Aspects in a Persistent Environment. ACM SIGPLAN Notices, Feb. 2002.
Rashid, A. and Kotonya, G. Risk Management in Component-Based Development: A Separation of Concerns Perspective. ECOOP Workshop on Advanced Separation of Concerns (ECOOP Workshop Reader), 2001: Springer-Verlag, Lecture Notes in Computer Science.
Rashid, A. and Pulvermueller, E. From Object-Oriented to Aspect-Oriented Databases. 11th International Conference on Database and Expert Systems Applications (DEXA), 2000: Springer-Verlag, Lecture Notes in Computer Science 1873: 125–134.
Rashid, A. and Sawyer, P., Aspect-Orientation and Database Systems: An Effective Customisation Approach. IEE Proceedings-Software, 2001, 148(5): p. 156–164.
Rashid, A., et al. Early Aspects: A Model for Aspect-Oriented Requirements Engineering. IEEE Joint International Requirements Engineering Conference (Accepted for Publication), 2002.
Rashid, A., Sawyer, P., and Pulvermueller, E. A Flexible Approach for Instance Adaptation during Class Versioning. ECOOP 2000 Symposium on Objects and Databases, 2000: Springer-Verlag, Lecture Notes in Computer Science 1944: 101–113.
Suzuki, J. and Yamamoto, Y. Extending UML with Aspects: Aspect Support in the Design Phase. 3rd AOP Workshop held in conjunction with ECOOP’ 99, 1999.
Tarr, P. L., et al. N Degrees of Separation: Multi-Dimensional Separation of Concerns. International Conference on Software Engineering (ICSE), 1999: ACM: 107–119.
Weyuker, E. J., Testing Component-Based Software: A Cautionary Tale. IEEE Software, 1998, 15(5): p. 54–59.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rashid, A., Loughran, N. (2003). Relational Database Support for Aspect-Oriented Programming. In: Aksit, M., Mezini, M., Unland, R. (eds) Objects, Components, Architectures, Services, and Applications for a Networked World. NODe 2002. Lecture Notes in Computer Science, vol 2591. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36557-5_18
Download citation
DOI: https://doi.org/10.1007/3-540-36557-5_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00737-1
Online ISBN: 978-3-540-36557-0
eBook Packages: Springer Book Archive