10.07.2015 Views

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 ...

SHOW MORE
SHOW LESS
  • 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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!