Composition flexible et efficace de transformations de programmes - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2004

Flexible and efficient composition of program transformations

Composition flexible et efficace de transformations de programmes

Résumé

In this work we propose to generalize the use of program transformation, in order to efficiently link the functional and non-functional (or technical) parts of a software system. In this context, we have developed a transformation system (Jabyce), which allows the implementation of any possible program transformers, their encapsulation in order to make them reusable systematically, and their efficient and flexible composition. In order to reach those goals, Jabyce has two characteristics: transformers are designed as software components in a general component model (Fractal), and transformed programs are represented as sequences of interactions between such components, instead of object graphs (classical representation). An extension of the classical categorization of transformation systems allows us an extensive comparison of Jabyce to the other existing transformation systems, which demonstrates that Jabyce makes it significantly easier to develop complex transformers, and offers the most efficient and flexible transformer composition mechanisms. Jabyce has been experimentally used in the context of the development of a transparent Java object persistence service, and that of a modular Java Virtual Machine relying on static compilation. Another original contribution of this work is the introduction of the problematics of fault tolerance in program transformation systems, and the design of an error handling system adapted to Jabyce.
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.
Fichier principal
Vignette du fichier
tel-000075261.pdf (3.22 Mo) Télécharger le fichier
tel-00007526.pdf (305.77 Ko) Télécharger le fichier
Format : Autre

Dates et versions

tel-00007526 , version 1 (26-11-2004)

Identifiants

  • HAL Id : tel-00007526 , version 1

Citer

Romain Lenglet. Composition flexible et efficace de transformations de programmes. Génie logiciel [cs.SE]. Institut National Polytechnique de Grenoble - INPG, 2004. Français. ⟨NNT : ⟩. ⟨tel-00007526⟩

Collections

UGA
185 Consultations
257 Téléchargements

Partager

Gmail Facebook X LinkedIn More