Skip to main content

Relational Database Support for Aspect-Oriented Programming

  • Conference paper
  • First Online:
Objects, Components, Architectures, Services, and Applications for a Networked World (NODe 2002)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Xerox PARC, USA, AspectJ Home Page, http://aspectj.org/

  2. Hirschfeld, R., AspectS Home Page, http://www.prakinf.tu-ilmenau.de/~hirsch/Projects/Squeak/AspectS/

  3. Bergmans, L. and Aksit, M., Composing Crosscutting Concerns using Composition Filters. Communications of the ACM, 2001, 44(10).

    Google Scholar 

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

    Google Scholar 

  5. Clarke, S. and Walker, R. J. Composition Patterns: An Approach to Designing Reusable Aspects. International Conference on Software Engineering (ICSE), 2001.

    Google Scholar 

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

    Google Scholar 

  7. Clements, P. and Northrop, L., Software Product Lines: Practices and Patterns. 2002: Addison-Wesley.

    Google Scholar 

  8. Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design. Workshop at AOSD Conference, 2002.

    Google Scholar 

  9. Elrad, T., Filman, R., and Bader, A., Theme Section on Aspect-Oriented Programming. Communications of ACM, 2001, 44(10).

    Google Scholar 

  10. Gamma, E., et al., Design Patterns-Elements of Reusable Object-Oriented Software. 1995: Addison Wesley.

    Google Scholar 

  11. Grundy, J. C. Storage and retrieval of Software Components using Aspects. Australasian Computer Science Conference, 2000: IEEE Computer Society Press: 95–103.

    Google Scholar 

  12. IBM Research, Hyperspaces, http://www.research.ibm.com/hyperspace/

  13. Kiczales, G., et al. Aspect-Oriented Programming. ECOOP, 1997: Springer-Verlag, Lecture Notes in Computer Science 1241.

    Google Scholar 

  14. Mezini, M. and Lieberherr, K. J. Adaptive Plug-and-Play Components for Evolutionary Software Development. OOPSLA, 1998: ACM, SIGPLAN Notices 33(10): 97–116.

    Article  Google Scholar 

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

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  18. Rashid, A., Weaving Aspects in a Persistent Environment. ACM SIGPLAN Notices, Feb. 2002.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  21. Rashid, A. and Sawyer, P., Aspect-Orientation and Database Systems: An Effective Customisation Approach. IEE Proceedings-Software, 2001, 148(5): p. 156–164.

    Article  Google Scholar 

  22. Rashid, A., et al. Early Aspects: A Model for Aspect-Oriented Requirements Engineering. IEEE Joint International Requirements Engineering Conference (Accepted for Publication), 2002.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  25. Tarr, P. L., et al. N Degrees of Separation: Multi-Dimensional Separation of Concerns. International Conference on Software Engineering (ICSE), 1999: ACM: 107–119.

    Google Scholar 

  26. Weyuker, E. J., Testing Component-Based Software: A Cautionary Tale. IEEE Software, 1998, 15(5): p. 54–59.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics