Interactions between dependent or conflicting aspects are a well-known problem with aspect-oriented development (as well as related paradigms). These interactions are potentially dangerous and can lead to unexpected or incorrect results when aspects are composed. To date, the majority of aspect interaction detection methods have been based either on purely syntactic comparisons or have relied on heavyweight formal methods. We present a new approach that is based instead on lightweight semantic annotations of aspects. Each aspect is annotated with domain-specific markers and a separate influence model describes how semantic markers from different domains influence each other. Automated analysis can then be used both to highlight semantic aspect conflicts and to trade-off aspects. We apply this technique to early aspects, namely, aspect scenarios, because it is desirable to detect aspect interactions as early in the software lifecycle as possible. We evaluate the technique using two case studies - one from industry and one posed as a challenge problem by the community - and show that the technique detects interactions that cannot be discovered using syntactic techniques. In addition, we show that the technique can apply to many languages through the use of different aspect-oriented scenario notations in the case studies, namely MATA sequence diagrams and Aspect-oriented Use Case Maps.
- 18 Dec 2009
- Please contact email@example.com if you want a pre-publication version of this paper.
- Please feel free to discuss this article directly on this page. Constructive comments are welcomed! Please sign your TWiki name.
| Title || Modeling and Detecting Semantic-Based Interactions in Aspect-Oriented Scenarios |
| Authors || G. Mussbacher, J. Whittle, D. Amyot |
| Type || Journal |
| Conference/Journal Title || Requirements Engineering Journal |
| Volume/Number || 15(2) |
| Editors || Kevin T Ryan |
| Publisher || Springer |
| Month || June |
| Year || 2010 |
| Pages || 197-214 |
| DOI || 10.1007/s00766-010-0098-4 |
| Keywords || Aspects, Goal-oriented Requirement Language, Interaction Detection, Semantic Interactions, MATA, Sequence Diagrams, UML, User Requirements Notation, Aspect-oriented Use Case Maps |