Aspect Oriented Programming: a language for 2-categories

Nicolas Tabareau 1, 2
1 ASCOLA - Aspect and composition languages
Inria Rennes – Bretagne Atlantique , Département informatique - EMN, LINA - Laboratoire d'Informatique de Nantes 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, as it is the case for the related concept of code injection, in the guise of frameworks such as Swing and Google Guice. However, AOP lacks theoretical foundations to clarify this new idea. 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 $\lambda$-calculus and the theory of categories, we propose to see an aspect as a morphism between morphisms---that is as a program that transforms the execution of a program. To make this connection precise, we develop an advised lambda-calculus that provides an internal language for 2-categories and show how it can be used as a base for the definition of the weaving mechanism of a realistic functional AOP language, called MinAML. Finally, we advocate for a formalization of more complex AOP languages (eg. with references or exceptions) using the notion of enriched Lawvere theories.
Keywords : Languages Theory design
Type de document :
Rapport
[Research Report] RR-7527, INRIA. 2011, pp.30
Liste complète des métadonnées

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

https://hal.inria.fr/inria-00470400
Contributeur : Nicolas Tabareau <>
Soumis le : mardi 8 février 2011 - 13:48:53
Dernière modification le : vendredi 22 juin 2018 - 09:29:52
Document(s) archivé(s) le : samedi 3 décembre 2016 - 07:05:34

Fichier

RR7527.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00470400, version 3

Citation

Nicolas Tabareau. Aspect Oriented Programming: a language for 2-categories. [Research Report] RR-7527, INRIA. 2011, pp.30. 〈inria-00470400v3〉

Partager

Métriques

Consultations de la notice

504

Téléchargements de fichiers

248