La réflexion comportementale partielle comme infrastructure de programmation par aspects. Etude du cas des coupes dynamiques
En dépit de la proximité apparente entre réflexion et programmation par aspects, la relation précise entre ces deux notions reste un sujet d'étude. Cet article contribue à cette étude en considérant une expérience concrète d'implémentation d'un mécanisme-clef de la programmation par aspects, les coupes dynamiques d'AspectJ, dans le cadre d'un modèle de réflexion comportementale partielle. Nous présentons une première proposition d'implémentation de ces coupes et analysons ses limitations. Ceci nous conduit à identifier deux extensions de notre modèle initial de réflexion partielle, extensions validées au travers d'une deuxième proposition d'implémentation. Ces extensions ont été intégrées à notre plateforme réflexive pour Java et la programmation par aspects, Reflex.
The relationship between reflection and aspect-oriented programming is still under exploration. This paper reports on an experiment to support a widely-accepted, generalpurpose aspect language mechanism AspectJ's dynamic crosscutting , with a model of partial behavioral reflection. We present a first approach to such a mapping, identify some extensions that can improve the effectiveness of the mapping, and validate our proposal through a revisited mapping. These extensions have been integrated into our Java and AOP reflective platform, Reflex.
L.RODRÍGUEZ, É.TANTER, J.NOYÉ
réflexion comportementale partielle, noyau de programmation par aspects, AspectJ, coupe, protocoles de métaobjets, Reflex.
partial behavioral reflection, AOP kernel, AspectJ, pointcut, metaobject protocols, Reflex.
Français
|