Cette thèse propose de généraliser l'utilisation de la transformation de programmes, pour la construction d'un lien efficace entre les parties fonctionnelle et non-fonctionnelle (ou technique) d'un système logiciel. Dans ce cadre, nous avons développé un système de transformation (Jabyce), avec pour objectifs la possibilité d'implanter tous les transformateurs de programmes possibles, leur encapsulation pour systématiser leur réutilisation, et la possibilité de les composer arbitrairement et efficacement. Pour cela, Jabyce a deux caractéristiques : les transformateurs sont conçus sous la forme de composants logiciels dans un modèle de composant général (Fractal), et les programmes transformés sont représentés par des séquences d'interactions au lieu de graphes d'objets (représentation classique). Une extension de la catégorisation classique des systèmes de transformation de programme nous permet une comparaison exhaustive de Jabyce aux autres systèmes existants, qui montre que, grâce à ses caractéristiques, Jabyce facilite significativement la conception de transformateurs complexes, et offre les mécanismes de composition de transformateurs les plus efficaces et les plus flexibles. Jabyce a été validé expérimentalement dans le cadre de la construction d'un environnement de persistance transparente d'objets Java, et celle d'une Machine Virtuelle Java modulaire basée sur la compilation statique. Un autre apport original de ce travail est l'introduction de la problématique du traitement des erreurs dans les systèmes de transformation de programmes, et la conception d'un système de traitement d'erreur adapté à Jabyce.
Identifer | oai:union.ndltd.org:CCSD/oai:tel.archives-ouvertes.fr:tel-00007526 |
Date | 25 November 2004 |
Creators | Lenglet, Romain |
Source Sets | CCSD theses-EN-ligne, France |
Language | French |
Detected Language | French |
Type | PhD thesis |
Page generated in 0.0021 seconds