Advertisement

Requirements Engineering

, Volume 15, Issue 2, pp 197–214 | Cite as

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

  • Gunter Mussbacher
  • Jon Whittle
  • Daniel Amyot
RE'09 Special Issue

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.

Keywords

Aspects Goal-oriented Requirement Language Interaction detection Semantic interactions MATA Sequence diagrams UML User Requirements Notation Aspect-oriented Use Case Maps 

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. 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 zbMATHCrossRefGoogle Scholar
  2. 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. 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. 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. 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, GermanyGoogle Scholar
  6. 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–108Google Scholar
  7. 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. 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–150Google Scholar
  9. 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. 10.
    ITU-T (2008) Recommendation Z.151 (11/08): user requirements notation (URN)—language definition, Geneva, SwitzerlandGoogle Scholar
  11. 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. 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. 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. 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)Google Scholar
  15. 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. 16.
    jUCMNav website (2009) http://jucmnav.softwareengineering.ca./jucmnav. Accessed Oct 2009
  17. 17.
    Klein J, Kienzle J (2007) Reusable aspect models. In: 11th workshop on aspect-oriented modeling, Nashville, USAGoogle Scholar
  18. 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), 2010Google Scholar
  19. 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 2008Google Scholar
  20. 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. 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)Google Scholar
  22. 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–104Google Scholar
  23. 23.
    Bergmans LMJ (2003) Towards detection of semantic conflicts between crosscutting concerns. Analysis of aspect-oriented software (AAOS), workshop at ECOOP 2003, Darmstadt, GermanyGoogle Scholar
  24. 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. 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. 26.
    Clarke S, Baniassad E (2005) Aspect-oriented analysis and design: the theme approach. Addison Wesley, New YorkGoogle Scholar
  27. 27.
    Cottenier T, van den Berg A, Elrad T (2007) Motorola WEAVR: model weaving in a large industrial context. Aspect-Oriented Software Development (AOSD), VancouverGoogle Scholar
  28. 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. 29.
    Mostefaoui F, Vachon J (2007) Design-level detection of interactions in aspect-UML models using Alloy. J Object Technol 6:137–165Google Scholar
  30. 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. 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)Google Scholar
  32. 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. 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–197Google Scholar
  34. 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. 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–216Google Scholar
  36. 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 zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag London Limited 2010

Authors and Affiliations

  1. 1.SITEUniversity of OttawaOttawaCanada
  2. 2.Department of Computing, InfoLab21Lancaster UniversityLancasterUK

Personalised recommendations