Bilan des activités de recherche

Dans un premier temps, j'ai utilisé comme fil conducteur de mes travaux et comme moyen d'expression la réflexion [17], la méta-programmation [18] et les patrons de conception [19]. Cela m'a permis de proposer une taxonomie de métaclasses pour rétro-concevoir des bibliothèques de classes Smalltalk justifiant ainsi l'intérêt de la réflexion pour la conception de langages à objets [8]. C'est également à cette époque que j'ai proposé avec les doctorants de Pierre Cointe un nouveau modèle pour organiser les architectures à méta-niveaux [7] à la CLOS [20] ou Classtalk [18]. Finalement, l'application de ces techniques au domaine des intergiciels a été le sujet de ma thèse(*) et m'a permis de concevoir et d'implémenter OpenCorba [6, 16], un bus logiciel ouvert basé sur un protocole à méta-objets en Smalltalk. Les résultats ont montré l'intérêt de la réflexion pour la construction d'intergiciels adaptables [1]. Ensuite, avec l'émergence de la programmation par aspects (AOP) [21], je me suis intéressé aux liens entre réflexion et AOP montrant que la méta-programmation pouvait être un substrat possible pour la conception de langages d'aspects [2, 10], offrant même des propriétés nouvelles (tissage dynamique dans AspectJ [15]).

Avec le projet RNTL ARCAD (2000-2004), je me suis ensuite intéressé au concept d'adaptabilité dynamique dans les architectures logicielles à base de composants. Le projet a participé à l'émergence du modèle de composants Fractal [22] et la proposition d'un aspect d'adaptation pour la reconfiguration dynamique de composants Fractal constitue le principal résultat de notre équipe [4, 5, 9]. Cet aspect modularise le code de l'adaptation à la fois spatialement (isolé des composants métiers Fractal) et temporellement (chargé au déploiement, modifiable à l'exécution).

