Taming aspects with monads and membranes - Archive ouverte HAL Access content directly
Conference Papers Year : 2013

Taming aspects with monads and membranes

Abstract

When a software system is developed using several aspects, special care must be taken to ensure that the resulting behavior is correct. This is known as the aspect interference problem, and existing approaches essentially aim to detect whether a system exhibits problematic interferences of aspects. In this paper we describe how to control aspect interference by construction by relying on the type system. More precisely, we combine a monadic embedding of the pointcut/advice model in Haskell with the notion of membranes for aspect-oriented programming. Aspects must explicitly declare the side effectsa nd the context they can act upon. Allowed patterns of control flow interference are declared at the membrane level and statically enforced. Finally, computational interference between aspects is controlled by the membrane topology. To combine independent and reusable aspects and monadic components into a program specification we use monad views, a recent technique for conveniently handling the monadic stack.
Fichier principal
Vignette du fichier
main.pdf (215.8 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

hal-00808983 , version 1 (08-04-2013)

Identifiers

Cite

Ismael Figueroa, Nicolas Tabareau, Éric Tanter. Taming aspects with monads and membranes. FOAL'13: Foundations of aspect-oriented languages, Mar 2013, Fukuoka, Japan. ⟨10.1145/2451598.2451600⟩. ⟨hal-00808983⟩
512 View
174 Download

Altmetric

Share

Gmail Facebook X LinkedIn More