Flexible and Expressive Composition Rules with Aspect-oriented Use Case Maps (AoUCM)

  • Gunter Mussbacher
  • Daniel Amyot
  • Jon Whittle
  • Michael Weiss
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4765)


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.


Aspect-oriented Requirements Engineering Aspect Composition Use Case Maps Scenario Notations User Requirements Notation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Amyot, D.: Introduction to the User Requirements Notation: Learning by Example. Computer Networks 42(3), 285–301 (2003)CrossRefGoogle Scholar
  2. 2.
  3. 3.
    Araújo, J., Moreira, A.: An Aspectual Use Case Driven Approach. VIII Jornadas de Ingeniería de Software y Bases de Datos (JISBD 2003), Alicante, Spain (November 2003)Google Scholar
  4. 4.
    Araújo, J., Whittle, J., Kim, D.: Modeling and Composing Scenario-Based Requirements with Aspects. In: RE 2004. Proceedings of the 12th IEEE International Requirements Engineering Conference, Kyoto, Japan, pp. 58–67. IEEE CS Press, Los Alamitos (2004)Google Scholar
  5. 5.
    AspectJ web site (accessed January 2007),
  6. 6.
    Barros, J.-P., Gomes, L.: Toward the Support for Crosscutting Concerns in Activity Diagrams: a Graphical Approach. In: Workshop on Aspect-Oriented Modelling (held with UML 2003), San Francisco, California, USA (October 2003)Google Scholar
  7. 7.
    Buhr, R.J.A., Casselman, R.S.: Use Case Maps for Object-Oriented Systems. Prentice-Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  8. 8.
    Buhr, R.J.A.: A Possible Design Notation for Aspect Oriented Programming. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, Springer, Heidelberg (1998)Google Scholar
  9. 9.
    Buhr, R.J.A.: Use Case Maps as Architectural Entities for Complex Systems. IEEE Transactions on Software Engineering 24(12), 1131–1155 (1998)CrossRefGoogle Scholar
  10. 10.
    Chitchyan, R., et al.: Survey of Analysis and Design Approaches. AOSD-Europe Report ULANC-9 (May 2005) (acc. January 2007),
  11. 11.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison Wesley, Reading (2005)Google Scholar
  12. 12.
    de Bruin, H., van Vliet, H.: Quality-Driven Software Architecture Composition. Journal of Systems and Software 66(3), 269–284 (2003)CrossRefGoogle Scholar
  13. 13.
    Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2005)Google Scholar
  14. 14.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  15. 15.
    Moreira, A., Araújo, J.: Handling Unanticipated Requirements Change with Aspects. In: Proceedings of the 16th International Conference on Software Engineering and Knowledge Engineering (SEKE), Banff, Canada (June 2004)Google Scholar
  16. 16.
    Moreira, A., Araújo, J., Brito, I.: Crosscutting Quality Attributes for Requirements Engineering. In: SEKE. Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, Ischia, Italy, pp. 167–174. ACM Press, New York (2002)CrossRefGoogle Scholar
  17. 17.
    Mussbacher, G., Amyot, D., Weiss, M.: Visualizing Aspect-Oriented Requirements Scenarios with Use Case Maps. In: International Workshop on Requirements Engineering Visualization (REV 2006), Minneapolis, USA (September 2006)Google Scholar
  18. 18.
    Mussbacher, G., Amyot, D., Weiss M.: Visualizing Early Aspects with Use Case Maps. To appear in Transactions on Aspect-Oriented Software DevelopmentGoogle Scholar
  19. 19.
    Roy, J.-F., Kealey, J., Amyot, D.: Towards Integrated Tool Support for the User Requirements Notation. In: Gotzhein, R., Reed, R. (eds.) SAM 2006. LNCS, vol. 4320, pp. 198–215. Springer, Heidelberg (2006), CrossRefGoogle Scholar
  20. 20.
    Tarr, P., Ossher, H., Harrison, W., Sutton, S.M.: N degrees of separation: Multidimensional separation of concerns. In: Proceedings of the 21st Intl. Conference on Software Engineering (ICSE 99), IEEE, Los Angeles, ACM press, pp 107–119 (May 1999)Google Scholar
  21. 21.
  22. 22.
    URN - Goal-oriented Requirement Language (GRL), ITU-T Draft Recommendation Z.151. Geneva, Switzerland (September 2003) (accessed January 2007),
  23. 23.
    URN - Use Case Map Notation (UCM), ITU-T Draft Recommendation Z.152. Geneva, Switzerland (September 2003) (accessed January 2007),
  24. 24.
    User Requirements Notation (URN) - Language Requirements and Framework, ITU-T Recommendation Z.150. Geneva, Switzerland (February 2003) (accessed January 2007),
  25. 25.
    Whittle, J., Araújo, J.: Scenario Modelling with Aspects. IEE Proceedings - Software 151(4), 157–172 (2004)CrossRefGoogle Scholar
  26. 26.
    Whittle, J., Araújo, J., Moreira, A.: Composing Aspect Models with Graph Transformations. In: Early Aspects at ICSE: Workshop in Aspect-Oriented Requirements Engineering and Architecture Design, Shanghai, China (May 2006)Google Scholar
  27. 27.
    Whittle, J., Araújo, J., Moreira, A., Rabbi, R.: Graphical Composition of State-Dependent Use Case Behavioral Models. ISE Department Technical Report, George Mason University, ISE-TR-07-01 (accessed January 2007),

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Gunter Mussbacher
    • 1
  • Daniel Amyot
    • 1
  • Jon Whittle
    • 2
  • Michael Weiss
    • 3
  1. 1.SITE, University of Ottawa, 800 King Edward, Ottawa, ON, K1N 6N5Canada
  2. 2.Information & Software Engineering, George Mason University, Fairfax, VA 22030USA
  3. 3.School of Computer Science, Carleton University, 1125 Colonel By Drive, Ottawa, ON, K1S 5B6Canada

Personalised recommendations