HAL will be down for maintenance from Friday, June 10 at 4pm through Monday, June 13 at 9am. More information
Skip to Main content Skip to Navigation
Reports

Versatile Kernels for Aspect-Oriented Programming

Éric Tanter 1 Jacques Noyé 1
1 OBASCO - Objects, aspects and components
Mines Nantes - Mines Nantes, Inria Rennes – Bretagne Atlantique
Abstract : Aspect-Oriented Programming (AOP) is a promising approach to modularizing software in presence of crosscutting concerns. Numerous proposals for AOP have been formulated, some of them generic, others specific to particular concerns. There are commonalities and variabilities among these approaches, which are worth exploring. Unfortunately, in practice, these various approaches are hard to combine and to extend. This results from the fact that the corresponding tools, such as aspect weavers, have not been designed to be used along with others, although they usually perform very similar low-level tasks. In this report, we suggest to include common functionality into a versatile kernel for AOP. Such a kernel alleviates the task of implementing an aspect-oriented approach by taking care of basic program alterations. It also lets several approaches coexist without breaking each other by automatically detecting interactions among aspects and offering expressive composition means. From a review of the main features of Aspect-Oriented Programming, we present the main issues that the design of such an AOP kernel should address: open support for aspect languages taking care of both behavior and structure, base language compliance, and aspect composition. As this suggests that partial reflection is an appropriate general framework for AOP, we concretize these ideas with a Java AOP kernel based on partial reflection, reconciling in this way reflection and aspect orientation. A case study based on an implementation of the Sequential Object Monitors illustrates the benefits of the approach.
Document type :
Reports
Complete list of metadata

https://hal.inria.fr/inria-00070724
Contributor : Rapport de Recherche Inria Connect in order to contact the contributor
Submitted on : Friday, May 19, 2006 - 9:24:13 PM
Last modification on : Friday, February 4, 2022 - 3:14:46 AM
Long-term archiving on: : Sunday, April 4, 2010 - 9:47:40 PM

Identifiers

  • HAL Id : inria-00070724, version 1

Collections

Citation

Éric Tanter, Jacques Noyé. Versatile Kernels for Aspect-Oriented Programming. [Research Report] RR-5275, INRIA. 2004, pp.27. ⟨inria-00070724⟩

Share

Metrics

Record views

102

Files downloads

89