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.
CITATION STYLE
Tun, T. T., Yu, Y., Jackson, M., Laney, R., & Nuseibeh, B. (2013). Aspect interactions: A requirements engineering perspective. In Aspect-Oriented Requirements Engineering (Vol. 9783642386404, pp. 271–286). Springer-Verlag Berlin Heidelberg. https://doi.org/10.1007/978-3-642-38640-4_14
Mendeley helps you to discover research relevant for your work.