composition, reuse and interaction analysis of stateful aspects
Aspect-Oriented Programming promises separation of concerns at the implementation level. However, aspects are not always orrthogonal and aspect interaction is a fundamental problem. In this paper, we extend previous work on a generic framework for the formal definition and interaction analysis of stateful aspects. We propose three important extensions which enhance expressivity while preserving static analyzability of interactions. First, we provide support for variables in aspects in order to share information between different execution points. This allows the definition of more precise aspects and to avoid detection of spurious conflicts. Second, we introduce generic composition operators for aspects. This enables us to provide expressive support for the resolution of conflicts among interacting aspects. Finally, we offer a means to define applicability conditions for aspects. This makes interaction analysis more precise and paves the way for reuse of aspects by making explicit requirements on contexts in which aspects must be used.
compositing reuse interaction interaction analysis aspect implementation aspect interactions paper generic formalism definition extensibility express support variability order sharing informal point precise detection conflict operability applications reuse of aspects requirements context  framework  static analysis aspect composition formal model separation-of-concerns aspect oriented programming