Une Architecture en Cascade pour des Systèmes Interactifs Multi ...
Une Architecture en Cascade pour des Systèmes Interactifs Multi ...
Une Architecture en Cascade pour des Systèmes Interactifs Multi ...
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Une</strong> <strong>Architecture</strong> <strong>en</strong> <strong>Cascade</strong> <strong>pour</strong> <strong>des</strong> <strong>Systèmes</strong><strong>Interactifs</strong> <strong>Multi</strong>-DispositifsPierre DragicevicÉCOLEDESMINESDENANTES4, rue Alfred Kastler44307 Nantes Cedex 3Pierre.Dragicevic@emn.frRÉSUMÉAujourd'hui <strong>en</strong>core, rares sont les applications interactivescapables d’utiliser plus d’une souris et d’un clavier.Pour profiter <strong>des</strong> richesses offertes par les dispositifsd'<strong>en</strong>trée et les techniques d'interaction non standards, ilest nécessaire de disposer d'une boîte à outils où la gestion<strong>des</strong> <strong>en</strong>trées soit extrêmem<strong>en</strong>t flexible. Dans cet article,nous décrivons les principes d’une architecture baséesur le paradigme de cascade de dispositifs, permettantau concepteur de tester un grand nombre de métho<strong>des</strong>d'<strong>en</strong>trée pot<strong>en</strong>tielles, et à l'utilisateur expérim<strong>en</strong>té dereconfigurer ces métho<strong>des</strong> <strong>pour</strong> les adapter à ses besoins.Cette architecture constitue une <strong>des</strong> bases d'une boîte àoutils <strong>en</strong> cours de développem<strong>en</strong>t.MOTS-CLÉS : <strong>Architecture</strong> logicielle, dispositifsd’<strong>en</strong>trée, techniques d’interaction, boîte à outils.INTRODUCTIONL’utilisation conjointe d’un clavier, d’une souris, et d’unnombre limité de techniques d’interaction WIMP constituedepuis <strong>des</strong> années le procédé universel <strong>pour</strong> interagiravec l’ordinateur. Depuis, de nombreux travaux derecherche ont démontré que <strong>des</strong> métho<strong>des</strong> alternativespouvai<strong>en</strong>t r<strong>en</strong>dre l’interaction plus naturelle, plus efficace,ou <strong>en</strong>core plus adaptée aux compét<strong>en</strong>ces ou auxlimitations de l’utilisateur [1]. Cep<strong>en</strong>dant, très peud’applications commerciales utilis<strong>en</strong>t ces métho<strong>des</strong>d’interaction novatrices [5]. En effet, les boîtes à outilsgraphiques, et a fortiori les applications interactivesqu’elles serv<strong>en</strong>t à construire, demeur<strong>en</strong>t câblées <strong>pour</strong>une utilisation exclusive et stéréotypée du clavier et de lasouris [2].Notre objectif est de fournir <strong>des</strong> abstractions, <strong>des</strong> mécanismeset <strong>des</strong> outils permettant de développer <strong>des</strong> applicationsinteractives auxquelles on puisse adapter ungrand nombre métho<strong>des</strong> de contrôle et de saisie. Notretravail s’est ori<strong>en</strong>té vers une architecture de type dataflow. <strong>Une</strong> boîte à outils basée sur cette architecture est <strong>en</strong>cours d’implém<strong>en</strong>tation, ce qui nous a permis de validercertains de ses concepts sur <strong>des</strong> prototypes. Dans ce papier,nous n’<strong>en</strong> prés<strong>en</strong>terons que les grands lignes. Celleciest décrite de façon plus détaillée dans [3], qui compr<strong>en</strong>dégalem<strong>en</strong>t <strong>des</strong> référ<strong>en</strong>ces à d’autres travaux.L’ARCHITECTUREPrés<strong>en</strong>tation généraleNotre architecture est basée sur le paradigme de casca<strong>des</strong>de dispositifs, proche de celui du data flow: dans lesapplications interactives, l’interprétation <strong>des</strong> actions del’utilisateur se fait <strong>en</strong> général à travers une série de traitem<strong>en</strong>tssuccessifs, effectués par <strong>des</strong> boîtes noires quel’on peut id<strong>en</strong>tifier comme étant autant de dispositifsvirtuels, mais que nous nommerons plus généralem<strong>en</strong>tdispositifs.Par exemple, à chaque fois qu’une touche est appuyée,elle passe de l’état faux àl’étatvrai. Ces événem<strong>en</strong>tssont transformés par le clavier <strong>en</strong> co<strong>des</strong> touches, qui àleur tour sont convertis <strong>en</strong> symboles dont la combinaisonest interprétée comme une chaîne de caractères dansl’éditeur de texte. Certains co<strong>des</strong> touches peuv<strong>en</strong>t égalem<strong>en</strong>tservir à <strong>des</strong> tâches de contrôle (fig. 1).ClavierTexteCurseurFigure 1: Un exemple de cascade de dispositifs <strong>en</strong>tre le clavieret un éditeur de texte.Les dispositifsUn dispositif est une boîte noire qui possède <strong>des</strong> canauxd’<strong>en</strong>trée et <strong>des</strong> canaux de sortie typés. Il peut effectuer<strong>des</strong> traitem<strong>en</strong>ts internes et générer du feedback. <strong>Une</strong>connexion est un arc reliant un canal de sortie d’un dispositifà un canal d’<strong>en</strong>trée de même type. On peut classerles dispositifs <strong>en</strong> trois catégories, selon leur prov<strong>en</strong>ance :• Dispositifs système: Ce sont <strong>des</strong> dispositifs partagés,compr<strong>en</strong>ant l’<strong>en</strong>semble <strong>des</strong> dispositifs d’<strong>en</strong>trée. Leurdisponibilité peut varier d’un <strong>en</strong>vironnem<strong>en</strong>t à l’autre.• Dispositifs de la bibliothèque: Ce sont <strong>des</strong> dispositifsqui serv<strong>en</strong>t d’intermédiaire <strong>en</strong>tre les dispositifs systèmeet les dispositifs d’application. Exemples :contrôle et traitem<strong>en</strong>t de données, opérateurs, dispositifsvirtuels, adaptateurs, émulateurs.• Dispositifs d’application: Ce sont <strong>des</strong> points d’<strong>en</strong>tréevers une application.
Les configurations d’<strong>en</strong>trée<strong>Une</strong> configuration d’<strong>en</strong>trée est un <strong>en</strong>semble de dispositifset de connexions reliant les dispositifs système(d’<strong>en</strong>trée) à ceux de l’application. Il existe un grandnombre de configurations d’<strong>en</strong>trée pot<strong>en</strong>tielles <strong>pour</strong> uneapplication et un <strong>en</strong>semble de dispositifs d’<strong>en</strong>trée donnés.Dans l’exemple de la figure 2, un éditeur de texteexpose trois dispositifs correspondant aux interacteurs deFoley [4]. <strong>Une</strong> configuration synthétique y illustre différ<strong>en</strong>tesmanières de connecter les dispositifs d’<strong>en</strong>trée aumoy<strong>en</strong> de techniques d’interaction fournies par la bibliothèque.MotioncontrolScanningcontrolInputmethodSpeechrecognitionPosition(x,y)Scre<strong>en</strong>KeyboardText(string)Handwritt<strong>en</strong>recognitionStroke(x,y) nInsertionPointAnnotationFigure 3: L’éditeur visuel ICON, où est décrite une techniquebimanuelle de tracé de lignes <strong>pour</strong> l’application ICONDraw.L’architecture <strong>en</strong> cascade est particulièrem<strong>en</strong>t bi<strong>en</strong>adaptée à l’utilisation parallèle et non contextuelle deplusieurs dispositifs. Les applications à contrôle direct(modélisation 3D, illustration graphique, jeux vidéo) gagn<strong>en</strong>tà reposer sur cette architecture. Bi<strong>en</strong> que nousn’ayons pas fait d’étude à ce sujet, nous p<strong>en</strong>sons que lesinterfaces de ce type peuv<strong>en</strong>t être reconfigurées aumoins <strong>en</strong> partie par <strong>des</strong> utilisateurs moy<strong>en</strong>s.Figure 2: Différ<strong>en</strong>tes configurations d’<strong>en</strong>trée <strong>en</strong>tre un <strong>en</strong>semblede dispositifs (souris, manette, clavier, micro, tablette etbouton simple) et un éditeur de texte.DISCUSSIONNous avons décrit les principes d’une architecture permettantde connecter <strong>des</strong> dispositifs d’<strong>en</strong>trée à <strong>des</strong> systèmesinteractifs. Un système basé sur une telle architecture,Input Configurator (ICON), est <strong>en</strong> cours de développem<strong>en</strong>tet permet d’ores et déjà de tester cette approchesur <strong>des</strong> exemples [3]. Ce système écrit <strong>en</strong> Javase greffe sur <strong>des</strong> APIs d’<strong>en</strong>trée telles que Direct Input etrepose sur la sémantique réactive d’Esterel <strong>pour</strong>l’exécution. Il compr<strong>en</strong>d un jeu de techniquesd’interaction et de dispositifs d’<strong>en</strong>trée, ainsi qu’un éditeurvisuel (figure 3).Un tel système possède de bonnes propriétés <strong>pour</strong> le développeur: celui-ci peut tester et valider un grand nombrede configurations <strong>en</strong> fonction <strong>des</strong> dispositifs disponibles,et r<strong>en</strong>dre ainsi son application plus ouverte auxdiffér<strong>en</strong>tes modalités d’<strong>en</strong>trée. Ce système peut se greffersur une boîte à outils graphique existante, et il estpossible de r<strong>en</strong>dre une application existante partiellem<strong>en</strong>treconfigurable <strong>en</strong> <strong>en</strong> exposant une partie sousforme de dispositifs. L’éditeur visuel permet égalem<strong>en</strong>t àl’utilisateur avancé de reconfigurer les mécanismesd’interaction afin de les adapter à ses besoins.Le défi actuel réside dans l’intégration <strong>des</strong> techniquesd’interaction WIMP, celles-ci comportant <strong>des</strong> mécanismesd’aiguillage complexes et difficilem<strong>en</strong>t généralisables,ainsi que <strong>des</strong> objets transitoires. <strong>Une</strong> partie du problèmea déjà été abordé [2], et un modèle génériquepermettant de connecter <strong>des</strong> dispositifs à <strong>des</strong> widgets est<strong>en</strong> cours d’étude.Lorsque le système ICON sera finalisé, nous le testeronssur <strong>des</strong> applications réelles, et effectuerons <strong>des</strong> évaluationssur <strong>des</strong> utilisateurs.BIBLIOGRAPHIE1. Baecker, R.M., Grudin, J., Buxton, W. andGre<strong>en</strong>berCole, S. (Eds). Readings in HumanComputer Interaction : Toward the Year 2000.Morgan Kaufmann Publishers, 1995.2. Dragicevic, P. et Fekete, J.-D. Étude d’une Boîte àOutils <strong>Multi</strong>-Dispositifs. Actes <strong>des</strong> 11èmes journéesfrancophones d’Interaction Homme-Machine IHM99, pages 55-62. Cépaduès, 1999.3. Dragicevic, P. et Fekete, J.-D. Input DevicesSelection and Interaction Configuration with ICON.Actes dela confér<strong>en</strong>ce IHM-HCI 2001.4. Foley, J.D., van Dam, A., Feiner S.K., Hugues J.F.Computer Graphics Principles and Practice.Addison-Wesley, 1990.5. Jacob, R.J.K. Input Devices and Techniques. TheComputer Sci<strong>en</strong>ce and Engineering Handbook, ed.by All<strong>en</strong> B. Tucker, pp. 1494-1511. CRC Press,1996.