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.

-- DanielAmyot - 05 Nov 2009

Discussion

  • Please feel free to discuss this article directly on this page. Constructive comments are welcomed! Please sign your TWiki name.

FormForVirtualLibrary edit

Title Refactoring-Safe Modeling of Aspect-Oriented Scenarios
Authors G. Mussbacher, D. Amyot, J. Whittle
Type Conference
Conference/Journal Title 12th Int. Conf. on Model Driven Engineering Languages and Systems (MODELS 2009), Denver, USA
Volume/Number LNCS 5795
Editors A. Schürr, B. Selic
Publisher Springer
Month October
Year 2009
Pages 286-300
DOI 10.1007/978-3-642-04425-0_21
Keywords Aspects-oriented Modeling, User Requirements Notation, Aspect-oriented Use Case Maps, AoURN
Topic attachments
I Attachment Action Size Date Who Comment
Models2009-AoURN.pdfpdf Models2009-AoURN.pdf manage 443 K 05 Nov 2009 - 16:55 DanielAmyot Prepublication version
Topic revision: r1 - 05 Nov 2009, DanielAmyot
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback