Technologies based on aspect-orientation and multi-dimensional separation of concerns have given software engineers tools to better encapsulate concerns throughout the software lifecycle. Separated concerns must be composed, even during early lifecycle phases, to obtain an overall system understanding. Concern composition languages therefore must be expressive, scalable, and intuitive. Otherwise, gains achieved by concern separation are offset by the complexity of the composition rules. This paper focuses on a composition language for the requirements modeling phase and, in particular, on composition of concerns described with use cases or scenarios. We propose that existing composition techniques (such as before and after advices from AOP) are insufficient for requirements model composition because they do not support all composition rules frequently required for use cases or scenarios. Furthermore, composition rules for a modeling language should be visual and use the same notation as the modeling language. This paper presents Aspect-oriented Use Case Maps (AoUCM) and evaluates its flexible, expressive, and exhaustive composition technique. Moreover, the composition rules are expressed in the same notation already used for UCMs. The usefulness and necessity of our composition rules are demonstrated through examples modeled with the jUCMNav tool.

Additional Metadata
Keywords Aspect composition, Aspect-oriented requirements engineering, Scenario notations, Use case maps, User requirements notation
Citation
Mussbacher, G. (Gunter), Amyot, D. (Daniel), Whittle, J. (Jon), & Weiss, M. (2007). Flexible and expressive composition rules with Aspect-oriented Use Case Maps (AoUCM).