Skip to main content
Log in

Modeling and detecting semantic-based interactions in aspect-oriented scenarios

  • RE'09 Special Issue
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

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 either have been based 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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. We do not fully explain aspect-oriented modeling (AOM) in this paper in order not to distract from the presentation. We introduce AOM concepts and notations as they become necessary in the paper. A definitive reference to both AOM and the notations used in this paper can be found in [14] and/or [4, 15].

  2. The complete set of AoUCM models, comprised 68 maps, 82 responsibilities, and 34 components, can be found at http://www.site.uottawa.ca/~damyot/pub/CCCMS-REJ/

  3. The complete list of model elements and semantic markers can also be found at http://www.site.uottawa.ca/~damyot/pub/CCCMS-REJ/

Abbreviations

AOM:

Aspect-oriented modeling

AOSD:

Aspect-oriented software development

AoUCM:

Aspect-oriented Use Case Maps

CCCMS:

Car crash crisis management system

CPA:

Critical pair analysis

EVS:

Electronic voting system

GRL:

Goal-oriented Requirement Language

ITU-T:

International Telecommunication Union-Telecommunications Standardization Sector

MATA:

Modeling Aspects Using a Transformation Approach

NFR:

Non-functional requirement

PIN:

Personal identification number

SD:

Sequence diagram

SDR:

Software defined radio

SM:

Semantic markers

UML:

Unified Modeling Language

URN:

User Requirements Notation

