Composants génériques: Tranformation générique de programme


[Fleche]Type du stage :  Stage DEA

[Fleche]Encadrement :  PARIGOT Didier

[Fleche]Téléphone : 04 92 38 50 01Email :Didier.Parigot@inria.fr

[Fleche]Laboratoire ou équipe : Projet Oasis à INRIA Sophia Antipolis

[Fleche]Prérequis : Java, Technologie XML, Design Pattern, compilation

[Fleche]Matériel et logiciels utilisés :  SmartTools


[Fleche]Description et objectifs du sujet:

Dans le cadre d'une action de recherche et développement, SmartTools -- un générateur d'environnement de développement basé sur la technologie XML et JAVA ---, nous souhaitons proposer des mécanismes de composition d'applications associées à chaque environnement. Pour décrire les traitements (sémantiques) spécifiques à chaque langage (environnement), nous avons automatisé la technique de programmation, dénommée ``visitor pattern''. En utilisant les travaux sur les multi-méthodes, nous avons étendu cette technique. L'intérêt de cette approche est surtout sa simplicité dans sa mise en oeuvre et correspond parfaitement à nos soucis de réutilisation ou de généricité des composants sémantiques. Tout ceci correspond aux éléments de base, de nos efforts de recherche sur la définition et la réutilisation de ``composants génériques'' pour les descriptions sémantiques.

Nous avons validé cette approche dans le cadre de l'utilisation de la technologie XML. En effet, les points de rapprochement entre la technologie SmartTools et la technologie XML ont été confirmés, tant au niveau spécification que composant logiciel. Nous avons défini et réalisé une correspondance entre les spécifications syntaxiques liées au formalisme XML (DTD) et leur équivalent dans SmartTools. En particulier, l'outil de transformation XSLT et le langage de description de Java Beans (BML), sont maintenant fortement utilisés comme les outils de base pour la génération des vues d'éditions et graphiques.

Dans le cadre d'une collaboration industrielle, nous avons un exemple réaliste pour expérimenter nos techniques de ``composants génériques''. Plus précisément, nous voulons produire automatiquement une famille de langage (métier) qui seront tous traduis vers un unique langage cible. Il est important que dans ce cadre que la traduction vers le langage cible soit déductible automatiquement par les règles de composition ou de construction des langages métiers.

L'objectif principal du stage sera de valider et d'étendre nos techniques de composition de langage dans un cadre particulier de transformation de programmes générique. Pour cela il faudra, dans un premier temps, construire un environnement pour le langage cible et pour une famille de langages métier. Ensuite, il faudra définir un ensemble de composants "langage" pour la traduction et proposer un mécanisme de composition.

Les étudiants travailleront avec une équipe d'ingénieurs qui développent l'outil SmartTools et dans le projet de recherche Oasis à l'INRIA Sophia Antipolis. Les applications de cet outil sont très vastes et nous avons déjà des partenaires industriels intéressés par l'intégration ou la connexion possible avec leur propre outil de développement, en particulier, notre sponsor dans le cadre du partenariat Dyade, Bull SmartCards and Terminals.

Ce stage est une excellente opportunité pour se sensibiliser et acquérir de l'expérience dans des domaines prometteurs tels que la Programmation Orientée Objet, par composant et la technologie XML.


[Fleche]Bibliographie


INRIA Sophia Antipolis
2004 route des lucioles, B.P. 93
06902 Sophia Antipolis Cedex FRANCE