102 articles – 159 Notices  [english version]
HAL : inria-00429568, version 1

Voir la fiche concise  BibTeX,EndNote,...
Flexible metaprogramming and AOP in Java
Tanter E., Toledo R., Pothier G., Noyé J.
Science of Computer Programming (2008) - http://hal.inria.fr/inria-00429568
Articles dans des revues avec comité de lecture
Informatique/Génie logiciel
Informatique/Langage de programmation
Flexible metaprogramming and AOP in Java
Éric Tanter () 1, Rodolfo Toledo () 1, Guillaume Pothier 1, Jacques Noyé () 2, 3
1 :  Departemento de Ciencias de la Computacion (DCC)
Universidad de Chile
Chili
2 :  OBASCO (INRIA - EMN)
INRIA – École Nationale Supérieure des Mines - Nantes
France
3 :  Laboratoire d'Informatique de Nantes Atlantique (LINA)
http://www.sciences.univ-nantes.fr/lina
CNRS : UMR6241 – Université de Nantes – École Nationale Supérieure des Mines - Nantes
LINA - Faculté des Sciences 2 rue de la Houssinière - BP 92208 44322 NANTES CEDEX 3
France
Advanced programming techniques such as metaprogramming and computational reflection, as well as the more recent paradigm of aspect-oriented programming (AOP), serve important objectives of software engineering such as modularization and adaptability. In this tool presentation paper, we briefly overview this area and present Reflex, a portable tool for flexible metaprogramming and AOP in Java. Reflex provides both structural and behavioral facilities adopting a uniform model of partial reflection. This allows selective and fine-grained control of where and when reflection occurs. The facilities of Reflex make it easy to experiment with (combinations of) advanced uses of AOP and reflection without reinventing the wheel or being limited to a specific AOP language.
Anglais

Science of Computer Programming
Publisher Elsevier
ISSN 0167-6423 
25/04/2008
internationale
Elsevier
http://dx.doi.org/10.1016/j.scico.2007.10.005

Metaprogramming – Reflection – Aspect-oriented programming – Reflex – Java
Millennium Nucleus Center for Web Research, Grant P04-067-F, Mideplan, Chile and FONDECYT Project 11060493.