Skip to main content

Aspect Interactions: A Requirements Engineering Perspective

  • Chapter
  • First Online:
Aspect-Oriented Requirements Engineering

Abstract

The principle of Separation of Concerns encourages developers to divide complex problems into simpler ones and solve them individually. Aspect-Oriented Programming (AOP) languages provide mechanisms to modularise concerns that affect several software components, by means of joinpoints, advice and aspect weaving. In a software system with multiple aspects, a joinpoint can often be matched with advice from several aspects, thus giving rise to emergent behaviours that may be unwanted. This issue is often known as the aspect interaction problem. AOP languages provide various composition operators: the precedence operator of AspectJ, for instance, instructs the aspect weaver about the ordering of aspects when advice from several of them match one joinpoint. This ordering of conflicting aspects is usually done at compile-time. This chapter discusses a type of problem where conflicting aspects need to be ordered according to runtime conditions. Extending previous work on Composition Frames, this chapter illustrates an AOP technique to compose aspects in a non-intrusive way so that precedence can be decided at runtime.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

References

  1. M. Calder, M. Kolberg, E.H. Magill, S. Reiff-Marganiec, Feature interaction: A critical review and considered forecast. Comput. Network. 41, 115–141 (2003). doi: 10.1016/S1389-1286(02)00352-3

    Article  MATH  Google Scholar 

  2. E. Cameron, N. Griffeth, Y.J. Lin, M. Nilson, W. Schnure, H. Velthuijsen, A feature-interaction benchmark for in and beyond. IEEE Comm. Mag. 31(3), 64–69 (1993). doi 10.1109/35.199613

    Article  Google Scholar 

  3. R. Chitchyan, A. Rashid, P. Rayson, R. Waters, Semantics-based composition for aspect-oriented requirements engineering, in Proceedings of the 6th International Conference on Aspect-Oriented Software Development (ACM, NY, 2007), pp. 36–48

    Google Scholar 

  4. R.J. Hall, Fundamental nonmodularity in electronic mail. Automat. Software Eng. 12(1), 41–79 (2005)

    Article  Google Scholar 

  5. M. Jackson, Problem Frames: Analyzing and Structuring Software Development Problems. (ACM Press & Addison Wesley, New York, 2001)

    Google Scholar 

  6. J. Kienzle, N. Guelfi, S. Mustafiz, Crisis management systems: a case study for aspect-oriented modeling. Trans. Aspect-oriented Software Develop. 7, 1–22 (2010)

    Google Scholar 

  7. M. Kolberg, E.H. Magill, M. Wilson, Compatibility issues between services supporting networked appliances. IEEE Comm. Mag. 41(11), 136–147 (2003)

    Article  Google Scholar 

  8. R. Laney, L. Barroca, M. Jackson, B. Nuseibeh, Composing requirements using problem frames, in Proceedings of 12th IEEE International Conference Requirements Engineering (RE’04) (IEEE Computer Society, Silver Spring, MD, 2004), pp. 122–131

    Google Scholar 

  9. R.C. Laney, T.T. Tun, M. Jackson, B. Nuseibeh, in Composing Features by Managing Inconsistent Requirements, ed. by L. du Bousquet, J.L. Richier. ICFI (IOS Press, Amsterdam, 2007), pp. 129–144

    Google Scholar 

  10. G. Mussbacher, J. Whittle, D. Amyot, Semantic-based interaction detection in aspect-oriented scenarios, in RE (IEEE Computer Society, Silver Spring, MD, 2009), pp. 203–212

    Google Scholar 

  11. A. Popovici, T. Gross, G. Alonso, Dynamic weaving for aspect-oriented programming, in Proceedings of the 1st International Conference on Aspect-Oriented Software Development, AOSD ’02 (ACM, New York, 2002), pp. 141–147

    Google Scholar 

  12. F. Sanen, E. Truyen, W. Joosen, A. Jackson, A. Nedos, S. Clarke, N. Loughran, A. Rashid, Classifying and documenting aspect interactions, in Proceedings of the Fifth AOSD Workshop on Aspect, Components, and Patterns for Infrastructure Software, ed. by Y. Coady, D.H. Lorenz, O. Spinczyk, E. Wohlstadter (Technical Report No. 33. Hasso-Plattner-Instituts für Softwaresystemtechnik an der Universität Potsdam, 2006), pp. 23–26

    Google Scholar 

  13. The AspectJ Team: The AspectJ Programming Guide. Xerox Corporation (2001) URL http://www.eclipse.org/aspectj/doc/next/progguide/index.html. Accessed 15 Dec 2012

  14. T.T. Tun, Aspect compoistion using composition frames: Java program listings. Tech. Rep. TR2012/09, The Open University (2012)

    Google Scholar 

  15. T.T. Tun, T. Trew, M. Jackson, R.C. Laney, B. Nuseibeh, Specifying features of an evolving software system. Software Pract. Ex. 39(11), 973–1002 (2009)

    Article  Google Scholar 

  16. H. Velthuijsen, Issues of non-monotonicity in feature-interaction detection, in FIW, ed. by K.E. Cheng, T. Ohta (IOS Press, 1995), pp. 31–42

    Google Scholar 

  17. N. Weston, R. Chitchyan, A. Rashid, A formal approach to semantic composition of aspect-oriented requirements, in Proceedings of the 2008 16th IEEE International Requirements Engineering Conference (IEEE Computer Society, Washington, DC, 2008), pp. 173–182

    Google Scholar 

Download references

Acknowledgements

Feedback from the anonymous review process has helped improve this chapter. This work is partially funded by a Microsoft Software Engineering Innovation Foundation (SEIF) Award, by Science Foundation Ireland grant 10/CE/I1855 and by the European Research Council.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thein Than Tun .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Tun, T.T., Yu, Y., Jackson, M., Laney, R., Nuseibeh, B. (2013). Aspect Interactions: A Requirements Engineering Perspective. In: Moreira, A., Chitchyan, R., Araújo, J., Rashid, A. (eds) Aspect-Oriented Requirements Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38640-4_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38640-4_14

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38639-8

  • Online ISBN: 978-3-642-38640-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics