On Composition and Reuse of Aspects
Jörg Kienzle, Yang Yu, Jie Xiong · 2003
This position paper investigates the possibilities of separation, modularization and reuse offered by aspect-orientation, concentrating not on the technical or syntactic problems, but on the inherent issues resulting from interaspect dependencies. An aspect is defined based on the services it provides, on the services it requires and on the services it removes from other aspects. A classification of aspects is established based on the way they interact with each other and on the way their functionality is triggered. Composition rules and the weavability criteria are defined based on this classification. Moreover, the impact of the dependencies of aspects on the level of achievable reuse is analyzed. Finally, the paper shows how the general ideas apply to the aspect-oriented programming environment AspectJ.