Avec le projet RNTL Selfware (2005-2008), j'ai abordé un nouveau domaine qui était déjà un domaine cible implicite de mes précédents travaux : celui de l'autonomic computing [23]. Mon objectif était d'utiliser les approches langages dédiés (au sens Domain Specific Language [24]) pour concevoir et implémenter des langages sur mesure pour l'administration autonome de systèmes informatiques répartis. Privilégiant encore le modèle de composants Fractal comme terrain d'expérimentation, notre équipe a proposé deux langages dédiés pour la navigation (FPath) et la reconfiguration d'architectures Fractal (FScript) [13]. Par construction, ces langages garantissent un certain nombre de bonnes propriétés comme la terminaison (requête s'exécutant en temps borné dans FPath, pas de boucle infinie dans FScript). Un travail commun au sein Selfware avec France Telecom R&D, nous a permis de rendre les reconfigurations fiables en associant à FScript un moniteur transactionnel [12].

Parallèlement, désirant expérimenter d'autres modèles de composants plus industriels, je me suis intéressé à la gestion de la qualité de service (QoS) dans les orchestrations de Web services. L'objectif était le suivant : concevoir et implémenter un langage unique (et le moteur d'exécution associé) pour garantir statiquement les propriétés de QoS de l'assemblage et adapter la QoS aux fluctuations de l'environnement d'exécution [3].

(*) Cette thèse a été supervisée par Pierre Cointe et partiellement financée par IBM France.


Bibliographie sélectionnée


En terme d'impact/d'audience

1. "OpenCorba: a Reflective Open Broker" in Reflection'99 a été cité 146 fois par d'autres publications de recherche d'après Google Scholar (requête au 01/03/08)

Chapitres de livre

2. Noury M. Bouraqadi-Saâdani, Thomas Ledoux - Supporting AOP Using Reflection. In Mehmet Aksit, Siobhán Clarke, Tzilla Elrad, and Robert E. Filman, editors, Aspect-Oriented Software Development. Addison-Wesley, 2004.

Conférences internationales avec comité de lecture et actes

3. Fabien Baligand, Nicolas Rivierre, Thomas Ledoux - A Declarative Approach for QoS-Aware Web Service Compositions. In 5th International Conference on Service Oriented Computing (ICSOC'07), Springer-Verlag, LNCS Vol. 4749, Vienna, Austria, September 2007.

4. Pierre-Charles David, Thomas Ledoux - An Aspect-Oriented Approach for Developing Self-Adaptive Fractal Components. In 5th International Symposium on Software Composition (SC'06), Springer-Verlag, LNCS Vol. 4089, W. Löwe, M. Südholt (Eds.), Vienna, Austria, March 2006.

5. Pierre-Charles David, Thomas Ledoux - Towards a Framework for Self-Adaptive Component-Based Applications. In 4th International IFIP Conference on Distributed Applications and Interoperable Systems (DAIS'03), Springer-Verlag, LNCS 2893, Paris, France, November 2003.

6. Thomas Ledoux - OpenCorba: a Reflective Open Broker. In Pierre Cointe, editor, Meta-Level Architectures and Reflection, Second International Conference, Reflection'99, Springer-Verlag, LNCS 1616, Saint-Malo, France, July 1999.

7. Noury M. Bouraqadi-Saâdani, Thomas Ledoux, Fred Rivard - Safe Metaclass Programming. In Proceedings of International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'98), ACM-Sigplan, Portland, October 1998.

8. Thomas Ledoux, Pierre Cointe - Explicit Metaclasses as a Tool for Improving the Design of Class Libraries. In International Symposium on Object Technologies for Advanced Software (ISOTAS'96), Springer Verlag, LNCS 1049, Kanazawa, Japan, March 1996.

Revues nationales avec comité de lecture

9. Pierre-Charles David, Thomas Ledoux - Une approche par aspects pour le développement de composants Fractal adaptatifs. In RSTI - L'Objet. Volume 12 - n°2-3/2006, Hermès Sciences/Lavoisier, 2006.

10. Noury M. N. Bouraqadi-Saâdani, Thomas Ledoux - Le point sur la programmation par aspects. In Technique et Science Informatiques (TSI). Volume 20 - n°4/2001, Hermès, 2001.

Conférences nationales avec comité de lecture et actes

11. Marc Léger, Thierry Coupaye, Thomas Ledoux - Contrôle dynamique de l'intégrité des communications dans les architectures à composants. In Langages et Modèles à Objets (LMO 2006), Hermès Sciences/Lavoisier, Nîmes, France, Mars 2006.

Ateliers internationaux avec comité de lecture

12. Marc Léger, Thomas Ledoux, Thierry Coupaye - Reliable Dynamic Reconfigurations in the Fractal Component Model. In the 6th Workshop on Adaptive and Reflective Middleware, Middleware 2007, Newport Beach, California, November 2007.

13. Pierre-Charles David, Thomas Ledoux - Safe Dynamic Reconfigurations of Fractal Architectures with FScript. In the Fractal CBSE Workshop, European Conference on Object-Oriented Programming (ECOOP'06), Nantes, France, July 2006.

14. Pierre-Charles David, Thomas Ledoux - WildCAT: a generic framework for context-aware applications. In the 3rd International Workshop on Middleware for Pervasive and Ad-Hoc Computing (MPAC 2005), ACM Digital Library, Grenoble, France, November 2005.

15. Pierre-Charles David, Thomas Ledoux, Noury M. N. Bouraqadi-Saâdani - Two-step Weaving with Reflection using AspectJ. In the Workshop on "Advanced Separation of Concerns in Object-Oriented Systems", OOPSLA'01, Tampa Bay, USA, October 2001.

Thèse de doctorat

16. Thomas Ledoux - Réflexion dans les systèmes répartis : application à CORBA et Smalltalk, Thèse de doctorat de l'Université de Nantes, École des Mines de Nantes, France, Mars 1998.

Jury :

Références externes

17. Brian C. Smith – Reflection and Semantics in a Procedural Programming Language. PhD thesis, MIT, January 1982.

18. Jean-Pierre Briot, Pierre Cointe – Programming with Explicit Metaclasses in Smalltalk-80. In Proceedings of OOPSLA'89, ACM Sigplan Notices, p.419-431, New Orleans, Louisiane, October 1989.

19. Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides – Design Patterns, Addison-Wesley, Reading, Massachusetts, 1995

20. Gregor Kiczales, Jim des Rivieres, Daniel G. Bobrow – The Art of the Metaobject Protocol. The MIT Press, 1991.

21. Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier et John Irwin – Aspect-Oriented Programming. In Proceedings of ECOOP'97, LNCS 1241, Springer-Verlag, p.220-242, Jyväskyla, Finlande, June 1997.

22. E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma, J.-B. Stefani – The Fractal Component Model and its Support in Java. Software Practice and Experience, special issue on Experiences with Auto-adaptive and Reconfigurable Systems 36, 11-12 (2006)

23. J.O Kephart, D.M Chess – The vision of autonomic computing. In IEEE Computer, Vol. 36, Issue: 1, January 2003.

24. Marjan Mernik, Jan Heering, Anthony M. Sloane. – When and how to develop domain-specific languages. ACM Computing Surveys, 37(4):316–344, 2005.

25. Pierre-Charles David – Développement de composants Fractal adaptatifs: un langage dédié à l'aspect d'adaptation, Thèse de Doctorat, École des Mines de Nantes, Université de Nantes, Juillet 2005.

26. Algirdas Avizienis, Jean-Claude Laprie, Brian Randell, Carl Landwehr – Basic Concepts and Taxonomy of Dependable and Secure Computing. In IEEE Transactions on Dependable and Secure Computing, Vol. 1, N°1, January-March 2004

27. M. Clarke, G. Coulson, G. Blair, N. Parlavantzas – An Efficient Component Model for the Construction of Adaptive Middleware. In Middleware 2001, Springer-Verlag, LNCS Vol. 2218, 2001.

28. The K-Component Architecture Meta-model for Self-Adaptive Software. In Proceedings of Reflection'01, Springer-Verlag, LNCS Vol. 2192, Sept. 2001.

29. N. Nenad Medvidovic, Richard N. Taylor.A – Classification and Comparison Framework for Software Architecture Description Languages. In IEEE Transactions on Software Engineering, vol. 26, no. 1, January 2000

30. Ian Warren, Jing Sun, Sanjev Krishnamohan, Thiranjith Weerasinghe – An Automated Formal Approach to Managing Dynamic Reconfiguration. In 21st IEEE/ACM International Conference Automated Software Engineering, Sept. 2006.

31. F. Jouault, J. Bézivin – KM3: a DSL for Metamodel Specification. In Proceedings of 8th IFIP International Conference on Formal Methods for Open Object-Based Distributed Systems, LNCS 4037, Bologna, Italy, 2006.

32. Clement Escoffier, Richard S. Hall and Philippe Lalanda – iPOJO: An extensible service-oriented component framework. In IEEE Service Computing Conference 2007 (SCC 2007) July 2007, Salt Lake City, Utah (USA)