When extracting crosscutting concerns from object-oriented systems to aspects, it is often needed to transform the code in order to enable the application of aspects. Although not extensively documented in the literature, object-oriented transformations are critical to turn legacy systems ready to aspect-oriented refactoring. For this reason, in this paper, we provide a set of guidelines for maintainers and developers interested in preparing object-oriented systems to the aspect technology. Moreover, we present a tool that can help developers to identify the need of object-oriented transformations. We also evaluate the proposed guidelines and supporting tool through two case studies.
Annotations are often mentioned as a potential alternative to tackle the fragile nature of AspectJ pointcuts. However, annotations themselves can be considered crosscutting elements because they are normally pervasive and tangled with business-specific functionality. In this paper, we propose a solution to the fragile pointcut problem in aspect-oriented programming that relies on non-invasive and non-scattered annotations. The central components of the proposed solution are so-called annotator aspects, that superimpose annotations to the base code in a non-invasive way. Moreover, annotator aspects are generated semiautomatically, from a declarative annotation definition language. The paper presents examples of using the proposed solution in pointcut descriptors of two real-world aspect-oriented systems. We also describe a case study that evaluates the robustness of the proposed solution in face of possible changes to the classical Figure Editor system.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.