Titre: 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 a fait l'objet de plusieurs présentations à OOPSLA, LA
conférence sur la programmation par Objets et sera certainement l'un
des thèmes importants de recherche dans le futur. Dans notre équipe
de recherche, nous somme en train de concrétiser et valider cette
approche en développant notre fabrique logicielle, appelée
SmartTools http: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.
En particulier, nous avons introduit une programmation par aspects 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. Le sujet du stage sera en utilisant
notre programmation par aspects de montrer qu'il est possible de
projeter par composition le traitement (un programme) pour un
langage donné (langage de base du traitement) sur tous langages qui
se définissent 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 (composition ou transformation des traitements).
Ce sujet forme une base préliminaire pour une poursuite en thèse sur des
sujets qui sont d'une actualité forte tant du point de vue académique que du
point du vue applicatifs.
Encadreur
Didier Parigot
Contact
Tel : 04 92 38 50 01
Email : Didier.Parigot(at)inria.fr
Labo
INRIA Sophia Antipolis
Objectif
L'objectif du stage sera d'approfondir et d'étendre notre outil de
projection de programme modulo une transformation syntaxique. En
effet, nous avons réalisé un prototype très rudimentaire de cette
idée. Ainsi l'étudiant pourra comprendre assez rapidement notre
approche qui synthètise le programme résultant (sans transformation)
de la composition d'une transformation et d'un traitement
(programme) sur un langage de base. Mais pour l'instant, notre
langage de transformation (relation entre deux modèles) est très
basique et nos techniques de composition sont encore très
rudimentaire (projection d'aspects). Puis nous voudrons étudier la
possibilité de composer plusieurs transformations en séquence.
Prerequis
connaissance approfondi de Java et des techniques de compilation
Bibliographie
·
Software Factories, Assembling Application with Patterns, Models, Frameworks,
and Tools.
·
Voir le site de SmartTools {www-sop.inria.fr/smartool}
pour accéder aux articles.
Adresse
INRIA Sophia Antipolis
2004 Route des Lucioles
BP 93
06902 Sophia Antipolis Cedex
France