Thèse soutenue

Intégration réflexive de dépendances dans un modèle à classes

FR  |  
EN
Auteur / Autrice : Stéphane Ducasse
Direction : Paul Franchi-Zannettacci
Type : Thèse de doctorat
Discipline(s) : Sciences appliquées
Date : Soutenance en 1996
Etablissement(s) : Nice

Résumé

FR

Dans un systeme a base d'objets, des groupes d'objets cooperent dans le but d'assurer differentes taches ou de maintenir des invariants entre eux. Nous appelons de tels comportements collectifs des dependances entre objets. Or les langages a classes traditionnels n'offrent pas la possibilite d'exprimer facilement de telles dependances. En reponse a ce probleme, nous proposons un modele objet extensible qui integre l'expression et le maintien de dependances entre objets. Il propose: une reification du concept de dependance, une expression locale du maintien de coherence, des proprietes liees aux dependances et la resolution des problemes lies a une expression locale des dependances par un maintien global en terme de controleurs de dependances. Le langage flo est une implementation de ce modele dans un langage a classes. Dans flo, les dependances ont un statut egal a celui des classes (abstraction de la semantique d'une dependance, definition incrementale et independance vis-a-vis des classes). Flo utilise les caracteristiques reflexives de langages tels que clos, comme le controle de l'envoi de message, afin d'assurer le maintien de la coherence des dependances. Dans le but d'offrir un langage conforme au modele propose, nous avons choisi de definir un langage adaptable dans lequel peuvent etre projetees des dependances de differentes sortes. L'adaptabilite d'un langage pose deux questions essentielles: d'une part quelles sont les fonctions du langage qui peuvent etre sujettes a une adaptation sans mettre en peril sa coherence ? D'autre part, quelles sont les fonctions du langage qu'il faut rendre adaptables afin de generer toutes les fonctionnalites souhaitees ? Une part importante de notre travail peut etre percue comme l'elaboration d'un jeu de lego pour la gestion des dependances permet au programmeur de se construire son propre environnement de travail.