Skip to Main content Skip to Navigation

Exploring Membranes for Controlling Aspects

Éric Tanter 1 Nicolas Tabareau 2, 3 Rémi Douence 2 
2 ASCOLA - Aspect and composition languages
LINA - Laboratoire d'Informatique de Nantes Atlantique, Département informatique - EMN, Inria Rennes – Bretagne Atlantique
Abstract : In most aspect-oriented languages, aspects have an unrestricted global view of computation. Several approaches for aspect scoping and more strongly encapsulated modules have been formulated to restrict this controversial power of aspects. This paper proposes to leverage the concept of programmable membranes developed by Boudol, Schmitt and Stefani, as a means to tame aspects by customizing the semantics of aspect weaving locally. Membranes subsume previous proposals in a uniform framework. Because membranes give structure to computation, they enable flexible scoping of aspects; because they are programmable, they make it possible to define visibility and safety constraints, both for the advised program and for the aspects. We first de- scribe membranes for AOP without committing to any specific language design. In addition, we then illustrate an extension of AspectScheme with membranes, and explore the instantiation of programmable membranes in the Kell calculus. The power and simplicity of membranes open interesting perspectives to unify multiple approaches that tackle the unrestricted power of aspect-oriented programming.
Document type :
Complete list of metadata

Cited literature [17 references]  Display  Hide  Download
Contributor : Nicolas Tabareau Connect in order to contact the contributor
Submitted on : Monday, September 26, 2011 - 10:17:26 AM
Last modification on : Wednesday, April 27, 2022 - 4:11:18 AM
Long-term archiving on: : Thursday, March 30, 2017 - 3:52:20 PM


Files produced by the author(s)


  • HAL Id : inria-00592133, version 2


Éric Tanter, Nicolas Tabareau, Rémi Douence. Exploring Membranes for Controlling Aspects. [Research Report] RR-7739, INRIA. 2011, pp.33. ⟨inria-00592133v2⟩



Record views


Files downloads