Composition flexible et efficace de transformations de programmes

par Romain Lenglet

Thèse de doctorat en Systèmes et logiciels

Sous la direction de Daniel Hagimont et de Thierry Coupaye.

Soutenue en 2004

à Grenoble, INPG .

    mots clés mots clés


  • Résumé

    Cette these propose de generaliser 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 systeme logiciel. Dans ce cadre, nous avons developpe un systeme de transformation (jabyce), avec pour objectifs la possibilite d'implanter tous les transformateurs de programmes possibles, leur encapsulation pour systematiser leur reutilisation, et la possibilite de les composer arbitrairement et efficacement. Pour cela, jabyce a deux caracteristiques : les transformateurs sont conÇus sous la forme de composants logiciels dans un modele de composant general (fractal), et les programmes transformes sont representes par des sequences d'interactions au lieu de graphes d'objets (representation classique). Une extension de la categorisation classique des systemes de transformation de programme nous permet une comparaison exhaustive de jabyce aux autres systemes existants, qui montre que, grace a ses caracteristiques, jabyce facilite significativement la conception de transformateurs complexes, et offre les mecanismes de composition de transformation les plus efficaces et les plus flexibles. Jabyce a ete valide experimentalement dans le cadre de la construction d'un environnement de persistance transparente d'objets java, et celle d'une machine virtuelle java modulaire basee sur la compilation statique. Un autre apport original de ce travail est l'introduction de la problematique du traitement des erreurs dans les systemes de transformation de programmes, et la conception d'un systeme de traitement d'erreur adapte a jabyce.


  • Pas de résumé disponible.

  • Titre traduit

    Flexible and efficient composition of program tranformations


  • 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.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : xvii-248 p.
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. p.223-236

Où se trouve cette thèse ?

  • Bibliothèque : Service interétablissements de Documentation (Saint-Martin d'Hères, Isère). Bibliothèque universitaire de Sciences.
  • Non disponible pour le PEB
  • Cote : TS04/INPG/0109
  • Bibliothèque : Service interétablissements de Documentation (Saint-Martin d'Hères, Isère). Bibliothèque universitaire de Sciences.
  • Disponible pour le PEB
  • Cote : TS04/INPG/0109/D
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.