Taming aspects with monads and membranes - LINA - Langages d'Aspects et de Composants Accéder directement au contenu
Communication Dans Un Congrès Année : 2013

Taming aspects with monads and membranes

Résumé

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
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

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

Identifiants

Citer

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 Consultations
174 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More