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.
Similar content being viewed by others
Notes
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].
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/
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
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
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
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
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
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
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
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
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
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
ITU-T (2008) Recommendation Z.151 (11/08): user requirements notation (URN)—language definition, Geneva, Switzerland
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
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
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
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)
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
jUCMNav website (2009) http://jucmnav.softwareengineering.ca./jucmnav. Accessed Oct 2009
Klein J, Kienzle J (2007) Reusable aspect models. In: 11th workshop on aspect-oriented modeling, Nashville, USA
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
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
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
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)
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
Bergmans LMJ (2003) Towards detection of semantic conflicts between crosscutting concerns. Analysis of aspect-oriented software (AAOS), workshop at ECOOP 2003, Darmstadt, Germany
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
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
Clarke S, Baniassad E (2005) Aspect-oriented analysis and design: the theme approach. Addison Wesley, New York
Cottenier T, van den Berg A, Elrad T (2007) Motorola WEAVR: model weaving in a large industrial context. Aspect-Oriented Software Development (AOSD), Vancouver
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
Mostefaoui F, Vachon J (2007) Design-level detection of interactions in aspect-UML models using Alloy. J Object Technol 6:137–165
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
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)
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
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-010-0098-4