INRIA

Contact:
Didier Parigot
INRIA Sophia Antipolis
Bâtiment Euler, E103
2004 Route des Lucioles
BP 93
06902 Sophia Antipolis Cedex
France
e-mail: Didier.Parigot@inria.fr
Tel : (33-4) 4 92 38 50 01
Fax: (33-4) 4 92 38 76 44
SmartTools

Stage 2007

Composition de programme basée sur la programmation par aspects

Sujet


Une nouvelle approche du développement logiciel, par fabrique logicielle est en train d'émerger qui cherche par la définition de langages métiers de s'abstraire des langages de programmation pour mieux contrôler le processus de développement. Cette nouvelle approche [3] sera certainement l'un des thèmes importants de la recherche en informatique dans les dix années à venir. Dans notre équipe de recherche, nous avons concrétisé et validé cette approche en développant notre fabrique logicielle [1,4,5], appelée SmartTools \web{www-sop.inria.fr/smartool}. Notre approche combine avantageusement les approches de programmation générative, par composants, par modèles et par aspects qui sont elles aussi en forte évolution (suscite de nombreux travaux de recherche) depuis quelques années. De plus, par son immersion dans l'environnement Eclipse [2], on montre clairement les avantages d'une telle approche en s'appuyant sur des standards de l'informatique de demain. En particulier, nous avons introduit une programmation par aspect au dessus de la programmation par visiteur (patron de conception) qui s'exprime directement sur les langages dédiés et non pas au niveau du langage de programmation (Java). Le sujet du stage sera en utilisant notre programmation par aspect de montrer qu'il est possible de projeter par composition le traitement (un programme) pour un langage donné (langage de base du traitement, le modèle) sur tous langages qui se définit par transformation vers ce langage de base. L'intérêt de cette projection, est dans le cadre du développement dirigé par les modèles (langages), les transformations de modèles (transformation syntaxique) seront aussi accompagnées de la transformation des parties sémantiques (projection des traitements sémantique).

Objectif

L'objectif du stage sera d'approfondir et d'étendre notre premier prototype de projection de programme modulo une transformation syntaxique. En effet, nous avons réalisé une maquette très rudimentaire de cette approche (dans le monde de la programmation objets). Ainsi l'étudiant pourra comprendre rapidement avec cette maquette, notre idée de transformation issue de nos anciens travaux de recherche [6,7] (sur la transformation de programmes fonctionnelles, ou de grammaires attribuées) qui ne sont absolument pas simple à comprendre. Finalement, en nous basant sur cette première réalisation, pour des exemples utilisations, et en nous basant sur nos anciens travaux (théoriques) l'étudiant devra mettre en eouvre une solution plus complète (énoncer des pistes).
Ce sujet forme une base préliminaire pour une poursuite en thèse sur ce thème (transformation de programme pour le développement dirigée par les modèles) qui est d'une actualité forte tant du point de vue académique que du point du vue applicatif.

Contexte

Ce stage est une excellent opportunité pour se former aux concepts émergents de l'informatique de demain:
  • Architecture dirigée par les services (SOA);
  • Développement dirigé par les modèles (DSL, MDA, MDI);
  • Programmation par Aspects (AOP);

Notre projet a été lauréat de la Journée "Tremplin Recherche" organisé par le Sénat en 2006.
Une opération de développement a été acceptée par la direction nationnal de l'INRIA (un poste d'ingénieur sur deux ans)
Une première présentation a été présentée (le résultat d'un projet ESSI 3) au workshop "Eclipse Technology eXchange" à ECOOP 2006.

Références

  • SmartTools: Lauréat de la 2 édition de "Tremplin Recherche" organisé par le Sénat, en 2006.
  • Software Factory on top of Eclipse: SmartTools at Eclipse Technology eXchange workshop, ECOOP 2006.
  • Software Factories, Assembling Application with Patterns, Models, Frameworks, and Tools.
  • L'apport des technologies XML et Objets pour un générateur d'environnements : Smarttools. revue L'Objet, numéro spécial XML et les objets, 9(3), 2003.
  • Un modéle abstrait de composants adaptables. revue TSI, Composants et adaptabilité, 23(2), 2004.
  • Declarative program transformation: a deforestation case-study. Principles and Practice of Declarative Programming PPDP'99,
  • Coupling Evaluators for Attribute Coupled Grammars. 5th Int. Conf. on Compiler Construction (CC' 94),

Didier.Parigot@inria.fr
Last modified: Fri Jan 12 17:24:40 CET 2007
Valid HTML 4.01!