Shaker, Pouria (2006) Detecting concern interactions in aspect-oriented designs. Masters thesis, Memorial University of Newfoundland.
- Accepted Version
Available under License - The author retains copyright ownership and moral rights in this thesis. Neither the thesis nor substantial extracts from it may be printed or otherwise reproduced without the author's permission.
Aspect-Oriented Software Development (AOSD) is an emerging paradigm that addresses the limitation of Object-Oriented (OO) technology in localizing crosscutting concerns (e.g. logging, tracing, etc.) by introducing a new modularization mechanism: the aspect. Aspects localize the behaviour of crosscutting concerns (called advice) and specify points in the structure or execution trace of the core system (called join points) where advice applies. A weaving mechanism interleaves the execution of the aspects and the core. The behaviour of an Aspect-Oriented (AO) system is the woven behaviour of the aspects and the core; this woven behaviour may reveal conflicts in the goals of system concerns (core or crosscutting): such conflicts are called concern interactions. In this thesis, we present a process for detecting concern interactions in AO designs expressed in the UML and our weaving rule specification language (WRL). The process consists of two tasks: 1) a light-weight syntactic analysis of the AO model to reveal advice overlaps (e.g. instances where multiple advice applies to the same join point) as potential sources of interaction and 2) verification of desired model properties before and after weaving to confirm/reject findings of task 1 and/or to reveal new interactions. At the heart of task 2 is a weaving process that maps an unwoven AO model to a behaviourally equivalent woven OO model.
|Item Type:||Thesis (Masters)|
|Additional Information:||Includes bibliographical references (leaves 110-113).|
|Department(s):||Engineering and Applied Science, Faculty of|
|Library of Congress Subject Heading:||Aspect-oriented programming; Object-oriented programming (Computer science)|
Actions (login required)