7.1 Introduction

Dans ce chapitre, nous introduisons un modèle d'architecture logicielle original pour la conception des Interfaces Homme-Machine, ainsi que les principes de son implémentation dans la boîte à outils MAGGLITE. Cette architecture d'implémentation, les « Graphes Combinés», étends et affine l'architecture graphique des graphes de scène en en soustrayant la description des interactions sous la forme de graphes d'interaction.

Figure 7.1: Les graphes combinés. Un graphe de scène (à gauche) et un graphe d'interaction (à droite) sont combinés à l'exécution. Certains nœuds du graphe d'interaction communiquent avec des nœuds compatibles du graphe de scène (couleurs équivalentes).
\includegraphics[width=.8\textwidth]{mixedgraphs}

La partie graphique de cette architecture repose sur un graphe de scène. Introduits dans le développement des boîtes à outils 3D et devenus incontournables dans ce domaine, les graphes de scènes sont de plus en plus utilisés pour l'affichage en deux dimensions, tout spécialement dans des boîtes à outils ou applications avancées telles que Jazz/Piccolo [Bederson et al.2000,Bederson et al.2004], CPN Tools [Beaudouin-Lafon et Lassen2000] ou UBIT [Lecolinet2003]. Un graphe de scène décompose la structure monolithique des architectures basées sur les «widgets» en utilisant des objets graphiques de granularité plus fine. Ces objets de base peuvent alors être regroupés afin d'en composer des plus complexes. Chaque nœud, ou groupe de nœuds, encapsule alors ses comportements et interactions, interactions reposant le plus souvent sur une architecture à événements.

Le principe des graphes combinés va plus loin en ne décomposant pas seulement la partie graphique, mais aussi les interactions. Celles-ci sont décrites par des graphes d'interaction qui décomposent la gestion événementielle en graphes de flot de données. Ces graphes sont des configurations d'entrée d'ICON, composées de dispositifs. Le graphe d'interaction met à jour la structure et les composants du graphe de scène de manière dynamique, lorsque cela est nécessaire (voir figure 7.1). Ces communications entre les deux graphes peuvent être déclenchées par des entrées de l'utilisateur ou des événements système.

Il découle de ce modèle des graphes combinés une séparation claire entre l'apparence et les comportements de l'interface, telle qu'elle est décrite dans le modèle MVC [Schmucker1986,Krasner et Pope1988]. Mais surtout, les graphes d'interaction peuvent être construits graphiquement de nombreuses manières, pendant l'exécution. Il est ainsi possible de recomposer les associations vue/contrôleur pour adapter l'interface ou tester des techniques d'interaction alternatives sans avoir à programmer, ni même à relancer l'application.

Cette approche, moins compacte que la traditionnelle propagation d'événements, permet un haut niveau de flexibilité dans la description des interactions ainsi que des possibilités graphiques avancées. Cela fait de la boîte à outils MAGGLITE une plateforme de développement adaptée au prototypage d'applications post-WIMP ou d'applications standards proposant des interactions avancées. Il est aussi simple pour le développeur d'implémenter rapidement de nouvelles interactions, que pour le concepteur d'interfaces de les assembler et les essayer; même l'utilisateur peut adapter l'interface et les interactions à ses besoins ou possibilités.

Ce chapitre décrit le modèle des graphes combinés. Nous l'entamerons par une brève description de l'architecture des graphes de scène. Nous présenterons ensuite les graphes d'interaction. Cette description est essentiellement basée sur les points d'accès aux interactions, nœuds particuliers chargés de la liaison dynamique avec le graphe de scène. Afin de ne pas rendre cette présentation trop abstraite, mais aussi pour exposer de façon claire ses apports et la «philosophie» qui en découle, nous avons choisi d'y faire figurer les principes et mécanismes de base de la boîte à outils MAGGLITE qui en est issue (sa description complète fera l'objet du chapitre suivant page [*]).

Certains des travaux présentés dans ce chapitre ont été publiés dans [Huot et al.2004b,Huot et al.2004a].

stuf
2005-09-06