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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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
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
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
R.J. Hall, Fundamental nonmodularity in electronic mail. Automat. Software Eng. 12(1), 41–79 (2005)
M. Jackson, Problem Frames: Analyzing and Structuring Software Development Problems. (ACM Press & Addison Wesley, New York, 2001)
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)
M. Kolberg, E.H. Magill, M. Wilson, Compatibility issues between services supporting networked appliances. IEEE Comm. Mag. 41(11), 136–147 (2003)
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
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
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
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
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
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
T.T. Tun, Aspect compoistion using composition frames: Java program listings. Tech. Rep. TR2012/09, The Open University (2012)
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)
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
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
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)