References

  1. Calder M, Kolberg M, Magill EH, Reiff-Marganiec S (2003) Feature interaction: a critical review and considered forecast. Comput Netw 41:115–141. doi:10.1016/S1389-1286(02)00352-3

    Article  MATH  Google Scholar 

  2. Rashid A, Sawyer P, Moreira A, Araújo J (2002) Early aspects: a model for aspect-oriented requirements engineering. In: IEEE joint international conference on requirements engineering, pp 199–202. doi:10.1109/ICRE.2002.1048526

  3. Araújo J, Whittle J, Kim D-K (2004) Modeling and composing scenario-based requirements with aspects. In: International conference on requirements engineering, Kyoto, Japan, pp 58–67. doi:10.1109/RE.2004.32

  4. Mussbacher G, Amyot D, Weiss M (2007) Visualizing early aspects with use case maps. Trans Aspect Oriented Softw Dev 3:105–143. doi:10.1007/978-3-540-75162-5_5

    Google Scholar 

  5. Sanen F, Loughran N, Rashid A, Nedos A, Jackson A, Clarke S, Truyen E, Joosen W (2006) Classifying and documenting aspect interactions. In: Workshop on aspects, components and patterns for infrastructure software at AOSD, Bonn, Germany

  6. Zhang J, Cottenier T, Van den Berg A, Gray J (2007) Aspect composition in the Motorola aspect-oriented modeling weaver. J Object Technol 6:89–108

    Google Scholar 

  7. Shaker P, Peters D (2006) Design-level detection of interactions in aspect-oriented systems. In: Aspects, dependencies and interactions workshop at ECOOP 2006. doi:10.1145/976270.976288

  8. Douence R, Fradet P, Südholt M (2004) Composition, reuse and interaction analysis of stateful aspects. In: AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development. ACM, Lancaster, UK, pp 141–150

  9. Jayaraman P, Whittle J, Elkhodary A, Gomaa H (2007) Model composition in product lines and feature interaction detection using critical pair analysis. In: International conference on model driven engineering, languages and systems (MODELS), Nashville, USA, pp 151–164. doi:10.1145/1370828.1370832

  10. ITU-T (2008) Recommendation Z.151 (11/08): user requirements notation (URN)—language definition, Geneva, Switzerland

  11. Whittle J, Jayaraman P (2008) MATA: a tool for aspect-oriented modeling based on graph transformation. Models in software engineering: workshops and symposia at MODELS 2007, pp 16–27. doi:10.1007/978-3-540-69073-3_3

  12. Mussbacher G, Whittle J, Amyot D (2009) Semantic-based interaction detection in aspect-oriented scenarios. In: IEEE international conference on requirements engineering conference, pp 203–212. doi:10.1109/RE.2009.13

  13. Kohno T, Stubblefield A, Rubin A, Wallach D (2004) Analysis of an electronic voting system. In: IEEE symposium on security and privacy, IEEE Computer Society Press, pp 27–40. doi:10.1109/SECPRI.2004.1301313

  14. Whittle J, Jayaraman P, Elkhodary A, Moreira A, Araújo J (2009) MATA: a unified approach for composing UML aspect models based on graph transformation. Transactions on aspect oriented software development. Springer, New York (in press)

  15. Mussbacher G, Amyot D (2009) Extending the user requirements notation with aspect-oriented concepts. SDL 2009: design for motes and mobiles, Springer. LNCS 5719:115–132. doi:10.1007/978-3-642-04554-7_8

    Google Scholar 

  16. jUCMNav website (2009) http://jucmnav.softwareengineering.ca./jucmnav. Accessed Oct 2009

  17. Klein J, Kienzle J (2007) Reusable aspect models. In: 11th workshop on aspect-oriented modeling, Nashville, USA

  18. Amyot D, Ghanavati S, Horkoff J, Mussbacher G, Peyton L, Yu E (2010) Evaluating goal models within the goal-oriented requirement language. To appear In: International Journal of Intelligent Systems (IJIS), 2010

  19. OMG (2008) UML Profile for modeling and analysis of real-time and embedded systems (MARTE), 1.0 Beta 2 Specification (ptc/08-06-09), June 2008

  20. Kienzle J, Guelfi N, Mustafiz S (2010) Crisis management systems: a case study for aspect oriented modeling. Special Issue of the transactions on aspect oriented software development. Springer, New York (in press). http://www.cs.mcgill.ca/~joerg/taosd/TAOSD/TAOSD.html. Accessed Oct 2009

  21. Mussbacher G, Whittle J, Amyot D (2008) Towards semantic-based aspect interaction detection. In: Workshop on non-functional system properties in domain-specific modeling (at MODELS 2008)

  22. Blair L, Pang J (2003) Aspect-oriented solutions to feature interaction concerns using AspectJ. Feature interactions in telecommunications and software systems VII, IOS Press, pp 87–104

  23. Bergmans LMJ (2003) Towards detection of semantic conflicts between crosscutting concerns. Analysis of aspect-oriented software (AAOS), workshop at ECOOP 2003, Darmstadt, Germany

  24. Klein J, Hélouët L, Jézéquel J-M (2006) Semantic-based weaving of scenarios. Aspect-Oriented Software Development (AOSD), Vancouver, pp 27–38. doi:10.1145/1119655.1119662

    Google Scholar 

  25. France R, Ray I, Georg G, Ghosh S (2004) Aspect-oriented approach to early design modeling. In: IEE proceedings—software, vol. 151, pp 173–186. doi:10.1016/j.infsof.2006.08.003

  26. Clarke S, Baniassad E (2005) Aspect-oriented analysis and design: the theme approach. Addison Wesley, New York

    Google Scholar 

  27. Cottenier T, van den Berg A, Elrad T (2007) Motorola WEAVR: model weaving in a large industrial context. Aspect-Oriented Software Development (AOSD), Vancouver

    Google Scholar 

  28. Bakre S, Elrad T (2007) Scenario based resolution of aspect interactions with aspect interaction charts. In: 10th international workshop on aspect oriented modeling (at AOSD), Vancouver, Canada, pp 1–6. doi:10.1145/1229375.1229376

  29. Mostefaoui F, Vachon J (2007) Design-level detection of interactions in aspect-UML models using Alloy. J Object Technol 6:137–165

    Google Scholar 

  30. Douence R, Fritz T, Loriant N, Menaud J-M, Segura-Devillechaise M, Sudholt M (2006) An expressive aspect language for system applications with Arachne. Transactions on aspect oriented software development I, pp 174–213. doi:10.1007/11687061_6

  31. de Fraine B, Quiroga PD, Jonckers V (2008) Management of aspect interactions using statically verified control flow relations. In: Workshop on aspects, dependencies and interactions (at ECOOP 2008)

  32. Chitchyan R, Rashid A, Rayson P, Waters R (2007) Semantics-based composition for aspect-oriented requirements engineering. Aspect-Oriented Software Development (AOSD), Vancouver, pp 36–48. doi:10.1145/1218563.1218569

    Google Scholar 

  33. Liu J, Batory DS, Nedunuri S (2005) Modeling interactions in feature oriented software designs. Feature Interactions in Telecommunications and Software Systems VIII (ICFI’05), Leicester, pp 178–197

    Google Scholar 

  34. du Bousquet L (1999) Feature interaction detection using testing and model checking: experience report. In: World congress on formal methods in the development of computing systems, vol. I, pp 622–641. doi:10.1007/3-540-48119-2_35

  35. Metzger A, Bühne S, Lauenroth K, Pohl K (2005) Considering feature interactions in product lines: towards the automatic derivation of dependencies between product variants. Feature Interactions in Telecommunications and Software Systems VIII (ICFI’05), Leicester, pp 198–216

    Google Scholar 

  36. Weiss M, Esfandiari B, Luo Y (2007) Towards a classification of web service feature interactions. Comput Netw 51(2):359–381. doi:10.1016/j.comnet.2006.08.003

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Amyot.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mussbacher, G., Whittle, J. & Amyot, D. Modeling and detecting semantic-based interactions in aspect-oriented scenarios. Requirements Eng 15, 197–214 (2010). https://doi.org/10.1007/s00766-010-0098-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-010-0098-4

Keywords

Navigation