Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Amyot, D., Mussbacher, G.: Development of Telecommunications Standards and Services with the User Requirements Notation. In: Workshop on ITU System Design Languages (2008), http://www.itu.int/dms_pub/itu-t/oth/06/18/T06180000010012PDFE.pdf
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)
Bergmans, L.M.J.: Towards Detection of Semantic Conflicts between Crosscutting Concerns. In: Workshop on Analysis of Aspect-Oriented Software (2003), http://www.comp.lancs.ac.uk/~chitchya/AAOS2003/Assets/bergmansl.pdf
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)
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)
Chitchyan, R., et al.: Survey of Analysis and Design Approaches, http://www.aosd-europe.net/deliverables/d11.pdf
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)
ITU: Recommendation Z.151 (11/08): User Requirements Notation (URN) – Language definition, http://www.itu.int/rec/T-REC-Z.151/en
Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2005)
jUCMNav website, University of Ottawa, http://softwareengineering.ca/jucmnav
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), http://aosd.net/workshops/splat/2006/papers/kellens.pdf
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)
Koppen, C., Stoerzer, M.: Pcdiff: Attacking the Fragile Pointcut Problem. In: European Interactive Workshop on Aspects in Software (EIWAS 2004), Berlin, Germany (2004)
Lencastre, M., Araújo, J., Moreira, A., Castro, J.: Towards Aspectual Problem Frames: an Example. Expert Systems Journal 25(1), 74–86 (2008)
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)
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)
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)
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)
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)
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)
URN Virtual Library, http://www.usecasemaps.org/pub
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mussbacher, G., Amyot, D., Whittle, J. (2009). Refactoring-Safe Modeling of Aspect-Oriented Scenarios. In: Schürr, A., Selic, B. (eds) Model Driven Engineering Languages and Systems. MODELS 2009. Lecture Notes in Computer Science, vol 5795. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04425-0_21
Download citation
DOI: https://doi.org/10.1007/978-3-642-04425-0_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04424-3
Online ISBN: 978-3-642-04425-0
eBook Packages: Computer ScienceComputer Science (R0)