thesis

Architecture logicielle et outils pour les interfaces hommes-machines graphiques avancées

Defense date:

Jan. 1, 2005

Edit

Institution:

Paris 11

Disciplines:

Authors:

Abstract EN:

This thesis presents an approach and a set of tools that facilitate the development and use of advanced interaction techniques in interactive graphical applications. We solve the contradictory constraints of reusability, required for factoring, and innovation, required for adapting applications to new contexts of use, by providing a pyramid of levels of abstractions that can be combined in various ways to adapt to the specific needs of each application. We also augment imperative programming languages with a new control structured based on hierarchical state machines. This facilitates the programming of dynamic behaviours by turning interactions into first-class objects of the programming language. Through a set of examples, we demonstrate how this approach supports the implementation of both classical and state-of-the-art interactions, as well as the implementation of novel and efficient interaction techniques. In particular, we describe the implementation of a distributed architecture for developing interactive graphical applications where advanced interaction and rendering is handled on the local machine while the functional core runs on a distant machine. We also describe a novel interaction technique called semantic pointing that facilitates the selection of objects with a pointing device by decoupling the visual size of objects, defined by their presentation requirements, from their size in the motor space, defined by their interaction requirements.

Abstract FR:

Dans cette these nous proposons une approche et des outils pour faciliter la mise au point et l'utilisation de techniques d'interaction avancees au sein d'applications graphiques interactives. Nous proposons de resoudre les exigences antithetiques de la reutilisation, necessaire a la factorisation des efforts, et de l'innovation, necessaire a l'adaptation a de nouveaux contextes, en fournissant une pyramide d'abstractions de divers niveaux permettant leur recombinaison pour s'adapter finement aux besoins specifiques a chaque usage. Nous proposons egalement d'integrer aux langages imperatifs une structure de controle basee sur un formalisme de machines a etats hierarchiques pour faciliter la programmation de comportements dynamiques et faire des interactions des objets a part entiere du vocabulaire des programmeurs. Nous montrons par des exemples comme ces elements permettent la reproduction de l'etat de l'art des interactions, tant standards qu'avancees, et la mise au point de techniques d'interaction originales et performantes. Nous presentons en particulier la realisation d'applications graphiques interactives utilisant une architecture distribuee permettant de localiser l'interaction sur le systeme local et de reporter le noyau fonctionnel sur une machine distante. Nous presentons enfin une technique d'interaction avancee, le pointage semantique, qui facilite la tache elementaire de selection par pointage en permettant d'utiliser deux tailles pour les objets de l'interface, l'une choisie en fonction des informations qu'ils presentent, l'autre en fonction de leur importance pour la manipulation.