Advertisement

Framed Aspects: Supporting Variability and Configurability for AOP

  • Neil Loughran
  • Awais Rashid
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3107)

Abstract

Aspect oriented programming (AOP) seeks to decompose concerns which crosscut system structure into more manageable modules. However, current AOP techniques alone lack the configuration mechanisms and generalisation capabilities that are required to realise variability (through clear reuse specifications). Conversely, frame technology provides extensive mechanisms for providing reuse and configuration yet cannot effectively modularise crosscutting concerns. This paper proposes ’framed aspects’ a technique and methodology which combines the respective strengths of AOP, frame technology and Feature-Oriented Domain Analysis (FODA). We argue that framed aspects can alleviate many of the problems the technologies have when used in isolation and also provide a framework for implementing fine-grained variability. The approach is demonstrated with the design and implementation of a generic caching component.

Keywords

Composition Rule Product Line Engineering Meta Code Aspect Module Frame Technology 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    AspectJ Team,AspectJ Project (2003), http://www.eclipse.org/aspectj/
  3. 3.
    Bassett, P.: Framing Software Reuse - Lessons from the Real World. Prentice Hall, Englewood Cliffs (1997)Google Scholar
  4. 4.
  5. 5.
    Kang, K., et al.: Feature-Oriented Domain Analysis Feasibility Study. SEI Technical Report CMU/SEI-90-TR-21 (November 1990)Google Scholar
  6. 6.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. In: ICSE (2003)Google Scholar
  7. 7.
    Hanenberg, S. Unland, R.: Parametric Introductions. In: Proc. of AOSD 2003, pp. 80-89 (2003) Google Scholar
  8. 8.
    Lieberherr, K., Lorenz, D.H., Ovlinger, J.: Aspectual Collaborations: Combining Modules and Aspects. The Computer Journal 46(5) (2003)Google Scholar
  9. 9.
    IBM Research, Hyperspaces, http://www.research.ibm.com/hyperspace/
  10. 10.
    AspectWerkz homepage, http://aspectwerkz.codehaus.org/
  11. 11.
  12. 12.
    Nanning Aspects homepage,http://nanning.codehaus.org
  13. 13.
    Loughran, N., Rashid, A., Zhang, W. and Jarzabek, S., Supporting Product Line Evolution with Framed Aspects. In: ACP4IS Workshop, AOSD 2004 (2004) Google Scholar
  14. 14.
    van Gurp, J., Bosch, J.: Design Erosion: Problems & Causes. Journal of Systems & Software 61(2) (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Neil Loughran
    • 1
  • Awais Rashid
    • 1
  1. 1.Computing DepartmentLancaster UniversityLancasterUK

Personalised recommendations