Distribution et interpretation dans les interfaces homme-machine
Institution:
Paris 6Disciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Les interfaces graphiques et les environnements distribues ont contribue a la nouvelle complexite des applications logicielles, qu'il est maintenant necessaire de rendre adaptables. Cette adaptabilite est consideree, ici, comme l'ensemble des possibilites de personnalisation et d'extension dont elle dispose. Cette these propose de resoudre ce probleme en recourant a des methodes inspirees de la programmation fonctionnelle: integrer aux applications un petit nombre de primitives agissant sur des structures de donnees complexes, voire embarquer un interprete de langage de haut niveau. Apres un panorama des outils de personnalisation, nous presentons k-edit, un systeme de communication permettant de modifier dynamiquement les ressources d'une application. Ce systeme est generique, c'est-a-dire independant du domaine de l'application cible. Il en uniformise l'acces distant par l'intermediaire d'un protocole de communication unique. Nous examinons ensuite le probleme de l'extension des applications. Cette modification de leur comportement est obtenue par l'embarquation d'interpretes. Les interpretes existants proposent l'implementation, generalement assez peu efficace, d'un langage specifique. Nous presentons oscheme, un interprete respectant la norme scheme, dont l'implementation est le resultat du passage au crible de l'embarquabilite et de l'extensibilite des techniques interpretatives les plus connues, et qui se revele etre l'un des plus rapides. En etendant la notion classique d'encapsulateurs a des prototypes, nous proposons un systeme d'extension original, qui permet de raffiner en scheme des objets importes de bibliotheques ecrites dans des langages orientes objet. Enfin, dans le cadre du world wide web nous composons les deux techniques precedentes pour construire un systeme de transport, par le reseau, de code a interpreter localement. Nous montrons qu'en limitant les services exportes via le langage de commande, nous pouvons securiser l'acces aux ressources de la machine hote