|  | Supporting Composition of Structural Aspects in an AOP Kernel
               Éric Tanter (University of Chile, Chile)
 
               Johan Fabry (University of Chile, Chile)
 
              Abstract: Structural aspects modify the structure of a   program, for instance by adding fields and methods to existing   classes. Like behavioral aspects, which operate on execution events,   structural aspects may interact and raise conflicts. Current aspect   systems however do not thoroughly handle this issue. This paper   discusses how complete support for structural aspect composition can   be integrated in an AOP kernel, that is, a generic transformation   framework on top of which aspect languages are defined. An iterative   composition process is proposed that involves the programmer in a   cycle of automatic detection of interactions and explicit,   declarative resolution of these interactions. Beyond a general   analysis of the issue of composition of structural aspects and an   associated composition process, this work reports on the concrete   extension of the Reflex AOP kernel to fully support the requirements   drawn from our analysis. Based on a structural model supporting   per-aspect subjective views, and using the power of an embedded   logic engine, the result is a versatile aspect system supporting   automatic detection of various kinds of structural aspect   interactions, extensible reporting tools, and declarative mechanisms   for the resolution of interactions between structural   aspects. 
             
              Keywords: AOP kernel, Aspect-Oriented Programming, Reflex, aspect composition, structural aspects 
             Categories: D.1.5, D.2.3, D.3.3, D.3.4  |