Refactoring-Safe Modeling of Aspect-Oriented Scenarios

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


Aspects use pointcut expressions to specify patterns that are matched against a base model, hence defining the base locations to which aspects are applied. The fragile pointcut problem is well-known in aspect-oriented modeling, as small changes in the base may lead to non-matching patterns. Consequently, aspects are not applied as desired. This is especially problematic for refactoring. Even though the meaning of the model has not changed, pointcut expressions may no longer match. We present an aspect-oriented modeling technique for scenarios that is refactoring-safe. The scenarios are modeled with Aspect-oriented Use Case Maps (AoUCM), an extension of the recent ITU standard User Requirements Notation. AoUCM takes the semantics of the modeling notation into account, thus ensuring pointcut expressions still match even after, for example, refactoring a single use case map into several hierarchical maps. Furthermore, AoUCM allows the composed model to be viewed without having to resolve complex layout issues. The general principles of our approach are also applicable to other aspect-oriented modeling notations.


Aspects-oriented Modeling User Requirements Notation Aspect-oriented Use Case Maps 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Amyot, D., Mussbacher, G.: Development of Telecommunications Standards and Services with the User Requirements Notation. In: Workshop on ITU System Design Languages (2008),
  2. 2.
    Araújo, J., Moreira, A.: An Aspectual Use Case Driven Approach. In: Pimentel, E., Brisaboa, N.R., Gómez, J. (eds.) VIII Jornadas de Ingeniería de Software y Bases de Datos (JISBD 2003), pp. 463–468. Alicante (2003)Google Scholar
  3. 3.
    Bergmans, L.M.J.: Towards Detection of Semantic Conflicts between Crosscutting Concerns. In: Workshop on Analysis of Aspect-Oriented Software (2003),
  4. 4.
    Braem, M., Gybels, K., Kellens, A., Vanderperren, W.: Inducing Evolution-Robust Pointcuts. In: Duchien, L., D’Hondt, M., Mens, T. (eds.) Second International ERCIM Workshop on Software Evolution (EVOL 2006), pp. 17–22. Lille (2006)Google Scholar
  5. 5.
    Chitchyan, R., Rashid, A., Rayson, P., Waters, R.: Semantics-Based Composition for Aspect-Oriented Requirements Engineering. In: 6th International Conference on Aspect Oriented Software Development (AOSD), pp. 36–48. ACM, New York (2007)CrossRefGoogle Scholar
  6. 6.
    Chitchyan, R., et al.: Survey of Analysis and Design Approaches,
  7. 7.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)Google Scholar
  8. 8.
    ITU: Recommendation Z.151 (11/08): User Requirements Notation (URN) – Language definition,
  9. 9.
    Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2005)Google Scholar
  10. 10.
    jUCMNav website, University of Ottawa,
  11. 11.
    Kellens, A., Gybels, K., Brichau, J., Mens, K.: A Model-Driven Pointcut Language for More Robust Pointcuts. In: Workshop on Software Engineering Properties of Languages for Aspect Technology (2006),
  12. 12.
    Klein, J., Hélouët, L., Jézéquel, J.M.: Semantic-based Weaving of Scenarios. In: 5th International Conference on Aspect Oriented Software Development (AOSD), pp. 27–38. ACM, New York (2006)CrossRefGoogle Scholar
  13. 13.
    Koppen, C., Stoerzer, M.: Pcdiff: Attacking the Fragile Pointcut Problem. In: European Interactive Workshop on Aspects in Software (EIWAS 2004), Berlin, Germany (2004)Google Scholar
  14. 14.
    Lencastre, M., Araújo, J., Moreira, A., Castro, J.: Towards Aspectual Problem Frames: an Example. Expert Systems Journal 25(1), 74–86 (2008)CrossRefGoogle Scholar
  15. 15.
    Mussbacher, G., Amyot, D.: Assessing the Applicability of Use Case Maps for Business Process and Workflow Description. In: 2008 International MCeTech Conference on eTechnologies (MCeTech), pp. 219–222. IEEE Computer Society, Washington (2008)CrossRefGoogle Scholar
  16. 16.
    Mussbacher, G., Amyot, D.: Extending the User Requirements Notation with Aspect-oriented Concepts. In: Bilgic, A., Gotzhein, R., Reed, R. (eds.) SDL Forum Conference 2009. LNCS, vol. 5719, pp. 119–137. Springer, Heidelberg (2009)Google Scholar
  17. 17.
    Mussbacher, G., Amyot, D., Weiss, M.: Visualizing Early Aspects with Use Case Maps. In: Rashid, A., Aksit, M. (eds.) Transactions on AOSD III. LNCS, vol. 4620, pp. 105–143. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  18. 18.
    Mussbacher, G.: Aspect-Oriented User Requirements Notation: Aspects in Goal and Scenario Models. In: Giese, H. (ed.) MoDELS 2007. LNCS, vol. 5002, pp. 305–316. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  19. 19.
    Pourshahid, A., Mussbacher, G., Amyot, D., Weiss, M.: An Aspect-Oriented Framework for Business Process Improvement. In: Babin, G., Kropf, P., Weiss, M. (eds.) 4th International MCeTech Conference on eTechnologies (MCeTech 2009). LNBIP, vol. 26, pp. 290–305. Springer, Heidelberg (2009)Google Scholar
  20. 20.
    Rashid, A., Moreira, A., Araújo, J.: Modularisation and Composition of Aspectual Requirements. In: 2nd International Conference on Aspect Oriented Software Development (AOSD), pp. 11–20. ACM, New York (2003)CrossRefGoogle Scholar
  21. 21.
    URN Virtual Library,
  22. 22.
    Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A., Araújo, J.: MATA: A Unified Approach for Composing UML Aspect Models based on Graph Transformation. In: Transactions on Aspect-Oriented Software Development. LNCS. Springer, Heidelberg (to be published) Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Gunter Mussbacher
    • 1
  • Daniel Amyot
    • 1
  • Jon Whittle
    • 2
  1. 1.SITEUniversity of OttawaOttawaCanada
  2. 2.Dept. of Computing, InfoLab21Lancaster University, BailriggLancasterUK

Personalised recommendations