A monadic interpretation of execution levels and exceptions for AOP - Inria - Institut national de recherche en sciences et technologies du numérique
Pré-Publication, Document De Travail Année : 2011

A monadic interpretation of execution levels and exceptions for AOP

Nicolas Tabareau

Résumé

Aspect-Oriented Programming (AOP) started ten years ago with the remark that modularization of so-called crosscutting functionalities is a fundamental problem for the engineering of large-scale applications. Originating at Xerox PARC, this observation has sparked the development of a new style of programming featured that is gradually gaining traction. However, AOP lacks theoretical foundations to clarify new ideas showing up in its wake. This paper proposes to put a bridge between AOP and the notion of 2-category to enhance the conceptual understanding of AOP. Starting from the connection between the λ-calculus and the theory of categories, we provide an internal language for 2-categories and show how it can be used to define the first categorical semantics for a realistic functional AOP language, called MinAML. We then take advantage of this new categorical framework to introduce the notion of computational 2-monads for AOP. We illustrate their conceptual power by defining a 2-monad for Éric Tanter's execution levels--which constitutes the first algebraic semantics for execution levels--and then introducing the first exception monad transformer specific to AOP that gives rise to a non-flat semantics for exceptions by taking levels into account.
Fichier principal
Vignette du fichier
aspect_2_category_aosd_2012.pdf (403.27 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

inria-00592132 , version 1 (11-05-2011)
inria-00592132 , version 2 (13-05-2011)
inria-00592132 , version 3 (26-01-2012)

Identifiants

  • HAL Id : inria-00592132 , version 1

Citer

Nicolas Tabareau. A monadic interpretation of execution levels and exceptions for AOP. 2011. ⟨inria-00592132v1⟩

Collections

LINA-ASCOLA INFO
336 Consultations
616 Téléchargements

Partager

More