![]()
|
![]() Stage 2007Composition de programme basée sur la programmation par aspectsSujetUne 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). ObjectifL'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. ContexteCe stage est une excellent opportunité pour se former aux concepts émergents de l'informatique de demain:
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
|