A Monadic Interpretation of Execution Levels and Exceptions for AOP

Nicolas Tabareau 1, 2
1 ASCOLA - Aspect and composition languages
LINA - Laboratoire d'Informatique de Nantes Atlantique, Département informatique - EMN, Inria Rennes – Bretagne Atlantique
Abstract : 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.
Type de document :
Communication dans un congrès
Modularity: AOSD'12, Mar 2012, Postdam, Germany. ACM Press, 2012
Liste complète des métadonnées

Littérature citée [25 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00592132
Contributeur : Nicolas Tabareau <>
Soumis le : jeudi 26 janvier 2012 - 09:39:52
Dernière modification le : mercredi 5 décembre 2018 - 01:22:15
Document(s) archivé(s) le : mercredi 14 décembre 2016 - 01:22:26

Fichier

aspect_2_category_aosd_2012.pd...
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00592132, version 3

Citation

Nicolas Tabareau. A Monadic Interpretation of Execution Levels and Exceptions for AOP. Modularity: AOSD'12, Mar 2012, Postdam, Germany. ACM Press, 2012. 〈inria-00592132v3〉

Partager

Métriques

Consultations de la notice

439

Téléchargements de fichiers

224