Академический Документы
Профессиональный Документы
Культура Документы
COLE DOCTORALE
S CIENCES ET T ECHNOLOGIES
DE LI NFORMATION ET DES
M ATRIAUX
Anne : 2004
N0 B.U. :
Pierre D RAGICEVIC
le 9 mars 2004
lcole Nationale Suprieure
des Techniques Industrielles et des Mines de Nantes
:
:
:
:
Directeur de thse
Laboratoire
Co-encadrant
Laboratoire
Henri B RIAND
Michel B EAUDOUIN -L AFON
Philippe PALANQUE
Stphane C HATTY
:
:
:
:
Grard H GRON
CERMA, CNRS UMR 1563, Universit de Nantes
Jean-Daniel F EKETE
INRIA Unit de Recherche Futurs
No ED 0366-
vii
1.2.3
11
1.2.4
13
15
1.3.1
15
1.3.2
Linteraction gestuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
1.3.3
19
1.3.4
Linteraction parallle . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
1.3.5
La ralit mixte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
25
1.4.1
26
1.4.2
29
1.4.3
1.5
1.2.2
1.4
1.2.1
1.3
1.1.1
1.2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
35
2.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
2.2
36
44
44
46
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
50
2.4.1
50
2.4.2
51
2.4.3
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
56
2.5.1
La manipulation directe . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
2.5.2
Linteraction instrumentale . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
2.5.3
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
60
2.6.1
61
2.6.2
67
2.6.3
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
79
2.7.1
79
2.7.2
80
2.7.3
85
2.7.4
2.8
43
2.3.3
2.7
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2
2.6
40
2.3.1
2.5
2.2.3
2.4
37
2.2.2
2.3
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
93
3.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
94
3.2
94
3.2.1
94
3.2.2
Points dentre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
3.2.3
Adaptateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
3.2.4
Dispositifs gnraliss . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
ii
99
99
3.3.2
3.3.3
3.4
98
3.3.1
3.3
Cascades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.3
3.5
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
109
4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.2
4.2.3
4.2.4
4.3
4.3.3
4.4
4.4.2
4.4.3
4.4.4
4.5
4.6
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5 Discussion
145
5.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.2
5.2.3
5.3
5.3.3
5.4
5.4.3
5.5
5.5.3
5.6
5.6.3
5.6.4
5.6.5
5.7
5.7.3
5.7.4
Dveloppeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
5.7.5
5.8
5.8.2
Conclusion et perspectives
187
iv
193
195
211
B.2.2
B.2.3
B.2.4
B.3.2
B.3.3
B.4.2
223
C.2.2
Historiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
C.2.3
C.2.4
Processeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
C.2.5
C.3.2
C.3.3
C.4.2
C.5.2
C.5.3
Bibliographie
249
vi
Introduction
INTRODUCTION
Parmi les nombreux dispositifs dentre existants, le clavier et la souris bncient dun statut
particulier en tant que dispositifs gnriques. Ils ont t conus pour tre efcaces dans la plupart des
situations courantes : un environnement de travail de type bureau, un utilisateur moyen , et des
tches courantes comme la saisie dun courrier ou la navigation sur Internet. Or ces dispositifs sont
en ralit peu efcaces, quelle que soit la tche, car ils nexploitent que partiellement nos capacits
motrices et nous obligent des manipulations squentielles plutt que parallles.
Nous utilisons nos deux mains dans presque toutes nos tches quotidiennes et sommes par ailleurs
capables dapprendre coordonner efcacement un grand nombre de groupes musculaires (pour jouer
dun instrument ou conduire une voiture, par exemple). Nos doigts possdent galement des capacits
motrices exceptionnelles. Sur un ordinateur, ces capacits sont assez bien exploites pour la saisie
textuelle mais trs peu pour la manipulation dobjets graphiques. La parole constituerait galement
un complment efcace au contrle moteur. Ces ides ont t depuis longtemps conrmes par des
travaux de recherche, qui montrent quune interaction rellement efcace passe par la multiplication
et la diversication des dispositifs dentre.
Si la qualit de linteraction repose pour beaucoup sur la partie physique de linterface, elle
dpend galement de la faon dont les dispositifs physiques sont exploits au niveau logiciel. Actuellement, utiliser une souris est synonyme de cliquer, double-cliquer ou effectuer des cliquer-glisser sur
des boutons, barres de dlement et autres menus. Le vocabulaire est limit, et les lments graphiques
standardiss ont montr leurs faiblesses : ils entravent la tche relle (rdaction dun document, par
exemple) en occupant de la place et en imposant des dplacements rpts de lattention visuelle. L
encore, de nouvelles approches, visant rendre linteraction plus concise et plus directe, ont t proposes dans bon nombre de travaux de recherche, et prouvent que mme linteraction la souris est
susceptible dtre considrablement amliore.
INTRODUCTION
les jeux), et les autres sont sous-exploits (la tablette graphique est vue comme une souris, sa haute
prcision et sa sensibilit la pression sont occultes). Rciproquement, une application est trs difcile, voire impossible utiliser lorsquun dispositif standard manque, ce qui constitue un problme
majeur pour laccessibilit aux handicaps et la portabilit des applications entre les plate-formes de
diffrente nature.
Les applications interactives sont excessivement ges du point de vue de linteraction parce
quelles sont construites avec des outils qui sont tous cbls pour une utilisation exclusive et strotype dun clavier et dune souris. La prise en charge de dispositifs dentre non conventionnels
est en consquence extrmement difcile mettre en uvre par les programmeurs. Les innovations
proposes par la recherche, comme linteraction gestuelle ou vocale, sont pour les mmes raisons trs
rarement employes dans les applications commerciales.
INTRODUCTION
Nous pensons quune approche moderne se doit de mettre laccent sur une interaction la fois
riche et accessible, en encourageant lusage simultan de dispositifs physiques multiples tout en offrant une prise en charge adapte pour les entres appauvries, cest--dire plus limites que les dispositifs standard. Nous prnons galement des systmes volutifs et congurables, cest--dire non
limits des classes ges de dispositifs et de modles dinteraction connus, et quil est possible
dadapter nement aux particularits de lutilisateur, de la tche et de lenvironnement.
Nos contributions
Dans notre thse, nous introduisons et motivons un modle original pour la description et la gestion de linteraction en entre, qui sappuie sur la notion de congurations dentre. Une conguration
dentre dcrit la faon dont des dispositifs physiques sont connects une application travers des
adaptateurs. En remplaant lapproche vnementielle traditionnelle par un paradigme ot de donnes ractif, ce modle rend la gestion des entres entirement explicite, du dispositif physique jusqu
lapplication. Il encourage en outre la description dinteractions novatrices et hautement concurrentes.
Le modle des congurations dentre a inspir le dveloppement du systme ICON (Input Congurator), qui permet de construire des applications interactives entirement congurables en entre et
capables dexploiter des dispositifs et des techniques dinteraction conventionnels ou non. Lditeur
interactif dICON donne la possibilit aux dveloppeurs de prototyper et de tester un grand nombre
de congurations dentre potentielles an de rendre leurs applications adaptes des situations spciques dentres appauvries ou enrichies. Lutilisateur nal slectionne la conguration dentre qui
correspond son matriel et ses prfrences personnelles, et peut galement, selon son degr dexpertise, personnaliser cette conguration pour ladapter ses besoins.
Organisation de ce mmoire
Dans le chapitre 1 - Linteraction en entre non standard, nous donnons un large aperu des
dispositifs dentre non conventionnels existants et des contextes dans lesquels ils sont employs,
et prsentons les principales techniques connues permettant dinteragir avec les applications de faon plus efcace et plus naturelle. Nous montrons ensuite en quoi il est essentiel que nos applications
puissent tre contrles de diverses manires, pour une interaction de meilleure qualit et mieux adapte des utilisateurs, des environnements et des tches trs varis.
Dans le chapitre 2 - Modles et outils pour linteraction en entre, nous dtaillons ltat actuel
de la recherche du point de vue de linteraction en entre. Nous prsentons les principaux modles
dinterface et les outils de dveloppement exprimentaux, et dterminons en quoi ils constituent ou
non une avance par rapport aux modles et aux outils conventionnels. Nous concluons par les apports
respectifs de chacune de ces contributions.
Dans le chapitre 3 - Introduction au modle des congurations dentre, nous prsentons notre
modle pour la description de linteraction en entre, aprs avoir dvelopp et motiv du point de vue
conceptuel les principales notions sur lesquelles il repose.
Dans le chapitre 4 - La bote outils ICON, nous dcrivons le systme ICON, dvelopp dans
le but de valider et dafner notre modle dans un contexte rel de dveloppement. Aprs avoir prsent cet outil et ses principales fonctionnalits, nous dcrivons et commentons un certain nombre
x
INTRODUCTION
dexemples dinteractions non conventionnelles quil a permis de dcrire. Nous concluons par les
applications actuelles dICON.
Dans le chapitre 5 - Discussion, nous tentons de rpondre aux nombreuses questions poses
par notre approche, en identiant tout dabord les apports essentiels dICON et de son modle sousjacent, ainsi que leurs limites. Nous afnons et gnralisons par ailleurs quelques aspects de notre
approche, sur la base des enseignements que nous avons pu tirer de notre utilisation dICON. Pour
nir, nous positionnons nos travaux par rapport aux contributions existantes et dveloppons quelques
perspectives.
Dans les annexes A, B et C, nous dtaillons les mcanismes la base du modle des congurations dentre.
La lecture de ce mmoire de thse ne devrait pas ncessiter de connaissances thoriques particulires en IHM. Une certaine pratique dans le dveloppement dinterfaces est cependant requise pour
aborder la plupart des discussions, en particulier dans le chapitre 2 et le chapitre 5. Les annexes rclament des connaissances mathmatiques et algorithmiques trs minimales. Le chapitre 1, et dans
une moindre mesure le chapitre 3, nappellent aucun pr-requis et sufsent se faire une ide trs
gnrale du contexte et de notre approche.
xi
INTRODUCTION
xii
Chapitre 1
1.3
1.4
1.5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Linteraction en entre et son vocabulaire . . . . . . . .
Les dispositifs dentre non standard . . . . . . . . . . . . .
1.2.1 Des dispositifs adapts la tche . . . . . . . . . . . . .
1.2.2 Des dispositifs adapts lutilisateur . . . . . . . . . . .
1.2.3 Des dispositifs adapts lenvironnement . . . . . . . .
1.2.4 Lvolution de lquipement grand public . . . . . . . .
Nouveaux paradigmes dinteraction . . . . . . . . . . . . . .
1.3.1 Objectifs et enjeux des interfaces post-WIMP . . . . . .
1.3.2 Linteraction gestuelle . . . . . . . . . . . . . . . . . .
1.3.3 Les outils semi-transparents . . . . . . . . . . . . . . .
1.3.4 Linteraction parallle . . . . . . . . . . . . . . . . . .
1.3.5 La ralit mixte . . . . . . . . . . . . . . . . . . . . . .
Linteraction non-standard dans linformatique grand public
1.4.1 Ncessit dune interaction adaptable . . . . . . . . . .
1.4.2 Dnition de ladaptabilit en entre . . . . . . . . . . .
1.4.3 Adaptabilit des systmes interactifs actuels . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
5
5
8
11
13
15
15
16
19
20
23
25
26
29
30
33
1.1 Introduction
Lobjectif de ce chapitre est de donner au lecteur un aperu de la grande varit des dispositifs
dentre, produits commerciaux ou prototypes de recherche, et des contextes dans lesquels leur emploi est pertinent. Nous dcrivons ensuite, de faon plus gnrale, de nouveaux moyens dinteragir
avec les applications, de manire plus naturelle et efcace. Puis, nous montrons lintrt dexploiter
ces diverses techniques dans nos applications conventionnelles, et plus gnralement, pourquoi il est
essentiel quun systme interactif puisse sadapter nimporte quel type dentre. Nous nissons par
montrer en quoi nos ordinateurs actuels ne rpondent pas cette attente.
Avant de commencer, nous prsentons rapidement notre domaine dtude en introduisant les principaux termes qui nous seront utiles par la suite.
1.1.1
Certains termes et concepts que nous allons introduire dans cette section sont dans la littrature
scientique plutt quivoques. Notre objectif nest pas de rpertorier et de confronter les dnitions
existantes ni de prtendre lexactitude, mais bien de proposer un vocabulaire minimal cohrent qui
nous sera utile pour structurer la suite de notre discours.
Linteraction en entre
Il est courant de distinguer dans linteraction homme-machine les entres (ux dinformations allant de lhomme vers la machine) des sorties (ux dinformations allant de la machine vers lhomme).
Cette distinction est parfois critique, raison, sur la base dun lien troit entre les entres et les
sorties [H INCKLEY et al. 03] : en premier lieu, tout contrle ncessite un feedback ou retour utilisateur1
(une souris sans pointeur nest pas utilisable). Ensuite, la faon dont sont reprsents les objets de
lapplication joue considrablement sur la faon dont ils peuvent tre contrls (une reprsentation
graphique, en particulier, encouragera les techniques de pointage).
Malgr tout, il apparat clairement dans la littrature scientique que si certains domaines sattachent principalement la reprsentation de donnes, dautres problmatiques et dautres aspects
de linteraction sont concerns par leur manipulation [B UXTON 86 B]. Ce sont ces derniers aspects que
recouvre le terme dinteraction en entre, et que nous dcrivons par la suite.
1.1. INTRODUCTION
Technique dinteraction. Une technique dinteraction dcrit la manire de se servir dun dispositif dentre pour accomplir une tche sur lordinateur [F OLEY et al. 90]. Par exemple, un chier peut tre
supprim la souris, soit laide dun menu contextuel, soit par glisser-dposer dans la corbeille. En
pratique, une technique dinteraction transforme, interprte des donnes et produit le feedback ncessaire lutilisateur. Les techniques dinteraction sont le plus souvent caractrises de faon abstraite
et gnrique : par exemple, le menu contextuel et le glisser-dposer ne sont pas particulirement lis
un dispositif spcique3 , ni la tche spcique de suppression de chiers. (Synonymes : mthode
dinteraction, technique dentre).
Paradigme dinteraction. Un paradigme dinteraction est un ensemble cohrent de techniques
dinteraction qui cooprent de faon troite, ou qui reposent sur les mmes principes techniques ou
conceptuels. titre dexemple, le paradigme dinteraction WIMP4 regroupe des techniques comme
le pointage et les menus. Quand au paradigme de linteraction bimanuelle, il dsigne des techniques
dinteraction exploitant lusage simultan des deux mains. (Synonyme : style dinteraction.)
Linteraction standard
Linteraction standard dcrit lensemble des paradigmes dinteraction actuellement employs
sur les micro-ordinateurs grand public pour permettre un contrle gnrique des applications par
lusage des dispositifs dentre standard que sont le clavier et la souris.
La liste des paradigmes dinteraction standard qui suit est inspire du traditionnel historique des
styles dinteraction [P REECE et al. 94], dans lequel nous avons remplac la manipulation directe par le
paradigme dinteraction WIMP :
Les langages de commande : Interfaces textuelles du type MS-DOS ou terminal Unix o des
commandes sont saisies au clavier. Les diffrentes commandes possibles ne sont pas explicites
et ncessitent une mmorisation.
Les systmes de menus : Un menu est la prsentation dune liste de choix dans laquelle lutilisateur opre une slection au clavier ou par pointage. Une bote de dialogue du type "tes-vous
sr ? oui/non" est assimilable un menu. Un assistant est une succession de menus o la navigation est contrle par le systme.
Les formulaires : Les formulaires complter tendent les systmes de menus en ajoutant des
champs de texte quil est possible de renseigner. Les tableurs en sont une version fonctionnellement plus sophistique.
Linteraction WIMP : Linteraction WIMP est une version standardise et appauvrie du paradigme de la manipulation directe, qui dcrit des interfaces donnant lillusion de travailler
directement sur les objets de la tche plutt que de transmettre des commandes une machine
[S HNEIDERMAN 83, H UTCHINS et al. 86] (ce modle dinteraction sera dcrit dans la section 2.5.1
page 56). Le paradigme de la manipulation directe ne constitue pas un standard mais dcrit les
caractristiques idales de linteraction graphique. Nous dsignons linteraction WIMP comme
tant une combinaison des trois paradigmes dinteraction suivants :
Le glisser-dposer5 : La mtaphore du bureau, popularise par les systmes Macintosh, est
3 Dautres
dispositifs que la souris permettent deffectuer des tches similaires. Nous en voquerons quelques-uns plus
loin.
4 WIMP : Windows, Icons, Mouse, Pull-down menus (fentres, icnes, souris, menus droulants). Terme employ pour
dsigner les interfaces daujourdhui, parfois dans un sens pjoratif.
5 En anglais, drag-and-drop. Le cliquer-glisser dsigne le geste lui-mme.
[A PPLE 02].
Les interfaces actuelles sinspirent principalement du paradigme WIMP, mais emploient toujours
des formulaires, des systmes de menus et plus rarement, des langages de commande. Lomniprsence des widgets provient principalement de la rapidit avec laquelle elles permettent de construire
des applications interactives. linverse, la manipulation directe proprement parler (cest--dire la
manipulation dobjets sans widgets intermdiaires), ddie la tche, est plus difcile mettre en
uvre et nest employe que lorsque les widgets se rvlent insufsants (infographie, jeux). Les types
de widgets existants sont en nombre limit, et leur apparence (look) et la faon de les contrler (feel)
6 Contraction approximative de Window Objects. Le terme interactor et en particulier sa traduction franaise interacteur sont galement employs, mais dsignent des concepts diffrents dans certains formalismes et outils, et peuvent
par consquent prter confusion. La confusion est plus grande encore avec les appellations control/contrle ou component/composant. Nous leur prfrerons donc le terme original de widget.
1.2.1
Le clavier et la souris sont des dispositifs dentre gnriques qui permettent de communiquer avec
une grande varit dapplications. Il existe nanmoins un grand nombre de tches pour lesquelles ces
dispositifs ne sont pas adapts. Nous voquerons deux domaines applicatifs o cette inadquation
suscite frquemment lemploi de dispositifs ddis : la modlisation 3D et les jeux vido. Par la suite,
nous verrons plus prcisment en quoi un dispositif peut tre adapt ou non une tche, et comment
les exigences dune bonne adquation justient limmense varit de dispositifs dentre existants.
F IG . 1.2 Les six degrs de libert dun dispositif 3D Magellan ( gauche), deux objets physiques munis dun
capteur de position dans une application de planication neuro-chirurgicale (au centre), et un gant de donnes
Cyberglove dImmersion 3D possdant 22 capteurs articulaires ( droite).
dun plan de coupe dans une application de planication neurochirurgicale : des capteurs positionnels 3D7 ont t placs sur deux objets physiques, le premier gurant le plan de coupe et le second
lobjet couper [H INCKLEY et al. 94 A]. Enn, dispositif classique dans le domaine de la 3D, le gant de
donnes possde des capteurs angulaires sur les articulations, ce qui le rend particulirement adapt
lanimation de mains virtuelles (gure 1.2, image de droite). Le domaine de la 3D comprend de
nombreux autres dispositifs ddis, commercialiss ou non, que nous ne pouvons tous numrer ici
[H INCKLEY et al. 94 B, Z HAI 98].
F IG . 1.3 gauche, la borne darcade du jeu Out Run de Sega. droite, une lance incendie comme dispositif
dentre dans le jeu Brave Fire Fighters de Sega.
Le domaine du jeu vido fait galement un usage intensif de dispositifs ddis, en particulier dans
les salles de jeu. Les dispositifs conus pour les simulations de pilotage sinspirent des tableaux de
bord rels de voiture ou davion, et sont bien plus appropris que les contrleurs de jeu gnriques
(gure 1.3, image de gauche). Ces dispositifs ddis permettent un contrle plus efcace du jeu,
mme si la plupart sattachent avant toute chose reproduire des situations relles, an dajouter au
ralisme et augmenter limmersion du joueur. Cest le cas par exemple des simulations de sport de
glisse utilisant comme entre les impulsions du joueur sur une planche, ou des jeux de tir utilisant
des reproductions darmes feu, voire des dispositifs de pointage aussi peu maniables que des lances
incendies (gure 1.3, image de droite).
7 Ces
F IG . 1.4 Deux types de Tlcran : le Etch-a-Sketch ( gauche) et le Skedoodle ( droite) [BUXTON 86 B].
Pour illustrer ses propos, Buxton prend pour exemple deux variantes du jouet Tlcran (gure 1.4).
La premire comporte deux boutons spars pour le dessin, que la deuxime a intgrs dans une simple
manette. Le second systme pourrait tre considr raison comme une amlioration du premier, car
le dessin y est plus ais. Cependant, le premier systme est bien plus efcace pour le dessin de formes
gomtriques base de traits horizontaux ou verticaux (gure 1.5).
F IG . 1.5 Deux tches de dessin : une gure gomtrique ( gauche) et une criture cursive ( droite)
[B UXTON 86 B].
Cet exemple montre la relative subtilit de la notion de compatibilit entre un dispositif et une
tche. La compatibilit stimulus/rponse, cest--dire le degr de similitude entre les actions physiques
effectues sur le dispositif et les effets quelles produisent sur lapplication, constitue une dimension
importante de cette compatibilit. Une autre dimension importante est la compatiblit des proprits
intrinsques du dispositif, en particulier mcaniques, avec les caractristiques de la tche. Ces notions
seront illustres dans un autre exemple imagin par Buxton.
La gure 1.6 page suivante reprsente deux dispositifs possdant chacun deux dimensions de
translation et une dimension de rotation : une manette avec un manche rotatif mont sur ressort, et un
trackball8 sensible la rotation daxe vertical. Ces deux dispositifs, techniquement compatibles, ont
8 Un
trackball est une sorte de souris retourne. Des mouvements rpts de la main font rouler la boule, qui dplace le
curseur lcran.
pourtant des applications diffrentes. Le trackball permet de dplacer un objet lcran de faon trs
naturelle, car les mouvements effectus par la main sont trs fortement lis aux dplacements quelles
produisent sur lobjet. Sur la manette, la position du manche joue sur la vitesse et non sur la position de
lobjet contrl9 , do une plus faible compatibilit stimulus/rponse, et un contrle moins ais. Mais
contrairement la manette, le trackball ne permet pas lutilisation simultane de la translation et de la
rotation. Par consquent la manette, de par ses proprits intrinsques, serait un meilleur choix pour
la navigation dans une interface de type cartographique, o il est intressant de pouvoir se dplacer et
zoomer tout la fois.
Imaginons enn une interface de contrle dans une rafnerie de ptrole, o une partie du systme
est reprsente par des tuyaux et des robinets. Le contrleur peut sil le juge ncessaire, pointer sur un
robinet avec la manette, puis le tourner dans le sens dsir. Lutilisation dune manette sera sujette
des erreurs de manipulation, car il est difcile de tourner le manche sans agir sur les autres dimensions.
Le trackball est linverse plus adapt ce type de tche, de par ses proprits intrinsques.
1.2.2
Certains dispositifs spcialiss ont t conus pour des utilisateurs qui possdent un savoir-faire
particulier, et leur permettent dtre beaucoup plus efcaces en reproduisant des gestes quils matrisent. Dautres dispositifs ouvrent laccs linformatique aux utilisateurs pour qui la manipulation
dune souris ou dun clavier nest pas possible.
Le transfert dexpertise
Malgr linformatisation rapide du monde du travail, il existe encore des activits pour lesquelles
les bnces dune informatisation classique ne justieraient pas le cot quimposerait la remise en
cause des mthodes de travail traditionnelles. Cest dans ces situations que les dmarches de conception centres sur lutilisateur [N ORMAN & D RAPER 86, M ACKAY et al. 98] prennent toute leur importance,
car elles permettent de maximiser le transfert des savoirs-faire existants sur les systmes informatiss.
Nous verrons par deux exemples que le choix des dispositifs dentre peut prendre une part importante
dans cette dmarche.
9 Le choix de ce type de contrle est li quant lui aux proprits intrinsques du dispositif : on pourrait choisir de lier
la position du manche la position de lobjet, mais la faible rsolution du dispositif et surtout le recentrage automatique du
manche rendrait la tche extrmement difcile.
F IG . 1.7 gauche, un artiste dessinant avec la mthode traditionnelle de Tape Drawing. droite, le Digital
Tape Drawing, simulant le comportement physique dune bande adhsive [BALAKRISHNAN et al. 99].
Dans lindustrie automobile, les concepteurs travaillant sur les silhouettes des nouveaux vhicules
utilisent une technique appele Tape Drawing, o les lignes principales de lautomobile sont dessines
chelle relle en droulant un ruban adhsif noir sur une surface verticale (gure 1.7, image de
gauche). Cette technique prsente beaucoup davantages, dont celui de pouvoir dessiner aussi bien
des lignes droites que des courbes parfaites. Ravin Balakrishnan a conu un systme de Digital Tape
Drawing aprs avoir observ les mthodes de travail de ces artistes [BALAKRISHNAN et al. 99]. Linterface
utilise deux capteurs positionnels 3D comme dispositifs dentres (un dans chaque main) et permet
de reproduire une grande partie des techniques utilises par les experts du Tape Drawing (gure 1.7,
image de droite).
F IG . 1.8 Larmature mcanique Monkey de Digital Image Design. Les parties peuvent tre rassembles pour
former dautres personnages [K NEP et al. 95].
Dans les lms en images de synthse, les animations sont effectues sur des logiciels spcialiss
qui rclament un apprentissage important. Le domaine est encore jeune, et les animateurs trs expriments sont rares. Pour certaines scnes dlicates du lm Jurassic Park, des dispositifs spciaux
ont t conus an demployer lexprience des animateurs image par image traditionnels, dont
le travail habituel est de faire prendre des poses successives des pantins articuls appels armatures [K NEP et al. 95]. Le dispositif dentre, surnomm Dinosaur Input Device, est une armature de
dinosaure enrichie de capteurs angulaires sur les articulations (jusqu 74 au total), et dont les mouvements sont retransmis au modle 3D. Le principe a t rutilis avec succs dans dautres productions,
9
F IG . 1.9 gauche : un dispositif de pointage contrl avec la bouche. droite : un prototype de souris
pied, le Swing Maule [P EARSON & W EISER 86].
Les pointeurs alternatifs. Dautres parties du corps peuvent remplacer les mains dans les tches
de pointage. Une grande varit de dispositifs, allant des manettes spcialises des techniques de
traitement dimage, permettent aux utilisateurs ttraplgiques de dplacer un curseur par des mouvements de la tte, de la bouche ou des yeux. Un dispositif contrl la langue [S ALEM & Z HAI 97] a
notamment permis datteindre des performances seulement de 5 50% infrieures au contrle manuel10 (gure 1.9, image de gauche). Il existe galement un certain nombre de souris contrles au
pied, baptises taupes, dont lun des premiers prototypes est reproduit sur la gure 1.9, image de droite
10 La
langue peut tre contrle plus nement que la plupart des autres muscles. Voir ce propos la gure 1.21 page 20.
10
1.2.3
Les contextes dutilisation de linformatique ne se limitent pas aux environnements de type bureau.
Il existe un grand nombre de situations o lemploi dune souris ou dun clavier est inadapt, voire
impossible.
F IG . 1.10 gauche : une borne dinformation utilisant un cran tactile. droite : la "molette" employe
dans le Distributeur de Billets Rgionaux de la SNCF.
Les bornes interactives sont des appareils dploys dans des lieux publics an de fournir un libre
accs des informations ou un service. Ces appareils doivent rpondre des contraintes importantes lies une utilisation en lieu public : accs immdiat adapt un contexte "libre-service"
(utilisation en position debout par exemple), simplicit et accessibilit aux personnes non habitues
linformatique, et robustesse (en particulier dans les lieux exposs au vandalisme et aux intempries)
[VAN K AMPEN 00]. Lcran tactile, qui rpond ces trois critres, est le dispositif le plus couramment
utilis dans les applications dinformation (gure 1.10, image de gauche). Les distributeurs automa11
F IG . 1.11 gauche : un assistant personnel. droite : la technique TiltType, qui permet de saisir du texte sur
des appareils de trs petite taille quips de quatre boutons et dun acclromtre qui distingue huit inclinaisons
possibles [PARTRIDGE et al. 02].
Linformatique mobile ou nomade dsigne des outils informatiques lgers que lon conserve sur
soi lors de ses dplacements. Elle ncessite des dispositifs dentre compacts et compatibles avec
une activit nomade. Ainsi, la plupart des ordinateurs de poche comme les assistants personnels comportent un cran sensitif et la souris et le clavier sont remplacs par un simple stylet (gure 1.11, image
de gauche). En milieu professionnel, un installateur tlphonique peut par exemple employer un ordinateur de poche muni dun systme de communication radio pour saisir et recevoir des commandes
sur son lieu de travail [P REECE et al. 94]. La reconnaissance vocale est galement employe dans linformatique mobile, par exemple pour la composition de numros sur des tlphones portables. Dautres
techniques dinteraction ont t rcemment proposes pour les appareils mobiles : lune de celles-ci
permet dutiliser un ordinateur de poche avec une seule main en agissant simplement sur son inclinaison [R EKIMOTO 96]. Cette mthode a t ensuite adapte la saisie textuelle sur des appareils de trs
petite taille [PARTRIDGE et al. 02] (gure 1.11, image de droite).
Les ordinateurs vestimentaires constituent un domaine particulier de linformatique mobile. Ports comme des accessoires vestimentaires, ces ordinateurs permettent daccomplir des tches informa11 Habituellement,
ce terme inclut galement linformatique mobile, que nous rservons pour la section suivante.
12
F IG . 1.12 volution au l des annes de lquipement de Steve Mann, lun des cyborgs du MIT qui portent
en permanence des ordinateurs vestimentaires dans de but de les tester et de les amliorer [M ANN 96].
tiques courantes ou spciques sans interrompre son activit, lexemple classique consistant rdiger
un courrier lectronique tout en se promenant dans un lieu public. De tels systmes emploient traditionnellement des dispositifs visuels ou sonores non intrusifs associs des dispositifs dentre varis,
allant de simples boutons placs des endroits stratgiques, des systmes base de reconnaissance
vocale. Les chord keyboards, claviers lgers comportant un nombre restreint de touches employes
de faon combine, sont couramment utiliss [JACOB 96]. Des informations en provenance de lenvironnement peuvent galement tre exploites (GPS, capteurs biomtriques). Linformatique peut
galement tre intgre aux vtements grce au textile intelligent qui est, entre autres, sensible au
toucher [M ANN 96].
1.2.4
Lvolution de lquipement grand public est lente mais relle. Aprs plusieurs dcennies de stagnation, nous assistons actuellement deux tendances importantes : une complexication des dispositifs
standard dune part, et une dmocratisation de certains autres priphriques dautre part.
F IG . 1.13 Trois exemples de priphriques rcents : gauche, la souris Internet Navigator de Logitech et ses
cinq boutons, congurs pour le jeu Half-Life. Au centre, les contrles audio du clavier Intellimouse Explorer
de Logitech. droite, une partie des contrles de la manette de jeu Cougar HOTAS de Thrustmaster.
gaz et un chapeau multidirectionnel servant spcier la direction du regard, et il nest pas rare de
voir jusqu 14 boutons disposs sur lensemble du dispositif (gure 1.13, image de droite).
La complexication des dispositifs de saisie est une consquence naturelle de la diversication et
de la complexication des tches. Dans lindustrie du jeu, la multiplication considrable des contrles
sur les manettes de jeu modernes sexplique par des simulations de plus en plus ralistes et hautement
interactives qui gnrent une demande accrue quant aux capacits des dispositifs de contrle. Sur les
claviers et souris, les extensions physiques proposes par le march ne sont pas toutes essentielles et
pertinentes, et il y a fort parier que toutes ne simposeront pas comme la molette. Cependant, lajout
dun contrle physique peut se rvler fort protable, en particulier lorsquil est assign une tche
rptitive. La plupart des boutons sont programmables, et contrairement aux touches de fonction du
clavier, sont souvent aiss discerner et mmoriser, et possdent un comportement similaire entre
les applications.
F IG . 1.14 Trois dispositifs grand public prix abordable (microphone, webcam et tablette graphique), ainsi
quun ordinateur personnel congur pour un jeu de course automobile.
Jusque l, seuls les utilisateurs avancs (les joueurs passionns, par exemple) taient prts investir dans des quipements spcialiss coteux. Maintenant, grce la baisse des cots du matriel
et en particulier de certains priphriques, le grand public peut progressivement se rendre compte
de lintrt que peuvent prsenter les dispositifs dentre non standard. Des priphriques comme le
14
1.3.1
Les nouveaux paradigmes dinteraction tendent essentiellement vers des interactions toujours plus
concises et plus directes.
La notion de concision est en rapport troit avec le concept de phras decrit par Buxton [B UXTON 86 A].
Dans une interface conventionnelle, louverture dun menu suivi du choix dun de ses lments peut
se faire en deux clics. Ces clics successifs forment en quelque sorte une phrase. Or selon Buxton,
toute phrase traduit une connectivit conceptuelle entre les tches atomiques, quil est prfrable de
renforcer par une tension physique. Autrement dit, tout concept ou transaction pouvant tre dcrit en
un seul mot ou une seule phrase devrait pouvoir tre articul en un seul geste [B UXTON 86 A]. Lorsquun menu est ouvert par la mthode du cliquer-glisser, la tension musculaire est maintenue entre
louverture du menu et le choix dun lment, ce qui rend impossible toute erreur de syntaxe. Le geste
est en outre plus uide et plus naturel.
La proprit de concision est galement lie la proprit damodalit. Les modes dans les interfaces dsignent des tats dans lesquels les entres sont interprtes diffremment [P OLLER & G ARTER 84] :
par exemple, les modes insertion et remplacement dans un traitement de texte. Les modes
peuvent gnrer des ambiguts et tre la source derreurs appeles erreurs de mode13 [N ORMAN 81].
En outre, les changements de modes sont autant dtapes supplmentaires dans linteraction, et peuvent
la ralentir considrablement (palette doutils). Les nouvelles techniques dinteraction visent supprimer ces changements de mode, ou les rendre plus rapides et naturels (quasi-modes).
Tout le monde saccorde galement dire que linteraction doit tre la plus directe possible, bien
12
titre dexemple, les ventes de webcam aux tats-Unis ont grimp de 36% de 2001 2002 [G ILL 02].
13 Les erreurs de mode ont t lorigine de nombreuses catastrophes. Le crash de lAirbus A320 sur le Mont-Saint-Odile
en 1992 en est un exemple typique : peu avant latterrissage, le pilote, trs occup, a saisi une vitesse de descente de 3300
pieds/mn au lieu dun angle de 3.3 degrs [H OURIZI & J OHNSON 01]
15
1.3.2
Linteraction gestuelle
Linteraction gestuelle constitue un moyen non conventionnel demployer les dispositifs de pointage en exploitant notre capacit musculaire mmoriser et reproduire des trajectoires, capacit que
nous employons notamment pour crire.
Exploiter la dynamique du mouvement
F IG . 1.15 Dans les interfaces classiques, lorsquun utilisateur effectue une action de type cliquer-glisser,
seules la position initiale et la position nale du pointeur sont pris en compte, indpendamment de la trajectoire
effectue.
Dans la plupart des interfaces manipulation directe, les dispositifs de pointage servent essentiellement spcier des positions14 . Dans un mouvement de cliquer-glisser par exemple, seules la
position initiale et la position nale sont interprtes (gure 1.15). En exploitant la dynamique du
mouvement, les techniques dinteraction gestuelles permettent denrichir la smantique des actions
lmentaires de lutilisateur [BAUDEL 95].
14 Les
menus hirarchiques constituent une exception [M ERTZ et al. 00], pouvant tout au plus tre considre comme un
16
F IG . 1.16 Exemples usuels de techniques dinteraction gestuelle dans une application graphique : lutilisateur
commence par crer un rectangle, un cercle, et un label. Il supprime ensuite le cercle et duplique le label. Enn,
il regroupe les deux labels et les dplace vers la gauche.
La gure 1.16 illustre quelques techniques dinteraction gestuelle classiques, telles quon peut
les trouver dans des applications comme [M ANKOFF et al. 00] ou [H ONG & L ANDAY 00]. Chaque action de
type cliquer-clisser produit, la manire dun logiciel de dessin, une trace, qui disparat une fois
interprte. La trace pourra tre interprte comme un nouvel objet crer, dont le type la taille et
la position seront dduits des caractristiques du geste. Elle pourra galement tre interprte comme
une commande ddition, dont la nature et les objets cibls seront galement dduits du geste selon
un algorithme prdtermin.
Interfaces gestuelles : des avantages et des inconvnients
Lavantage principal de linteraction gestuelle est quelle permet deffectuer des interactions concises
Ainsi, la plupart des oprations gestuelles de lexemple prcdent rclament habituellement au moins deux tapes dans une interface classique : crer un rectangle ncessite de cliquer sur
loutil rectangle puis de dsigner deux cts opposs du rectangle par un cliquer-glisser. De mme,
la suppression dun objet requiert une slection, puis lappui dune touche ou un clic sur le bouton
supprimer . Or, un geste suft pour spcier la fois une commande et les arguments de cette
commande. En outre, linteraction gestuelle nutilise pas de widgets intermdiaires tels que les barres
doutils, ce qui conomise de la place sur lcran et permet lutilisateur de se focaliser sur les objets
dintrt.
[BAUDEL 95].
Lautre atout de linteraction gestuelle est quelle exploite une mtaphore dj connue, savoir
le dessin sur une feuille de papier. Lutilisation de stylets et lexploitation de gestes iconiques tel
que le geste de rature (gure 1.16) exploitent davantage encore la puissance de cette analogie. Ainsi,
les techniques dinteraction gestuelle ont t largement utilises dans les applications conues selon une approche d interaction informelle 15 et abondamment exploites pour la saisie textuelle
[L ANDAY & M YERS 95]. Linteraction gestuelle est galement la technique de prdilection des ordinateurs de poche, qui utilisent le stylet comme principal dispositif de saisie, et pour lesquels il convient
de maximiser lespace dafchage utile.
Bien que fort prometteuses, les interfaces essentiellement bases sur les techniques gestuelles restent difciles mettre en uvre. Les ambiguts potentielles, par exemple, sont nombreuses : ainsi,
dans lexemple de la gure 1.16, le cercle pourrait tre interprt comme la lettre O , et le dplacement dobjets comme la cration dun segment de droite. Plus encore que les difcults lies
exemple primitif et trs imparfait dinteraction gestuelle.
15 Cette approche vise ne pas faire obstacle aux capacits dexpression crative de lutilisateur en privilgiant des mthodes de saisie naturelles et en acceptant des donnes incompltes ou imprcises (telles que des croquis), tout en minimisant
les interventions de lordinateur.
17
F IG . 1.17 Slection dune commande dans un Marking Menu, par un novice ( gauche) et par un expert (
droite).
Cest le cas des Marking Menus, version circulaire des menus contextuels [K URTENBACH & B UXTON 94].
Dans un menu circulaire, le choix dun lment se fait en imprimant une direction donne au pointeur,
aprs avoir fait apparatre le dit menu (gure 1.17). Les menus hirarchiques des Marking Menus
induisent des gestes qui sont afchs sous forme de traces (gure 1.17, image de droite). Lutilisateur
novice commencera par maintenir le bouton enfonc an de faire apparatre les menus (gure 1.17,
image de gauche), et pourra ensuite directement effectuer les gestes pour les commandes auxquelles
il est habitu (gure 1.17, image de droite).
La gure 1.18 page suivante illustre un autre exemple tir du logiciel Digistrips, un prototype
de strips lectroniques pour contrleurs ariens [M ERTZ et al. 00]. Les Strips sont des objets disposs
verticalement. Un Strip peut tre dcal vers la droite, ou dplac vers le haut ou vers le bas, auquel
cas il pousse les autres an de conserver lordre. Mais un court mouvement vers la droite suivi dun
dplacement vertical le dsolidarise des autres, ce qui lui permet dtre insr ailleurs. Le passage
ce mode de dplacement se fait par un geste implicite, mcanique , dont la comprhension et
lassimilation sont immdiates.
18
F IG . 1.18 Les gestes reconnus pour la manipulation des Strips [M ERTZ et al. 00].
F IG . 1.19 La lettre f et le mot the saisis avec la technique QuikWriting [P ERLIN 98].
La mthode de saisie textuelle QuikWriting de Ken Perlin constitue un autre exemple de gestes
ergotiques [P ERLIN 98]. Pour la saisie textuelle au stylet sur les ordinateurs de poche, les vocabulaires
gestuels simplis comme Grafti [M AC K ENZIE & Z HANG 97] sont souvent prfres aux techniques
d criture naturelle [PARAGON 03, M ICROSOFT 03 B] qui sont sujettes aux erreurs de reconnaissance.
Cependant, ces vocabulaires gestuels ncessitent dtre appris. La technique QuikWriting se distingue
de ces approches car elle peut tre utilise, tout comme les Marking Menus, de faon exploratoire.
Lespace de saisie de QuikWriting est divise en neuf zones (gure 1.19). Chaque geste commence
dans la zone centrale, puis passe par une ou deux zones avant de revenir au centre. La correspondance
entre caractres et gestes est reprsente de faon synthtique sur lespace de saisie : pour saisir une
lettre, il suft de diriger le geste dans la zone o elle se trouve, puis dans la zone indique par sa
position relative.
1.3.3
Les outils semi-transparents16 sont des widgets que lon peut librement dplacer sur lcran, et
qui sont en gnral regroups dans des palettes ottantes appeles toolglass. Ces outils possdent des
zones transparentes qui permettent de voir les objets dintrt situs en-dessous17 .
Lorsquun utilisateur clique sur un outil semi-transparent, celui-ci modie les proprits de lobjet
qui se trouve en dessous, la position du curseur. Sur la gure 1.20 page suivante par exemple, un
utilisateur modie la couleur dun objet graphique en cliquant dessus travers un bouton transparent.
16 en
17 Les Magic Lenses (lentilles magiques) sont une variante o la transparence est remplace par des ltres visuels labors
19
F IG . 1.20 Une toolglass comportant quatre outils de changement de couleur. Lutilisateur clique sur une
ellipse travers lun de ces outils, ce qui a pour effet de modier la couleur de lobjet graphique.
Ce bouton permet daffecter une couleur donne (afche dans le coin infrieur droit de loutil) tout
objet graphique.
Les outils semi-transparents ont t introduits par Eric A. Bier [B IER et al. 93], comme alternative
aux techniques indirectes de manipulation dobjets graphiques, telles que la slection, les barres doutils modales ou les menus contextuels. Contrairement ces techniques, les outils semi-transparents
permettent de spcier la fois lobjet sur lequel on veut effectuer une opration et lopration ellemme. Couple linteraction bimanuelle dcrite quelques lignes plus bas (la Toolglass peut tre
contrle de la main gauche), cette technique permet deffectuer en un seul geste des manipulations
qui, avec les techniques classiques, requirent plusieurs tapes et des dplacements rpts de lattention visuelle.
1.3.4
Linteraction parallle
Nous employons le terme dinteraction parallle pour dsigner lensemble les paradigmes dinteraction faisant un usage simultan de plusieurs dispositifs dentre.
F IG . 1.21 Homoncule reprsentant les zones du cortex moteur responsables de chaque groupe musculaire
[BARLOW et al. 90].
Linteraction bimanuelle
Une exprience de William Buxton et Brad Myers [B UXTON & M YERS 86] a mis en vidence que des
techniques dinteraction utilisant deux mains permettaient daccomplir certaines tches plus rapidement. Leur exprience consistait spcier dune part la taille et la position dune cible, et dautre part
naviguer dans un document et slectionner un mot. Dans les deux cas, le paralllisme tait exploit
de faon naturelle et augmentait signicativement les performances.
Au mme moment, Yves Guiard [G UIARD 87] a montr que dans les tches manuelles courantes,
les deux mains travaillent de faon cooprative et asymtrique, et a mis notamment laccent sur limportance de la main non-dominante. Ainsi, la main non-dominante peut servir de rfrentiel spatial
pendant que la main dominante opre sur lobjet tenu par la main gauche, et la premire effectue en
gnral des mouvements de grande amplitude alors que la dernire effectue des mouvements prcis
(exemple du peintre qui tient sa palette). En outre, la main non-dominante prcde souvent le geste,
que la main dominante termine (prendre une feuille de papier pour crire).
F IG . 1.22 Navigation cartographique bimanuelle : les deux pointeurs (que nous avons entour dun cercle
pour plus de clart) sont utiliss simultanment pour zoomer. La carte est ractualise la n de linteraction.
[H INCKLEY et al. 98]
Lemploi de modicateurs clavier et la saisie textuelle deux mains constituent dj des interac21
F IG . 1.23 Manipulation multidigitale avec Smartskin. gauche, la manipulation dune courbe de Bzier.
droite, une technique de navigation cartographique similaire celle de Hinckley [R EKIMOTO 02]
Dautres techniques dinteraction bimanuelle ont t dcrites dans la littrature scientique. Nous
avons voqu trois dentre elles dans les sections prcdentes : la manipulation dun plan de coupe
(gure 1.2 page 6), le tape drawing (gure 1.7 page 9), et en particulier les outils transparents (gure 1.20 page 20). Rcemment, un dispositif dentre exprimental mais trs prometteur, nomm
Smartskin, a permis dappliquer certaines techniques bimanuelles la manipulation multidigitale ,
comme illustr sur la gure 1.23 [R EKIMOTO 02].
Linteraction multimodale
Selon Laurence Nigay, la multimodalit est la capacit dun systme communiquer avec un utilisateur en employant diffrents types de canaux de communication [N IGAY & C OUTAZ 93]. En gnral,
les interfaces multimodales emploient des entres naturelles mais qui produisent des ambiguts
comme la parole, et les compltent par des entres explicites comme le pointage ou la manipulation directe. Bien que le terme de multimodalit soit parfois employ dans le sens plus gnral dinteraction
parallle, le domaine de linteraction multimodale sattache essentiellement aux problmes lis la
fusion et linterprtation dentres issues de canaux de nature htrogne.
La notion dinterfaces multimodales a t introduite par Richard Bolt [B OLT 80] dans son systme
put-that-there , qui associe des commandes vocales des techniques de pointage (gure 1.24 page
suivante). Pour dplacer un objet, lutilisateur pointe du doigt sur cet objet en prononant met a ,
puis sur sa destination en prononant l . Dautres prototypes ont t construits par la suite an
exprimenter lusage combin de la manipulation directe et du langage naturel textuel [C OHEN et al. 89],
ou des gestes et de la parole [W EIMER & G ANAPATHY 89]. Plus rcemment, des techniques de traitement
vido en temps rel ont t exploites pour amliorer la reconnaissance vocale par la lecture des
mouvements des lvres, et pour contrler une application de visualisation dimages panoramiques en
combinant mouvements oculaires et commandes vocales [YANG et al. 98].
Les interfaces multimodales offrent la possibilit de combiner les avantages des entres naturelles
22
mais quivoques comme la parole, et des entres univoques comme la manipulation directe. Lutilisation de plusieurs canaux de communication permet chaque canal de compenser les faiblesses des
autres, lorsquil sagit notamment de rsoudre des ambiguts, mais permet galement la proprit
de redondance, dans laquelle une tche peut tre accomplie de diverses manires. Cette redondance
des entres est souvent dsirable, en particulier lorsque les contraintes lies lenvironnement sont
variables.
1.3.5
La ralit mixte
Ralit Mixte
Environnement
Rel
Environnement
Virtuel
Ralit
Augmente
Virtualit
Augmente
Paul Milgram [M ILGRAM & K ISHINO 94] a introduit le terme de ralit mixte pour dsigner lensemble des approches combinant environnements virtuels et environnements rels dans des proportions variables. Il dcrit ainsi un continuum entre la ralit et la virtualit partir duquel on peut
distinguer deux grandes approches (gure 1.25) : la virtualit augmente qui consiste intgrer du
rel dans le monde virtuel, et la ralit augmente qui consiste intgrer du virtuel dans le monde
rel. Nous dcrivons ces deux paradigmes.
La virtualit augmente
Nous possdons des capacits innes interagir de faon physique avec des objets du monde rel,
et ces capacits sont trs peu exploites dans les interfaces actuelles o les objets sont essentiellement
virtuels [F ITZMAURICE & B UXTON 97, I SHII & U LLMER 97]. La virtualit augmente traduit une nouvelle
23
F IG . 1.26 gauche : interface saisissable , o des briques physiques sont utilises pour manipuler des
objets virtuels [F ITZMAURICE et al. 95]. droite : un assemblage de phidgets est assign des widgets de contrle
sonore [G REENBERG & B OYLE 02].
George Fitzmaurice et Hiroshi Ishii [F ITZMAURICE et al. 95] ont employ le terme dinterfaces saisissables 18 , pour dcrire des interfaces o certains objets interactifs traditionnels sont remplacs par
des objets physiques. Ils voquent un prototype o des briques comportant des capteurs de position
et dorientation sont librement placs sur une table, sur laquelle sont projets des objets graphiques.
Lorsquune brique est pose sur un objet virtuel, celui-ci peut tre librement manipul (gure 1.26,
image de gauche). Plusieurs briques peuvent tre manipules simultanment, soit sur des objets spars, soit sur le mme objet pour le redimensionner ou le dformer. Hiroshi Ishii [I SHII & U LLMER 97]
gnralisera ces concepts dans une perspective plus gnrale de ralit mixte, et introduira le terme
maintenant couramment employ dinterfaces tangibles.
Dans le mme esprit, Saul Greenberg [G REENBERG & B OYLE 02] propose de saider de contrleurs
physiques supplmentaires pour interagir avec les applications existantes. Ses phidgets sont les homologues physiques des widgets qui structurent nos interfaces. Ainsi, des boutons ou des potentiomtres
lectroniques peuvent tre assigns aux fonctions les plus couramment utiliss, puis agencs sur lespace de travail. Sur la gure 1.26, image de droite, une combinaison de potentiomtres linaires est
assigne des fonctions de contrle sonore.
Dans ces interfaces, les objets physiques sont plus efcaces et plus faciles dutilisation car ils
mettent prot nos capacits prhensiles innes [F ITZMAURICE & B UXTON 97]. En outre, ils permettent
et mme encouragent linteraction bimanuelle et le travail coopratif.
La ralit augmente
La ralit augmente [M ACKAY 96] dsigne des techniques consistant superposer au monde rel
des informations gnres par ordinateur. Lexemple typique est un utilisateur (chirurgien, militaire,...)
qui est assist dans sa tche par un systme vestimentaire (voir section 1.2.3 page 12) comprenant
un casque virtuel ou des lunettes translucides. Une autre technique courante consiste projeter des
images sur un espace de travail : les surfaces augmentes telles que les tables, les tableaux ou les murs
interactifs emploient des techniques dinteraction bases sur la capture des mouvements de la main
ou sappuient sur des interfaces tangibles [I SHII & U LLMER 97]. Largile lumineuse [P IPER et al. 02] par
18 Traduction
24
F IG . 1.27 gauche : largile lumineuse avec le calcul des courbes de gradient [P IPER et al. 02]. droite : une
dalle de sol intelligent et un des capteurs de charge qui la composent [O RR & A BOWD 00].
exemple, consiste en un matriau dformable destin concevoir des maquettes de paysages, et sur
lequel sont projetes des informations topographiques (gure 1.27, image de gauche). Linteraction
se fait par modelage du matriau, dont la forme est capture en temps rel par un scanner laser.
Linformatique diffuse19 dcrit une ralit augmente o linformatique, saidant de la miniaturisation et de la mise en rseau, se fond avec lenvironnement quotidien jusqu tre invisible et fournit des
informations et des services lendroit et au moment opportuns [W EISER 91]. Ce nouveau paradigme
dinformatique embarque (voir section 1.2.3 page 11) met en avant une interaction naturelle entre
lutilisateur et lenvironnement augment, mais surtout le remplacement des interactions explicites par
une sensibilit au contexte, o des informations provenant de lenvironnement (identit de lutilisateur,
localisation spatiale, objet dintrt, type dactivit) sont automatiquement collectes et interprtes.
Ici, les dispositifs dentre sont remplacs par des capteurs. Le sol intelligent [O RR & A BOWD 00], par
exemple, est un systme non intrusif didentication biomtrique et de localisation bas sur des prols
de charge (gure 1.27, image de droite).
19 Traduction de Ubiquitous Computing. Les traductions employes sont nombreuses : informatique ubiquitaire, omniprsente, pervasive, dissmine, ou encore ubiquit numrique.
20 Par adaptable, nous nentendrons pas qui sadapte automatiquement , mais plutt quil est possible dadapter .
25
1.4.1
F IG . 1.28 Un menu hirarchique utilis avec une souris (en haut) et avec un dispositif de pointage de type
manette (en bas). Dans ce menu, un mcanisme de temporisation vite la cible (ici, Adobe Photoshop) de
disparatre pendant le pointage. Dans le second cas cependant, la disparition prmature de la cible et louverture
dun menu non souhait ne peuvent tre vits.
28
1.4.2
Pour parler de linformatique grand public daujourdhui, il est difcile de ne pas prendre pour
base de comparaison les standards existants. Nous introduisons par consquent les termes dentres
enrichies ou appauvries, par rfrence aux entres standard que constituent la souris et le clavier :
Les entres enrichies dcrivent les dispositifs dentre ou les combinaisons de dispositifs dont la
bande passante est suprieure celle des dispositifs standard. Les exemples vont des contrles supplmentaires sur les dispositifs standard aux dispositifs multi-dimensionnels, large bande passante,
ainsi que les dispositifs multiples.
29
1.4.3
Dans cette section, nous dcrivons ladaptabilit en entre des systmes interactifs actuels. Nous
distinguons deux grands niveaux dadaptabilit : le niveau systme et le niveau applicatif.
Au niveau systme
Les dispositifs dentre sont grs en premier lieu au niveau du systme dexploitation, qui offre
des services de base aux applications interactives. Linteraction avec lensemble des applications interactives peut tre personnalise ce niveau.
La plupart des systmes dexploitation comportent des panneaux de conguration qui permettent
de personnaliser la gestion de la souris et du clavier (gure 1.29 page suivante). Sur les systmes de
type Microsoft Windows, lutilisateur peut ainsi adapter linteraction son niveau dexpertise (vitesse
du double-clic, dlai de rptition des touches du clavier), ses particularits culturelles (choix de la
langue du clavier) ou motrices (inversion des boutons de la souris pour gaucher) et, plus gnralement, ses prfrences individuelles (vitesse et apparence du pointeur, ouverture avec simple clic ou
double clic, etc.). Enn, des options daccessibilit permettent de faciliter laccs aux utilisateurs
handicaps par des techniques simples comme le ltrage des erreurs de frappe ou la rmanence de
touches facilitant lusage de combinaisons.
Malgr les fonctionnalits offertes par les panneaux de conguration, les systmes dexploitation restent extrmement rigides du point de vue des entres. Voici une liste non exhaustive de leurs
faiblesses :
Fusion des entres Les dispositifs de pointage multiples et les claviers multiples sont fusionns
au niveau du systme dexploitation. Lorsque plusieurs dispositifs de pointage (souris, tablette gra30
phique) sont connects, ils "poussent" tous le mme curseur, ce qui rend linteraction bimanuelle ou
multi-utilisateurs impossible. Les claviers multiples sont vus comme un seul clavier. Windows, par
exemple, ne permet pas daffecter une langue chaque clavier. La fusion des entres a des consquences ngatives sur la contrlabilit.
Entres tendues ignores : La plupart des dispositifs non-standard (manettes de jeux, dispositifs 3D) ne peuvent pas tre utiliss pour interagir avec les applications classiques. Certains pilotes
proposent un contrle "par compatibilit", mais dans lequel les caractristiques intressantes du dispositif sont ignores. Par exemple, une tablette graphique pourra servir des tches de pointage, mais
sa rsolution et sa sensibilit la pression seront inutilises. Le fait dignorer les entres tendues a
de fortes consquences sur la contrlabilit.
Entres standard requises : La suppression de la souris ou du clavier rend linteraction laborieuse, voire impossible. Les raccourcis-claviers ne sont pas conus pour remplacer la souris, car leur
utilisation exclusive est pnible, et parce quils ne balayent pas lensemble des tches possibles. Quant
aux outils de saisie textuelle par pointage, ils sont inexistants ou peu efcaces (clavier-cran). Linteraction exclusivement gestuelle en particulier, nest pas prise en compte dans les systmes dexploitation de type ordinateur de bureau. La ncessit demployer les dispositifs standard a des consquences
nfastes sur laccessibilit.
Congurabilit pauvre : Bien que parfois utiles, les panneaux de conguration des systmes
dexploitation, mmes surchargs, ne prennent en compte quun nombre xe de cas dj prvus
lavance. Chaque pilote de dispositif propose des outils de conguration bass sur le mme modle,
bien quadapts au type de matriel quil prend en charge. La pauvret de la congurabilit a naturellement des rpercussions importantes sur laccessibilit. Les options daccessibilit dans les systmes
dexploitation sont dailleurs anecdotiques car peu nombreuses, strotypes et souvent inadaptes.
La plupart des techniques daccessibilit courantes, bases sur lmulation de la souris et du clavier,
31
Les applications traditionnelles : Les applications traditionnelles comme les logiciels de bureautique reposent exclusivement sur les services fournis par le systme dexploitation, ou sur des outils
de dveloppement qui reposent sur ces services. Leur adaptabilit en entre est par consquent limite
celle prcdemment dcrite. Certaines de ces applications permettent travers des options de menu
de spcier des prfrences qui se limitent souvent, du point de vue des entres, la conguration
des raccourcis clavier. Bien que marginales, des techniques dinteraction non standard commencent
apparatre dans certaines applications commerciales. Cest le cas des commandes gestuelles dans les
navigateurs Mozilla [M OZILLA 03] et Opera [O PERA 03], qui offrent par consquent une contrlabilit
amliore par rapport aux applications conventionnelles.
Les applications spcialises : Certaines applications semi-professionnelles comme les logiciels
dinfographie ou de composition musicale gagnent particulirement tre utilises avec des dispositifs spcialiss. Ces dernires peuvent tre en partie contrls par des instruments de musique MIDI.
Le logiciel de dessin Adobe Photoshop gre les tablettes graphiques de faon spcique, et exploite
leur rsolution leve ainsi que leur sensibilit la pression [WACOM 03]. Cependant, la congurabilit
est limite (la pression ne peut tre assigne qu la taille de la brosse, son opacit ou sa couleur) et les
autres dimensions comme linclinaison (tilt) sont ignores. Ces applications spcialises offrent une
meilleure contrlabilit grce la prise en charge dun type de dispositif spcique en plus des dispositifs standard, mais leur utilisation reste trs classique et ils ne sont ni excessivement contrlables, ni
32
1.5. CONCLUSION
excessivement congurables, et encore moins accessibles.
F IG . 1.31 Conguration des entres dans le jeu Quake III [H ONEYWELL 99].
Les jeux vido : Les jeux vido supportent des dispositifs dentre de plus en plus sophistiqus,
tels que les manettes boutons multiples et les dispositifs de simulation. Traditionnellement, ils offrent
lutilisateur le choix entre le clavier, la manette et la souris pour contrler le jeu. La possibilit de
personnaliser les contrles est un aspect important des jeux vido (gure 1.31). Ainsi les boutons ou
les touches sont librement assignables. Cependant lutilisateur a moins de contrle sur la faon dont
les dimensions continues sont employes, et peut tout au plus jouer sur la sensibilit ou linversion
des axes. En outre, les dispositifs non-standard qui ne sont pas ddis aux jeux ne sont pas pris en
compte. Les jeux vido sont bien plus contrlables que les applications traditionnelles, mais ils sont
peine plus congurables, et laccessibilit nest pas une proccupation majeure dans ce secteur.
Les applications 3D : Les logiciels danimation et de modlisation 3D comme WorldUp [S ENSE 8 03]
ou Vega Prime [PARADIGM 03] supportent un grand nombre de dispositifs sophistiqus, tels que les souris 3D ou les capteurs six degrs de libert. En gnral, chaque dimension peut tre librement assigne des attributs dobjets 3D, ce qui offre des interactions la fois riches et congurables. Certaines
applications comme Virtools [V IRTOOLS 01] possdent un diteur graphique dinteraction qui, bien que
complexe dutilisation, multiplie les possibilits de conguration (voir la section 2.7 page 79 pour une
description de ces outils). Mais l encore, seuls les dispositifs et les techniques dinteraction 3D sont
pris en compte. Les applications 3D sont nanmoins les plus contrlables et les plus congurables,
bien que laccessibilit ne soit pas non plus une proccupation majeure dans ce domaine.
1.5 Conclusion
Nous avons montr dans ce chapitre lintrt de linteraction en entre non standard, dabord en
dcrivant des situations concrtes o lemploi de dispositifs dentre alternatifs ddis lutilisateur,
la tche ou lenvironnement est invitable ou permet damliorer considrablement la qualit de
linteraction. Puis, en prsentant les principaux nouveaux paradigmes dinteraction, que lon regroupe
sous le nom dinterfaces Post-WIMP, et qui autorisent des interactions plus concises, directes, parallles et naturelles.
33
34
Chapitre 2
2.3
2.4
2.5
2.6
2.7
2.8
Introduction . . . . . . . . . . . . . . . . . . . .
Les modles dinterface de rfrence . . . . . . .
2.2.1 Les modles linguistiques . . . . . . . . .
2.2.2 Les modles agents . . . . . . . . . . . .
2.2.3 Conclusion . . . . . . . . . . . . . . . . .
Les modles dinterface formels . . . . . . . . .
2.3.1 Les systmes de transition . . . . . . . . .
2.3.2 Les interacteurs formels . . . . . . . . . .
2.3.3 Conclusion . . . . . . . . . . . . . . . . .
Les modles de dispositifs . . . . . . . . . . . . .
2.4.1 Les modles logiques . . . . . . . . . . . .
2.4.2 Les modles physiques . . . . . . . . . . .
2.4.3 Conclusion . . . . . . . . . . . . . . . . .
Les modles dinteraction . . . . . . . . . . . . .
2.5.1 La manipulation directe . . . . . . . . . .
2.5.2 Linteraction instrumentale . . . . . . . . .
2.5.3 Conclusion . . . . . . . . . . . . . . . . .
Les outils de dveloppement . . . . . . . . . . .
2.6.1 Les botes outils WIMP avances . . . .
2.6.2 Les botes outils Post-WIMP spcialises
2.6.3 Conclusion . . . . . . . . . . . . . . . . .
Les diteurs graphiques dinteraction . . . . . .
2.7.1 Les paradigmes de programmation visuelle
2.7.2 Les diteurs de simulations interactives . .
2.7.3 Les diteurs de comportements 3D . . . . .
2.7.4 Conclusion . . . . . . . . . . . . . . . . .
Synthse . . . . . . . . . . . . . . . . . . . . . .
35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
36
36
37
40
43
44
44
46
49
50
50
51
54
56
56
57
60
60
61
67
78
79
79
80
85
89
90
2.1 Introduction
Une interface graphique est un systme complexe, difcile apprhender dans son ensemble, et
qui ncessite dtre dcompos. Il existe de multiples stratgies de dcomposition, dont certaines ont
t acceptes comme rfrences, et que nous prsentons dans un premier temps. Contrairement aux
modles de rfrence, les modles de type formel dcrivent les interfaces ou des aspects particuliers
de ces interfaces de manire particulirement dtaille : nous prsentons ceux qui nous semblent pertinents du point de vue de linteraction en entre. Nous dcrivons ensuite deux types de modles qui
traitent deux aspects essentiels de linteraction en entre : les modles de dispositifs, dont lobjectif
est dextraire les caractristiques pertinentes des diffrents types de dispositifs dentre, et les modles dinteraction, qui dcrivent des rgles et des principes gnraux pour la conception dinterfaces
naturelles et efcaces.
Si les modles permettent de mieux comprendre linteraction et sont dune certaine aide dans
la phase de conception, les outils de dveloppement constituent les supports concrets pour limplmentation des applications interactives. Certains de ces outils sinspirent de modles existants et les
autres, largement majoritaires, emploient un modle dinterface spcique. Le dveloppement dapplications interactives repose en grande partie sur les botes outils graphiques traditionnelles, optimises et cbles pour linteraction en entre standard. Dautres botes outils graphiques, moins
connues, prennent en charge des dispositifs dentre ou des techniques dinteraction non conventionnelles. Nous prsentons ces dernires de faon dtaille, et discutons de leurs apports respectifs par
rapports aux botes outils traditionnelles. Pour nir, nous prsentons les diffrents types dditeurs
dinteraction, outils gnralement destins un plus vaste public que les programmeurs, et qui permettent de spcier tout ou partie de linteraction en entre.
Dans cet tat de lart, nous avons choisi de dtailler et dexpliquer les travaux reprsentatifs de
chacune de ces approches plutt que de produire des longues listes de rfrences. Les points-cls de
ce chapitre seront en outre rsums en guise de conclusion.
Interface
noyau fonctionnel
U t ilisat e ur
La plupart des modles identient au moins trois types dlments dans la composition des interfaces, et distinguent un cot utilisateur et un ct noyau fonctionnel. Il comprennent presque
toujours des lments en contact direct avec lutilisateur (prsentations), des lments en contact direct avec le noyau fonctionnel ou qui en font partie (interfaces du noyau fonctionnel, abstractions,
modles), et des lments articulatoires (contrleurs, adaptateurs).
Malgr ces points communs, certains modles procdent dapproches trs diffrentes, et on distingue communment deux grands groupes de modles de rfrence. Les modles linguistiques ou
modles couches dcrivent la structure globale dune application interactive sous forme de couches
logiques. Ces modles sont galement appels modles logiques, ou sont qualis dabstraits. Les seconds types de modles sont les modles agents ou interacteurs, ou encore modles orients objet.
Ces modles sinspirent du paradigme de programmation par objets, et proposent une dcomposition
modulaire de linterface en un ensemble dagents communicants.
Nous dcrivons dans la suite ces deux groupes de modles, ainsi que leurs principaux reprsentants.
2.2.1
Les modles de rfrence linguistiques se basent sur une approche linguistique de linteraction,
inspire des architectures de compilateurs. Lapproche linguistique identie trois aspects dans linteraction :
Aspects lexicaux : ces aspects dsignent tout ce qui peut tre assimil un vocabulaire dentre
(clic, glisser), ou de sortie (ensembles dicnes).
Aspects syntaxiques : ils peuvent dsigner des grammaires dentre reprsentant les squences
dactions valides, ou les aspects spatiaux et temporels de lafchage.
Aspects smantiques : ils correspondent la partie fonctionnelle de lapplication, qui dtermine
en dernier lieu le sens dune action et gnre les erreurs.
dfaut de donner des indications prcises sur la faon dont doit tre structur et implment un
systme interactif, les modles linguistiques identient les couches logiques qui doivent y apparatre.
Dans cette section, nous dcrivons dans leurs grandes lignes et de faon chronologique les principaux modles linguistiques, savoir le modle de Seeheim, le modle Arch, ainsi que son mtamodle
Slinky.
37
Prsentation
Contrleur
Interface du
de dialogue
noyau fonctionnel
N oya u
Fonc t ionne l
U t ilisat e ur
Seeheim
Le premier modle de rfrence largement accept part dune approche linguistique. Celui-ci est
issu dun groupe de travail sur les systmes interactifs ayant eu lieu Seeheim en 1985 [P FAFF 85].
Le modle de Seeheim tait principalement destin au traitement lexical des entres et sorties dans
les interfaces textuelles. Sil est peu utile aujourdhui pour dcrire les systmes interactifs hautement
graphiques, il a servi de base beaucoup dautres modles.
Le modle de Seeheim[P FAFF 85] propose de diviser linterface en trois couches logicielles selon
une approche linguistique (gure 2.2) :
La prsentation est la couche en contact direct avec les entres et sorties. Elle interprte les
actions de lutilisateur (dispositifs physiques) et gnre les sorties (afchage) au niveau lexical.
Le contrleur de dialogue gre le squencement de linteraction en entre et en sortie. Il maintient un tat lui permettant de grer les modes dinteraction et les enchanements dcrans.
Linterface du noyau fonctionnel est la couche adaptative entre le systme interactif et le noyau
fonctionnel. Elle convertit les entres en appels du noyau fonctionnel et les donnes abstraites
de lapplication en des objets prsentables lutilisateur.
Un autre lment a t ajout au modle de Seeheim pour prendre en compte le retour smantique
rapide : par exemple, lors dune opration de glisser-dposer, il peut savrer utile de modier instantanment lapparence de licne-cible pour indiquer si lopration est valide. Dans ce cas, la couche de
prsentation doit court-circuiter le contrleur de dialogue pour accder directement aux informations
smantiques du noyau fonctionnel.
Arch / Slinky
Le modle Arch [UIMS 92] afne le modle de Seeheim en sinspirant davantage des botes
outils graphiques actuelles. Ce modle incorpore la notion de plate-forme de dveloppement, et dcrit
la nature des donnes qui transitent entre les diffrents composants.
Le modle Arch identie cinq composants dans les systmes interactifs (gure 2.3 page ci-contre) :
Le composant dinteraction dsigne lensemble des widgets (objets interactifs) dune bote
outils, ainsi que les communications avec les priphriques physiques. Il dpend dune plateforme donne.
38
Contrleur
Objets de
prsentation
de dialogue
Objets du
domaine
Adaptateur de
Prsentation
domaine
Objets
d'interaction
Objets du
domaine
Interaction
noyau fonctionnel
U t ilisat e ur
loppeurs. Un mtamodle baptis Slinky [UIMS 92] a t conu au-dessus du modle Arch an de
suggrer lexistence de ces variantes du modle Arch. Le mtamodle Slinky, inspir du jouet de
mme nom (gure 2.4), met notamment en vidence les notions de choix et de compromis inhrents
au dveloppement des applications interactives.
2.2.2
En dcomposant les interfaces en objets de mme nature, les modles agents sont proches
des langages programmation objets et des interfaces manipulation directe modernes. Dans cette
section, nous dcrivons les princpaux modles agents, savoir MVC, PAC et le modle hybride
PAC/Amodeus.
MVC
Modle
Vue
Contrleur
U t ilisat e ur
U t ilisat e ur
Le modle MVC (Modle, Vue, Contrleur) [S CHMUCKER 86, K RASNER & P OPE 88] a t introduit
comme architecture de rfrence dans limplmentation des interfaces utilisateur de lenvironnement
Smalltalk [G OLDBERG & ROBSON 81]. Lapproche de MVC inspirera toute une ligne de modles base
dagents, dont les principales motivations sont la modiabilit et la conception itrative, ainsi que la
compatibilit avec les langages objets.
40
F IG . 2.6 Plusieurs exemples de look & feels pour un modle consistant en une valeur entire et son
domaine.
Chacun des trois composants de la triade MVC est un objet part entire. Au sens de la programmation oriente objet, une classe de Modle peut tre compatible avec plusieurs classes de Vues et de
Contrleurs. Les composants interactifs dune bote outils (widgets) sont la plupart du temps livrs
avec un ensemble de paires Contrleur/Vue, appeles look & feels. Un entier comportant une valeur
minimale et une valeur maximale peut tre ainsi reprsent par une jauge, un curseur, un champ de
saisie, ou une barre de dlement (gure 2.6).
PAC
U t ilisat e ur
Prsentation
Abstraction
Contrle
P
C
P
C
P
C
P
C
P
C
P
C
Par une approche rcursive, le modle PAC peut tre appliqu de manire consistante plusieurs
niveaux dun systme interactif. Une application interactive peut ainsi tre dcrite comme une hirarchie dagents disposs sur plusieurs couches dabstractions (gure 2.8). Ce type de reprsentation
unie en quelque sorte les modles agents et les approches couches de type Seeheim.
PAC/Amodeus
PAC/Amodeus [N IGAY & C OUTAZ 93] nit de rconcilier les approches linguistiques et agents en
proposant un modle hybride. Il rutilise le modle Arch et dcrit son contrleur de dialogue avec
une hirarchie dagents PAC (gure 2.9 page ci-contre). Ladaptateur de domaine et la prsentation de
lArch communiquent directement avec chaque agent PAC travers son abstraction (pour le premier)
et sa prsentation (pour le second).
Lobjectif de PAC/Amodeus est de combiner les avantages du modle Arch, qui intgre des aspects
de gnie logiciel comme la modiabilit et la portabilit, et du modle PAC, qui permet de structurer
efcacement le contrleur de dialogue jusque-l monolithique. Le modle PAC/Amodeus a t employ pour modliser des plate-formes multimodales [N IGAY & C OUTAZ 95]. Les entres sont dcrites
par des symboles et des grammaires, et des mcanismes de fusion de haut-niveau sont implments
dans le dialogue par des agents PAC.
42
Adaptateur de
Prsentation
domaine
Interaction
noyau fonctionnel
U t ilisat e ur
2.2.3
Conclusion
Nous avons prsent dans cette section les principaux modles dinterfaces de rfrence, dont
lobjectif est de fournir des stratgies de dcomposition fonctionnelle et structurelle pour les interfaces
utilisateur an de simplier leur conception et constituer un support de raisonnement.
Les modles linguistiques dcomposent les interfaces en un petit nombre de couches, chaque
couche possdant un rle spcique et traduisant un niveau dabstraction. Cette approche est encore
utile pour comprendre le fonctionnement de linteraction, mais elle trop monolithique, abstraite et peu
structurante. En outre, cette approche qui trouve son origine dans les interfaces textuelles est de plus
en plus difcile appliquer telle quelle aux interfaces modernes et encore plus aux interfaces PostWIMP. Cest en particulier le cas de Seeheim. Lapproche Arch est nanmoins plus pragmatique, car
elle sinspire des architectures concrtes des systmes interactives, avec les notions de plate-forme et
de bote outils.
Les modles agents dcrivent un autre style de dcomposition pour les interfaces utilisateur
(dite aussi horizontale par opposition aux modles couches) : ces agents modlisent le systme
de faon homogne. Cette approche est particulirement adapte aux styles de programmation par
objets, et permet de dcrire des aspects tels que la modularit, le paralllisme et la distribution. La
ncessit, cependant, de prendre en compte lhtrognit des systmes interactifs a conduit au modle PAC/Amodeus. PAC/Amodeus emprunte Arch des principes de gnie logiciel essentiels telles
que la modiabilit et la portabilit, incarnes par ses adaptateurs de domaine et son composant de
prsentation.
Malgr leurs apports, les modles de rfrence ne sont pas dune grande aide pour dcrire les
aspects bas-niveau de linteraction, aussi bien du point de vue sorties quentres, ces aspects tant
systmatiquement encapsuls dans des blocs monolithiques. Rien nest dit non plus sur les techniques
dinteraction. Arch et PAC/Amodeus, en particulier, ne dcrivent pas la faon de rpartir les techniques
dinteraction entre le composant de Prsentation, le composant dInteraction, et leur protocole de
communication.
MVC est le seul modle dissocier la gestion des entres de celle des sorties dans chacun de ses
43
2.3.1
Les systmes de transition dsignent un ensemble des notations permettant de dcrire des comportements dits orients contrle . Il en existe un trs grand nombre, presque tous des extensions
des automates tats nis ou des rseaux de Petri respectivement introduits en 1955 et 1962.
Ces deux notations graphiques et leurs variantes sont encore couramment employes aujourdhui
en interaction homme-machine, soit des ns de spcication formelle, soit pour raisonner sur des
systmes interactifs ou expliquer leur fonctionnement. Sils ne permettent de dcrire que des petites
parties dune interface (et ne constituent pas des modles dinterfaces proprement parler), ils entrent
dans la composition de certaines mthodes formelles plus exhaustives. Nous prsentons ici ces deux
notations et quelques-uns de leurs emplois.
Les automates tats nis
Les automates tats nis ou machines tats nis, dont les principales variantes sont les machines de Moore [M OORE 56] et de Mealy [M EALY 55], ont t employs pour spcier le comportement
dynamique de certains systmes, et sont notamment utiliss pour dcrire certaines parties des interfaces utilisateur.
Les automates tats nis sont reprsents graphiquement par des diagrammes de transition
dtats, graphes orients dont les nuds sont des tats et les arcs des transitions (gure 2.10). Un
44
press
release
drag_start
drag_end
F IG . 2.10 Le cliquer-glisser dcrit par un diagramme de transition dtats [T YSON R. et al. 90].
La gure 2.10 est un diagramme de transition dtats simple et classique qui dcrit la gestion du
cliquer-glisser (drag_start, drag_feedback, drag_end) partir dvnements souris de type press, release et move [T YSON R. et al. 90]. Les transitions sont annotes par les vnements qui les dclenchent
(en gras) et les sorties produites (en italique). Cet automate ltre tous les vnements move ayant lieu
avant le press ou aprs le release.
Les automates tats nis menant rapidement une explosion du nombre dtats et de transitions, de nombreuses extensions ont t proposes. Les machines tats hirarchiques et les statecharts [H AREL 87] dcrivent des automates composables, ce qui facilite la description de systmes
complexes et autorise la rutilisabilit. Les automates tats nis peuvent galement tre employs
comme complments des outils de programmation conventionnels [B LANCH 02] ou en association
avec dautres formalismes pour dcrire des parties plus importantes de linterface. Robert Jacob[JACOB et al. 99]
emploie des automates pour spcier les aspects discrets de linteraction en entre et des ots de donnes pour les aspects continus. Il dcrit galement un diteur visuel VRED qui sera voqu dans la
section 2.7.3 page 88.
Les rseaux de Petri
Les rseaux de Petri [P ETRI 62] sont une gnralisation des automates tats. Ils ont t largement
utiliss pour modliser la concurrence et la synchronisation dans les systmes distribus, et sont employs pour dcrire certains comportements dans les interfaces. Nous prsentons cette notation sans
rentrer dans les dtails.
Un rseau de Petri est un graphe biparti altern qui possde deux types de nuds : les places
(cercles) et les transitions (rectangles). Des arcs (ches) relient les places aux tats (voir gure 2.11
page suivante). Ltat du systme, nomm marquage, est dni par la rpartition de jetons (petits
cercles foncs) dans les places. Une transition est franchissable sous certaines conditions, notamment
lorsque sufsamment de jetons sont prsents dans ses places dentre. Le franchissement dune transition se traduit par une modication du marquage consistant la plupart du temps en un dplacement
de jetons.
Le modle des transducteurs formels [ACCOT et al. 97] emploie des rseaux de Petri de haut-niveau [J ENSEN 95]
pour dcrire les transformations successives des vnements dentre. La gure 2.11 page suivante
45
F IG . 2.11 Un comportement bas-niveau du clavier (rptition de touches) dcrit avec une variante labore
de rseau de Petri [ACCOT et al. 97].
dcrit un niveau de transformation pour le clavier. Dans cette notation, les jetons sont typs et comportent une valeur, les arcs sont annots par des variables (<k> sur la gure) et des vnements extrieurs viennent dclencher des transitions (ellipses grises et ches coudes). Quatre touches sont
reprsentes par quatre jetons en haut de la gure, en attente dans la place Idle. En-dessous se trouve
la transition Post, qui est active par des vnements clavier de type Down avec une touche k en
paramtre. Lorsquun vnement < Down, k > arrive, cette transition est franchie si le jeton k est
prsent dans Idle, auquel cas le mme vnement < Down, k > est gnr et le jeton passe dans la
place KeyPressed. Il retourne la place Idle lors du prochain vnement U p. Une partie de ce rseau
de Petri rpte simplement les vnements Down et U p (avec cependant un ltrage grammatical),
et une autre partie (la partie grise) dcrit un mcanisme de rptition automatique de touches avec
gnration dvnments Repeat. Cette dernire emploie des rseaux de Petri stochastiques gnraliss [M ARSAN et al. 95] pour dcrire des transitions temporises.
Les rseaux de Petri ont t intgrs dans plusieurs mthodes et outils formels utiliss pour dcrire la majeure partie des interfaces utilisateur. Le formalisme ICO (Interactive Cooperative Objects) [PALANQUE & BASTIDE 93, PALANQUE & BASTIDE 97] emploie une approche oriente-objet pour modliser les aspects statiques du systme interactif et des rseaux de Petri de haut-niveau pour en dcrire
les aspects dynamiques. Il est livr avec loutil PetShop [BASTIDE et al. 02, S CHYN et al. 03], qui comporte
un diteur interactif permettant de construire des spcications ICO et de les excuter.
2.3.2
Dans cette section, nous regroupons sous le terme interacteurs formels deux modles formels trs
lis, et qui dcomposent les systmes interactifs en units autonomes appeles interacteurs (objets
dinteraction), qui communiquent entre eux, avec le systme ou avec lutilisateur par le biais de stimuli
(ou vnements).
Les deux principaux modles formels base dinteracteurs ont t dvelopps dans le cadre
du projet Esprit AMODEUS, lun lUniversit dYork (Angleterre), lautre linstitut CNUCE
46
Le schma gnral dun interacteur dYork est reprsent sur la gure 2.12. Un interacteur dYork
consiste en un objet comportant un tat et communiquant avec son environnement par des vnements
de type stimulus ou rponse. Un interacteur possde galement une prsentation, qui rete ltat de
lobjet de faon perceptible par lutilisateur. La relation de rendu spcie les prsentations possibles
pour un tat (et ventuellement un historique) donn de lobjet.
Dans une version rafne de ce modle, llment prsentation est explicit par un nouvel objet
appari lobjet principal, et dont ltat interne reprsente les caractristiques dafchage perceptibles
par lutilisateur.
La gure 2.13 page suivante montre comment un comportement simple de systme interactif
peut tre dcrit par des combinaisons dinteracteurs. Dans cet exemple, des icnes (disques, chiers,
rpertoires) peuvent tre manipules par une souris un bouton reprsent par un curseur. Une icne
peut tre slectionne ou dslectionne en cliquant son emplacement, ce qui a pour effet de changer
son apparence. Enn, les icnes slectionnes peuvent tre dplaces en cliquant sur la commande
dplacer dans un menu, puis en bougeant la souris.
47
F IG . 2.13 Un mcanisme simple de slection et de dplacement dicnes dcrit avec les interacteurs
dYork.
2.3.3
Conclusion
Dans cette section, nous avons donn un bref aperu de deux approches formelles employes pour
dcrire les interfaces utilisateur, savoir les systmes de transition et les interacteurs formels.
Les systmes de transition sont particulirement bien adapts la description des comportements
de type contrle dans les applications interactives. Ils ont t employs pour dcrire le niveau dialogue
de linteraction, le comportement des widgets, ou encore la production dvnements synthtiques. Le
modle des transducteurs formels propose un modle dentre transformationnel, et constitue une tentative intressante de modliser par rtro-conception le comportement trs bas-niveau des dispositifs
physiques. Les systmes de transition ne permettent cependant pas de dcrire des parties importantes
des interfaces, en particulier les ux de donnes et linteraction continue, et cest pourquoi ils sont
frquemment employs en conjonction avec dautres formalismes.
49
2.4.1
Lobjectif des standards graphiques est lindpendance du code vis--vis du matriel. En termes
de sorties, cette indpendance se fait par la dnition dune API graphique gnrique. Pour les entres,
le standard GKS introduit le modle des dispositifs dentre logiques, qui sera repris dans PHIGS et
PHIGS+.
50
2.4.2
La taxinomie de Buxton
Selon William Buxton, les abstractions fournies par les modles logiques sont utiles pour le
programmeur, mais vont lencontre des considrations dutilisabilit [B UXTON 83]. En particulier,
51
elles prsupposent que deux dispositifs peuvent tre totalement interchangeables (voir la section 1.2.1
page 7 ce sujet). Or les aspects physiques des interfaces, identis par Buxton comme le niveau
pragmatique de linteraction, ont des effets extrmement importants sur la perception des systmes
par lutilisateur.
Buxton recommande dinclure les caractristiques pragmatiques des dispositifs dentre dans
les spcications de dispositifs gnriques. Il propose un ensemble de caractristiques pertinentes,
avec lequel il construit une taxinomie des dispositifs dentre. Cette taxinomie est reproduite sur la
gure 2.18 page ci-contre.
Les deux principaux axes de la taxinomie sont les suivants :
Nombre de dimensions : Les dispositifs une dimension comprennent les dispositifs de type potentiomtre rotatif ou linaire. Les dispositifs deux dimensions comprennent lensemble des
dispositifs de pointage et des manettes. Les dispositifs trois dimensions incluent les manettes
3D et trackballs 3D.
Proprit capte : Parmi les dispositifs prcdents, certains captent une position (tous les dispositifs isotoniques), dautres un dplacement (souris, dispositifs lastiques), et dautres enn une
pression (dispositifs isomtriques).
Buxton suggre galement de prendre en compte les aspects continu/discret ainsi que lagent de
contrle (main, pied, voix, . . .), seuls les dispositifs manuels et continus tant reprsents dans sa
taxinomie. Une liste trs complte des caractristiques pragmatiques prendre en compte a t plus
tard fournie par Lipscomb et Pique [L IPSCOMB & P IQUE 93].
52
F IG . 2.19 Construction dune souris laide des trois oprateurs de composition [C ARD et al. 91].
2.4.3
Conclusion
Si les normes GKS et PHIGS sont longtemps restes une rfrence dans le domaine de linformatique graphique, leur modle dentre sest trs rapidement rvl dpass par les interfaces modernes
[M YERS 90]. Le modle des dispositifs logiques est adapt linteraction modale avec les applications
graphiques type CAO de lpoque, mais non la manipulation directe moderne. Les tches dinteraction de Foley sont galement ad-hoc.
Trs tt pourtant, les taxinomies de dispositifs de Buxton et de Card ont mis en vidence le caractre ad-hoc des modles logiques. Ces taxinomies, extrmement intressantes du point de vue
thorique et pdagogique, et abondamment rfrences dans la littrature scientique, ne sont malheureusement pas de bons modles dimplmentation et leurs applications logicielles sont pratiquement
inexistantes.
Les standards GKS et PHIGS, focaliss sur laspect graphique, nont pas volu du point de
vue des entres. Aujourdhui, ils ont t remplacs par des standards industriels de facto comme
OpenGL [C ARSON 97], qui sont ddis laspect graphique et ne traitent pas le problme de linteraction en entre.
54
55
2.5.1
La manipulation directe
La transition entre les interfaces ligne de commande du type UNIX et les interfaces graphiques
actuelles a t initie ds les annes 60 avec des applications de dmonstration comme Sketchpad
et Pygmalion, pour nalement se concrtiser vers les annes 80 avec le systme Xerox Star qui intgre toutes les caractristiques de nos interfaces actuelles [M YERS 98 A]. Peu aprs, Ben Shneiderman [S HNEIDERMAN 83] invente le terme de manipulation directe et formule le modle dinteraction
que nous dcrivons ici.
La manipulation directe [S HNEIDERMAN 83, S HNEIDERMAN 98] dcrit des systmes interactifs ayant
les caractristiques suivantes :
1. La visibilit des objets dintrt et des actions possibles,
2. Des actions rapides, rversibles, incrmentales,
3. Le remplacement de la syntaxe complexe des langages de commande par la manipulation directe
de lobjet dintrt.
La manipulation directe repose sur une mtaphore du monde rel, dans lequel nous manipulons
directement les objets. Shneiderman dcrit quelques exemples dinterfaces exploitant la manipulation
directe, dont les traitements de texte WYSIWYG du type Microsoft Word, les tableurs graphiques,
les jeux vido, les logiciels de CAO [S HNEIDERMAN 98]. Les avantages de ce paradigme sont nombreux : apprentissage rapide et productivit accrue, messages derreurs moins ncessaires, rduction
de lanxit due un systme comprhensible et des actions rversibles.
Hutchins et al. [H UTCHINS et al. 86] clarient le concept de manipulation directe du point de vue
cognitif, et voquent un sentiment dengagement dans un monde dobjets plutt que limpression
de communiquer par un intermdiaire . Ils dnissent une notion de directitude mesure par
le foss dexcution et le foss dvaluation. Le premier rfre la distance entre ce que lide que
lutilisateur se fait de la tche et la faon dont elle est reprsente par le systme. Le second voque
la distance entre le comportement du systme et les objectifs de lutilisateur. Lobjectif principal de la
manipulation directe est de combler ces fosss.
Nos interfaces actuelles sinspirent des principes de la manipulation directe. Elles reposent cependant sur un paradigme qui nest quune version appauvrie de la manipulation directe (voir la section 1.1.1 page 3). Les widgets qui composent les interfaces WIMP, en particulier, sont des objets directement manipulables mais qui ne servent que dintermdiaires aux rels objets dintrt (gure 2.21
page ci-contre).
56
F IG . 2.21 gauche : rglage de lheure dans Windows XP avec des techniques WIMP. droite : manipulation directe de lheure dans SpiraClock [D RAGICEVIC & H UOT 02].
2.5.2
Linteraction instrumentale
Le paradigme dinteraction instrumentale [B EAUDOUIN -L AFON 97, B EAUDOUIN -L AFON 00] sinspire de
notre exprience interactive avec le monde physique, qui est gouverne par lutilisation doutils. Des
outils comme un pinceau ou une perceuse, ou mme un interrupteur, sont des objets intermdiaires
(instruments) que nous utilisons pour agir sur dautres objets (objets dintrt).
Dans cette section, nous prsentons le modle de linteraction instrumentale tel quil a t dcrit
par [B EAUDOUIN -L AFON 97].
Instruments dinteraction
Les donnes manipules par une application peuvent tre reprsentes par des entits appeles
objets du domaine, eux-mmes dcrits par un ensemble dattributs : ainsi, une sphre dans un modeleur 3D est dnie par des attributs simples comme sa position et sa taille, et dautres plus complexes
comme sa couleur et sa texture.
Linteraction avec une application a pour nalit la manipulation des objets du domaine. Cette
manipulation peut prendre deux formes : soit lutilisateur agit sur les attributs de ces objets, soit il
manipule ces objets comme un tout, par exemple en les copiant ou en les effaant.
Les manipulations seffectuent par lintermdiaire dinstruments dinteraction, qui sont les mdiateurs entre lutilisateur et les objets du domaine. Une barre de dlement est un exemple dinstrument
qui opre sur un document (lobjet du domaine) en modiant sa partie visible (un attribut).
Les instruments sparent linteraction en deux couches, une du ct utilisateur, et une du ct
application (gure 2.22 page suivante). Les communications du ct utilisateur consistent en actions
physiques de lutilisateur et ractions de linstrument. Les messages du ct application consistent
en commandes envoyes lobjet et rponses de celui-ci, que linstrument peut transformer en retour
vers lutilisateur.
Le comportement typique dun instrument est le suivant :
Lutilisateur agit sur linstrument, qui traduit ses actions en commandes qui altrent les objets
du domaine. Exemple : lutilisateur clique sur un des boutons chs de la barre de dlement,
ce qui a pour effet denvoyer une commande de dlement au document (cette commande est
57
action
commande
rponse
raction
retour
Utilisateur
Instrument
physique logique
Objet du
Domaine
La rication
La rication est le processus qui consiste transformer un concept en objet. Lutilisation de
mta-instruments est un exemple de rication dinstruments. Les styles, qui sont des attributs partags entre plusieurs objets, peuvent galement faire lobjet dune rication et tre manipuls par des
instruments. En multipliant le nombre et la nature des objets manipulables dans une application, la
rication ouvre la voie de nouvelles possibilits dinteraction, tout en conservant un style uniforme
et cohrent calqu sur la manipulation instrumentale.
an de permettre de le redimensionner.
59
2.5.3
Conclusion
Le modle de la manipulation directe marque une transition importante entre les interfaces archaques lignes de commande et les interfaces graphiques actuelles, o les objets sont reprsents
lcran et manipuls avec une souris. Ce modle est cependant trop abstrait pour garantir des interfaces o les fosss dexcution et dvaluation ont t rduits leur strict minimum. La preuve en est
de nos interfaces actuelles, o les objets dintrt sont presque toujours manipuls de faon indirecte.
Le modle de linteraction instrumentale afne le modle de la manipulation directe en intgrant
les paradigmes Post-WIMP qui ont t rgulirement proposs pour corriger les faiblesses de nos interfaces modernes. Aussi, la mtaphore prcdente qui dcrit la manipulation dobjets de notre vie
quotidienne a t tendue lutilisation doutils (instruments) comme objets mdiateurs. Tout en
proposant lexploration de nouveaux paradigmes comme les mta-instruments (des instruments qui
agissent sur dautres instruments), ce modle guide la conception dinterfaces rellement directes.
Ainsi, les trois proprits essentielles que sont le degr dindirection, le degr dintgration et le degr de compatibilit expliquent notamment pourquoi les widgets sont des instruments peu efcaces et
montrent lintrt de multiplier les dispositifs physiques et de prserver au maximum les compatibilits entre le dispositif et la tche.
2.6.1
Lobjectif des botes outils WIMP avances est de fournir de bons modles et de bons outils permettant dune part de faciliter la construction dinterfaces WIMP ou manipulation directe conventionnelles, dautre part de favoriser la description de techniques plus spciques ou moins conventionnelles. Comme preuve dextensibilit, ces botes outils prennent en charge un ensemble minimal
de techniques dinteraction non-standard.
Les deux contributions les plus importantes dans ce domaine sont les botes outils Surbactic [H UDSON & S MITH 96 A] et Garnet/Amulet [M YERS 90, M YERS et al. 97]. Nous les prsentons ici, et dtaillons les mcanismes quelles emploient pour la gestion des entres. Nous analysons ensuite leurs
apports respectifs, ainsi que leurs limites.
Subarctic Toolkit
Subarctic Toolkit [H UDSON & S MITH 96 A] est une bote outils Java qui prend en charge des effets
visuels avancs et les animations [H UDSON & S TASKO 93], et possde un moteur de contraintes3 pour
la gestion de lorganisation spatiale des widgets [H UDSON & S MITH 96 B]. Le modle dentre de cette
bote outils a t introduit dans Artkit [T YSON R. et al. 90], le prdcesseur de Subarctic dvelopp en
C++ . Lobjectif principal de ce modle est de dcrire les mcanismes daiguillage employs par les
botes outils traditionnelles de faon claire et extensible, pour pouvoir y intgrer ensuite de nouveaux
mcanismes. En plus des interactions habituelles, Subarctic prend en charge trois paradigmes dinteraction non conventionnels, savoir linteraction gestuelle [T YSON R. et al. 90], les champs de gravit4
[T YSON R. et al. 90, H UDSON 90], et les lentilles smantiques5 [H UDSON et al. 97].
2 Dans le modle de dessin structur, les appels des routines graphiques sont remplacs par la manipulation dune liste
dafchage dont le rendu est pris en charge par le systme.
3 Les paradigmes de programmation par contraintes et de ot de donnes, auxquels nous ferons parfois rfrence dans
cette partie, seront dcrits plus en dtail dans la partie sur les langages visuels (section 2.7.1 page 79)
4 galement appele snap-dragging, il sagit dune technique de cliquer-glisser dans laquelle lobjet manipul est attir
vers des positions-cls [B IER & S TONE 86]. Elle permet la fois de faciliter la manipulation et de prvenir les erreurs.
5 Les lentilles smantiques sont des formes ottantes qui se comportent comme des ltres, qui effectuent des transformations graphiques sophistiques (loupe, par exemple) ou exposent des reprsentations graphiques alternatives. Les ltres de
61
F IG . 2.23 La gestion des entres dans Subarctic [H UDSON & S MITH 96 A].
Les Politiques dAiguillage (Dispatch Policies) : Les politiques daiguillage dcrivent les principales stratgies de distribution des vnements. Ces objets sont disposs horizontalement en
haut de la gure 2.23, et nous les numrons de droite gauche :
lAiguillage Positionnel (Positional) consiste envoyer les vnements positionnels aux
widgets qui se trouvent sous le pointeur, dans lordre inverse de leur afchage.
lAiguillage par Focus (Focus) consiste transmettre certains vnements un widget donn,
indpendamment de la position du pointeur. Les vnements en provenance du clavier sont
envoys au widget qui dtient le focus clavier. Les vnements de type drag sont transmis au
widget sur lequel a t initi le cliquer-glisser.
lAiguillage de Contrle (Monitor Focus) consiste envoyer les vnements bruts aux objets
intresss, des ns de dbogage, par exemple.
Ces trois politiques sont listes sur la gure dans leur ordre de priorit dcroissante. Chaque
vnement passe dune politique lautre jusqu ce quil trouve un destinataire intress, qui
consomme alors lvnement. Dans laiguillage de contrle cependant, les destinataires interprtent mais ne consomment pas les vnements.
Les Agents dAiguillage (Dispatch Agents) : Chaque politique daiguillage est constitue dun ensemble dagents daiguillage agencs verticalement sur la gure. Un agent daiguillage implmente un aspect donn de la stratgie daiguillage, et se charge de convertir les vnements
bas-niveau en vnements plus haut-niveau avant de tenter de les transmettre aux widgets. Lensemble des vnements synthtiques quun agent est susceptible de produire constitue un protocole dentre, et les widgets intresss par ces vnements implmentent ce protocole dentre
(caractris par une interface dans le paradigme de la programmation par objets). Voici quelques
exemples dagents :
Press : Cet agent ltre simplement les vnements souris de type press et release, quil
transmet aux widgets intresss qui se trouvent sous le pointeur.
dbogage [H UDSON et al. 97], qui afchent des informations sur les widgets, en sont un exemple. Nous ninsisterons pas sur
ce paradigme, qui constitue davantage une technique de visualisation que dinteraction.
62
Les mcanismes daiguillage vnementiel et les modes sont essentiellement grs travers le
paramtre Active, qui associ une formule permet lactivation ou la dsactivation conditionnelle
dun interacteur, et travers le paramtre Priority, qui permet de dnir des niveaux de priorit
lorsque plusieurs interacteurs sont candidats au mme vnement.
Tous les interacteurs sont crits autour du mme automate tats, reproduit sur la gure 2.24
page suivante. Cet automate suppose que toute interaction peut tre dmarre, arrte, termine ou
suspendue. Implmenter un nouvel interacteur revient associer une action chaque transition dans
cet automate tats.
De Lapidary Gamut
Une myriade doutils visuels de construction dinterface ont t dvelopps comme complments
Garnet et Amulet, et la plupart dentre eux offrent une interface graphique aux interacteurs. Dans
Lapidary [M YERS 90, Z ANDEN & M YERS 95], loutil de construction dinterfaces livr avec Garnet, les
interacteurs peuvent tre paramtrs travers des botes de dialogue. Le modle contraintes de
Garnet permet ainsi dassocier la programmation textuelle dclarative la programmation visuelle.
Une partie des comportements, notamment certains types de feedback, peut tre directement dcrite graphiquement dans Lapidary. Par exemple, un feedback de type case cocher sera dessine et
lie par des contraintes un lment de menu prsent lcran, et ces contraintes sont gnralises automatiquement toute cible potentielle de linteraction. Ce type de technique combinant manipulation
graphique et infrence est connue sous le nom de programmation par dmonstration [M YERS 92].
Les techniques de programmation par dmonstration employes dans Lapidary seront reprises et
tendues par la suite, dans Tourmaline [W ERTH & M YERS 93], Marquise [M YERS et al. 93], Pursuit [M ODUGNO 93],
6 Les
formules peuvent galement effectuer des actions par des effets de bord, bien quAmulet fournisse galement des
abstractions permettant dencapsuler des commandes dans des objets.
65
F IG . 2.24 La machine tats dcrivant le comportement gnrique dun interacteur Garnet. Chaque transition
est dclenche par un vnement, qui peut tre dans certains cas spci par paramtrage, et dclenche une
action, qui peut tre dcrite par programmation.
Silk [L ANDAY & M YERS 95], Topaz [M YERS 98 B], Turquoise, et enn Gamut [M C DANIEL & M YERS 98]. Lobjectif de ce dernier est de construire des jeux interactifs complets uniquement par dmonstration,
cest--dire en donnant des exemples des comportements dsirs. Gamut se distingue des autres outils par un moteur dinfrence extrmement sophistiqu, qui repose sur des techniques dintelligence
articielle. Ces techniques sont toutefois trs dpendantes du domaine.
2.6.2
Contrairement aux botes outils WIMP avances, les botes outils Post-WIMP sont conues
ds le dpart pour dcrire des paradigmes dinteraction non-conventionnels. Bien que certaines dentre
elles soient extensibles, elles reposent en gnral sur un paradigme ou un modle dinteraction spcique.
Lapproche de Multimodal Subarctic [M ANKOFF et al. 00], tout en tant relativement gnrale, intgre dans le mcanisme vnementiel la notion dambigut, qui est propre des modalits parti7 Le
rollover consiste produire un effet graphique lorsque le pointeur entre dans le widget. Lajustement, utilis dans
certaines barres de dlement, est un tat o le modle nest pas mis jour pendant linteraction.
67
F IG . 2.25 Une stratgie de mdiation de type n-best list applique une application de dicte vocale et une
application de prototypage gestuel dinterfaces [M ANKOFF et al. 00].
Avec des modalits telles que la parole ou le geste, des ambiguts peuvent survenir lors de la
conversion dun vnement bas-niveau en un vnement plus haut-niveau. Par exemple, une trace
pourra tre interprtable comme un cercle ou comme un rectangle, avec des indices de conance
comparables. Dans les applications existantes, lambigut est la plupart du temps rsolue automatiquement en optant pour la probabilit la plus forte. Les techniques les plus efcaces consistent cependant faire intervenir lutilisateur, par exemple en lui proposant une liste de choix (gure 2.25), ou en
lui demandant de rpter. Ce sont ces techniques, appeles mdiations, que Multimodal Subarctic se
propose de prendre en charge.
Dans la situation dambigut dcrite prcdemment, lvnement cercle et lvnement rectangle
sont tous deux gnrs par Multimodal Subarctic, puis propags et interprts comme nimporte quel
vnement. Les vnements ambigus tant provisoires, la rversibilit est assure travers un modle
vnements hirarchiques [M YERS & KOSBIE 96], o un graphe orient relie vnements-source et vnements interprts. La rsolution dune ambigut (qui se fait plus tard, voir plus bas) consistera
accepter certains vnements et en rejeter dautres. Lacceptation dun vnement impliquera lacceptation de ses vnements-source, ainsi que le rejet des vnements avec lesquels il est en conit.
Le rejet dun vnement conduira quant--lui au rejet de toutes ses interprtations.
68
F IG . 2.26 vnements hirarchiques rsultant de deux gestes la souris [M ANKOFF et al. 00].
La gure 2.26 reproduit une situation de prototypage gestuel dinterfaces, o une forme mirectangle mi-cercle est trace par lutilisateur, suivie dun geste de type texte (en haut de la gure).
Cette interaction peut signier soit lajout dune case cocher, soit lajout dun bouton radio. Les
vnements hirarchiques crs sont reprsents par un graphe dont les nuds sont des vnements
de bas niveau (ellipses contour noir), des vnements synthtiques non ambigus (ellipses grises)
ou des vnements synthtiques ambigus (ellipses contour discontinu). Ici, lacceptation de lvnement Checkbox induirait lacceptation de lvnement Rect, puis le rejet de lvnement contradictoire
Circle, impliquant son tour le rejet de lvnement Radiobutton.
Cest le systme de mdiation qui se charge initialement daccepter ou rejeter des vnements.
Il reoit les vnements ambigus aprs leur propagation, et les transmet successivement ses mdiateurs, des objets qui savent rsoudre un type particulier dambigut. Un mdiateur intress peut
choisir de rsoudre immdiatement lambigut (en gnral en interagissant avec lutilisateur), ou bloquer cette ambigut pour la rsoudre plus tard. Le systme de mdiation emploie de prfrence des
stratgies paresseuses, o la mdiation est la fois repousse dans les couches dabstraction suprieures et diffre dans le temps, dans le but de :
Donner lambigut loccasion de se rsoudre toute seule : cest le cas par exemple lorsquun
seul vnement ambigu est nalement consomm, les autres ntant pas interprtables par les
widgets.
Ne pas dmarrer la mdiation trop tt : par exemple, ne pas afcher un menu avant que le geste
ne soit termin. Ce dernier comportement est implment par le mdiateur StrokePauser qui
bloque les vnements jusqu rception dun vnement Release.
Privilgier les mdiations de haut-niveau : par exemple, Est-ce une case cocher ou un bouton radio ? est prfrable Est-ce un cercle ou un rectangle ? . De mme, il est souhaitable
de fournir des techniques de mdiation ddies la tche.
Produire un feedback complet sur linterprtation des diffrentes alternatives. Chaque widget
peut ainsi effectuer un retour utilisateur an de montrer ce qui se produirait si lvnement tait
accept. Cela suppose des widgets spcialiss qui sachent traiter des vnements provisoires,
pour ensuite les accepter ou les rejeter.
Enn, donner lutilisateur la possibilit de diffrer son choix. Par exemple, une trace brute
69
Linteraction gestuelle
Le geste, cas particulier dentre ambigu, est une modalit dominante dans les applications dites
gestuelles et dans les systmes stylet. Si Multimodal Subarctic ainsi que Subarctic et Amulet proposent un ensemble minimal de techniques dinteraction gestuelle, certains outils plus conventionnels mais spcialiss offrent une prise en charge plus complte des diverses techniques gestuelles
existantes. Cest le cas du systme dexploitation PenPoint [C ARR 91] et des botes outils Flatland [M YNATT et al. 99] et Satin [H ONG & L ANDAY 00]. Nous prsentons ici Satin, dont larchitecture en
entre est assez reprsentative tout en tant lune des plus abouties aujourdhui.
Satin [H ONG & L ANDAY 00] est une librairie Java qui couvre la plupart des techniques gestuelles
existantes (voir gure 2.27 page ci-contre) et les intgre en partie Swing. Satin emploie son propre
modle graphique (avec prise en charge du dessin structur, des couches, des vues multiples et des
effets de zoom) et dnit une architecture dinteraction gestuelle par-dessus les vnements souris
standard.
Les vnements souris sont convertis en traces qui sont propages dans la hirarchie graphique
de Satin comme des vnements positionnels ( ceci prs quune trace est uniquement transmise
aux objets qui la contiennent entirement) et traites au sein de chaque objet par plusieurs types
dinterprteurs. Les interprteurs gestuels comportent un moteur de reconnaissance qui partir dune
trace produisent une liste de commandes reconnues, ordonne par probabilit dcroissante. Les interprteurs dencre comportent des algorithmes de traitement permettant de couper, joindre, simplier
des traces ou les transformer en segments.
Satin distingue galement les interprteurs discrets des interprteurs progressifs qui peuvent effectuer des actions durant un geste, et introduit la notion de multi-interprteurs, des interprteurs
composites munis dune stratgie de choix. Cette dernire consiste en gnral transmettre une trace
aux interprteurs-ls jusqu ce quelle soit consomme, mais peut galement grer des modes : le
multi-interprteur zoom smantique, par exemple, active ou dsactive des interprteurs en fonction du
niveau de zoom actuel.
Enn, Satin ajoute Swing un widget gestuel de type Marking Menu, et modie dans son Pen
Look & Feel certains widgets Swing dans le but de faciliter la manipulation au stylet (suppression
du double-clic et largissement de certains lments).
Linteraction multi-pointeurs
Un petit nombre de prototypes botes outils ont t proposes dans le but de dcrire des techniques de travail collaboratif o plusieurs utilisateurs interagissent avec la mme application sur le
mme poste de travail, ou pour dcrire des techniques dinteraction bimanuelle. Il sagit principalement de MMM [B IER & F REEMAN 91], Bimanual Whizz [C HATTY 94], et MID [H OURCADE & B EDERSON 99].
Ces trois outils ont en commun la prise en charge de dispositifs de pointage multiples.
MMM (Multi-Device Multi-User Multi-Editor). MMM [B IER & F REEMAN 91] est un prototype
dapplication interactive pouvant tre contrle la souris par plusieurs utilisateurs. Cette application
70
F IG . 2.27 Denim, une application de prototypage de sites web base sur les paradigmes dinteraction gestuelle et dinterface zoomable, dveloppe avec la bote outils Satin [H ONG & L ANDAY 00].
consiste principalement en des menus et des hirarchies dditeurs, qui sont des zones rectangulaires
contenant des objets gomtriques manipulables, des zones de textes ou encore dautres diteurs. Bien
quil ne sagisse pas proprement parler dune bote outils, MMM a t dvelopp dans le but de
valider la fois un modle dinteraction et une architecture logicielle adapts linteraction multiutilisateurs.
Le modle dinteraction de MMM distingue tout dabord utilisateurs et dispositifs : aprs stre
saisi dune souris, chaque utilisateur senregistre en cliquant sur sa zone personnelle, un petit rectangle
portant son nom (voir gure 2.28 page suivante). En outre, les modes dinteraction sont dupliqus
pour chaque utilisateur : chaque utilisateur possde sa propre slection (qui reprsente aussi le focus
clavier et le focus commande pour les menus), ses attributs par dfaut (police de texte, couleur),
une position de caret (curseur textuel), et bien videmment une position de pointeur. Chacun de ces
modes comporte un feedback ; certains comme les attributs par dfaut sont visualiss dans la zone
personnelle de lutilisateur (gure 2.28 page suivante), dautres comme les pointeurs et les slections
sont afchs dans la couleur personnelle de lutilisateur pour pouvoir tre distingus. Ces derniers
sont superposables graphiquement, y compris les slections graphiques et textuelles. Les menus sont
des objets partags qui peuvent nanmoins tre dupliqus par les utilisateurs pour tre placs dans
leur zone de travail. Enn, MMM autorise linteraction concurrente avec une granularit assez ne.
Par exemple, un utilisateur peut dplacer un diteur pendant que lautre modie lun de ses objets.
Pour prendre en charge ces techniques, MMM repose sur un modle de gestion des entres spcique. Les vnements souris traditionnels ont t repris et tendus avec un champ identiant le
dispositif, un champ identiant lutilisateur, et un champ contenant ltat des autres dispositifs. Ces
vnements sont gnrs puis transmis travers la hirarchie des diteurs jusqu tre consomms,
selon le mcanisme daiguillage classique. La diffrence est que chaque diteur possde sa propre
71
F IG . 2.28 La zone personnelle dun utilisateur dans MMM, travers laquelle il peut senregistrer et y visualiser une partie de ses modes dinteraction. gauche, un rectangle illustre la couleur de remplissage par dfaut.
droite, la zone personnelle indique la police courante. [B IER & F REEMAN 91]
le dvnements quil interprte dans son propre l dexcution. cette concurrence sajoutent des
mcanismes de synchronisation qui permettent dviter les modications incohrentes. Dabord, la
conversion en coordonnes locales dun vnement positionnel lors de sa transmission un diteur
nest pas effectue tant que la position de cet diteur risque dtre en cours de modication, cest-dire tant que le processus de son parent est actif (les vnements clavier par contre, sont transmis sans
attendre). Ensuite, lvnement est interprt en deux temps par lditeur : lorsquune modication de
la slection ou du focus positionnel est ncessaire, lditeur envoie une requte de mise jour un
processus extrieur avant de replacer lvnement dans sa le pour une seconde phase de traitement.
Enn, le rafchage est galement effectu de manire asynchrone, selon un mcanisme analogue
celui de Java Swing [E CKSTEIN & L OY 02].
Bimanual Whizz. Bimanual Whizz [C HATTY 94] est le nom que nous donnons lextension bimanuelle de Whizz [E STEBAN 97]. Whizz est une bote outils qui dcrit linteraction par un modle ot de
donnes, et est dote dun outil de programmation visuelle (voir la section 2.7.2 page 83 sur lditeur
graphique WhizzEd). Whizz repose essentiellement la bote outils XTV [B EAUDOUIN -L AFON et al. 90],
crite pour le dveloppement dapplications manipulations directe avec X. XTV constitue une bonne
infrastructure pour la gestion de dispositifs multiples car ses vnements possdent la notion de
dispositifs-source.
Bimanual Whizz implmente un modle dinteraction bimanuelle qui distingue trois paradigmes
[C HATTY 94] : linteraction indpendante (les deux mains sont employes en srie, par exemple pour s-
lectionner un outil avant de lutiliser), linteraction parallle (les deux mains effectuent simultanment
des tches distinctes) et linteraction combine (les deux mains collaborent sur la mme tche). Son
modle dinteraction prend galement en compte laspect asymtrique de linteraction bimanuelle, en
remplaant pour la main non-dominante le point actif du pointeur par une zone circulaire.
Bimanual Whizz modie peu le modle vnements standard de XTV , dabord pour prserver
la compatibilit avec le modle original, et ensuite parce que ce modle possde dj une notion de
dispositifs qui permet de distinguer des vnements souris de sources diffrentes. Ds lors, il est possible de rsoudre certains problmes de concurrence, et de dcrire par exemple des boutons sensibles
nimporte quel vnement Press mais ltrant ensuite tout vnement autre que le Release du dispositif lorigine du Press. Les interactions parallles continues de type cliquer-glisser posent dautres
problmes de concurrence qui sont rsolus dans Bimanual Whizz en instanciant chaque interaction
72
F IG . 2.29 Utilisation de ltres dans Bimanual Whizz pour dcrire des techniques dinteraction bimanuelle
combine. Sur le schma de gauche, le pointeur droit est utilis pour dplacer un segment ; lorsque le pointeur
gauche clique sur une extrmit de ce segment, le ot est redirig par le ltre Switch et le segment est dform. Le schma de droite dcrit une technique de fusion temporelle, o un ltre spcialis ferme lapplication
lorsquil reoit deux vnements dans un intervalle de temps spci. [C HATTY 94]
Pour les interactions combines, Bimanual Whizz distingue deux types de fusion. Dans une combinaison de type mode+vnement, le premier dispositif spcie un mode dinteraction pour le second :
par exemple, la manipulation de lextrmit dun segment est interprte comme une translation sauf
si lautre extrmit est maintenue par un autre pointeur. Le modle de Whizz permet dintroduire aisment ce type de mode par lajout dun module dans le ot de donnes (voir gure 2.29, image de
gauche). Dans une combinaison de type vnement+vnement, deux vnements simultans sont interprts en un vnement de plus haut niveau : par exemple, cliquer simultanment sur deux boutons
peut fermer lapplication. Ce type de fusion temporelle ncessite simplement dans Whizz la dnition dvnements synthtiques supplmentaires et lajout dun ltre dans le ot de donnes (voir
gure 2.29, image de droite).
MID (Multiple Input Devices). MID [H OURCADE & B EDERSON 99] est une librairie qui tend le modle AWT de Java pour grer des dispositifs de pointage multiples. Elle ne dnit pas de nouveaux
types dvnements, mais tend la dnition dun vnement souris en y introduisant la notion de
dispositif-source, selon une approche trs similaire Bimanual Whizz. Les applications Java existantes ncessitent peu de modications pour tre rendues compatibles avec MID, et seules les oprations consistant, pour les widgets, senregistrer comme observateurs dvnements souris ncessitent
dtre traduites. Lapplication peut ensuite tre modie an dexploiter les identiants de dispositifs.
MID a servi implmenter une application de dessin multi-utilisateurs nomme KidPad.
MID introduit dans lAWT la notion de dispositifs de pointages multiples dune manire relativement sduisante, sans modier les principes fondamentaux de cette bote outils. Cependant,
lapproche de MID est essentiellement pragmatique et de bas-niveau. En particulier, il naborde pas
les problmes de la gestion concurrente des vnements positionnels que nous avons prcdemment
voqus.
73
F IG . 2.30 Les outils ottants ajoutent la notion de hirarchie celle de couche graphique : les trois outils
reprsents ici sont au mme niveau dans la hirarchie des widgets, bien quils soient superposs et afchs
dans un ordre dtermin (de droite gauche dans larbre) [B IER et al. 93].
74
Go-Go est une technique de slection 3D o le bras virtuel est tendu jusqu atteindre lobjet [P OUPYREV et al. 96].
75
De nouvelles botes outils continuent tre proposes pour prendre en charge, du moins en
partie, de nouveaux paradigmes dinteraction encore en cours dexploration. Nous dcrivons brivement le Context Toolkit utilis pour construire des applications sensibles au contexte et les Phidgets,
employs pour construire des interfaces tangibles.
Context Toolkit. Les applications sensibles au contexte (voir section 1.3.5 page 24) sont difciles
construire, tant donn leur nature distribue et lemploi de dispositifs non-standard (capteurs) de
nature trs htrogne. Le Context Toolkit [S ALBER et al. 99] propose une architecture base sur la notion
de widgets de contexte, qui communiquent entre eux par TCP/IP et XML.
Les widgets de contexte maintiennent un tat en fonction de donnes en provenance de gnrateurs, qui sont des abstractions des senseurs physiques. Ils se chargent galement de notier lapplication de tout changement dans cet tat. Par exemple, le widget Prsence notie de lidentit de
chaque arrivant et son heure darrive dans un lieu donn partir de systmes badge ou danalyse
biomtrique, et le widget Activit informe de tout changement dans le niveau dactivit en fonction de
donnes en provenance de microphones ou de camras vido.
Les widgets de contexte sont composables : par exemple, un widget Runion peut dtecter le
dbut ou la n dune runion en fonction du nombre de personnes dans la salle et du niveau dactivit. Les Serveurs sont des conteneurs plus importants de widgets, qui peuvent par exemple notier
lapplication de chaque dbut et n de runion dans lensemble dun immeuble.
Les Phidgets. Dans les interfaces tangibles (voir section 1.3.5 page 23), une mme mtaphore
peut tre mise en uvre par des techniques trs diverses. Les interfaces bases sur la capture vido
ncessitent avant tout des librairies qui prennent en charge lacquisition, lanalyse et linterprtation
dimages en provenance de camras ou web-cams. Dautres interfaces font usage de dispositifs spcialiss comme les capteurs 3D, dautres encore reposent sur des dispositifs maison . Si les dispositifs
exotiques du commerce sont souvent ardus programmer, il est encore plus difcile de construire
soi-mme des dispositifs mme simples.
Lobjectif des Phidgets [G REENBERG & F ITCHETT 01] est de fournir des composants physiques agenables prts lemploi et aisment accessibles travers une API unie. La partie physique des phidgets communique travers le protocole USB, et la partie logicielle repose sur les standards COM et
ActiveX de Microsoft. Le composant logiciel principal, le gestionnaire de phidgets, notie lapplication des connexions et dconnexions de phidgets et instancie un objet daccs chaque connexion.
Ce dernier comporte une interface gnrique permettant notamment didentier le dispositif de faon
unique, et une interface spcique permettant de lire et/ou modier son tat, et tre noti de ses
changements.
Un phidget peut galement tre reli et synchronis un widget : Par exemple, un slider peut tre
utilis pour contrler un potentiomtre motoris, visualiser sa position, ou simuler son comportement
lorsquil est absent. La librairie WidgetTap [G REENBERG & B OYLE 02] offre maintenant des outils dinspection permettant dattacher des phidgets des widgets dapplications Windows conventionnelles
(voir galement la section 1.3.5 page 23 ce sujet).
76
Discussion sur les apports et les limites des botes outils spcialises
Malgr leur spcialisation, les botes outils Post-WIMP contribuent de faon importante la
comprhension de linteraction en entre. Lapport de Multimodal Subarctic, par exemple, est davoir
rationalis les techniques de mdiation qui taient dj employes par certaines applications mais mal
comprises. Cette bote outils introduit une architecture claire et propose des outils efcaces pour
la gestion des entres ambigus, et est par consquent bien adapte au paradigme de linteraction
multimodale. Un autre apport de ce modle est davoir explicit un aspect notre avis important
de linteraction en entre, savoir lexistence de niveaux dabstraction dnis par des chanes de
traitements successifs. Cette notion napparaissait que de faon implicite dans Subarctic o chaque
agent recevait les mmes vnements bas-niveau. Ces chanes de traitement deviennent rellement
explicites dans le modle ot de donnes de la bote outils Whizz et son extension linteraction
bimanuelle. Larchitecture de CPN2000 offre quant--elle une base solide aux techniques de type
instrumental et dcrit une implmentation efcace du modle MVC.
Les botes outils spcialises sont plus ouvertes aux entres que les botes outils WIMP, mais
chacune dentre elles comporte ses limites. Bien que Multimodal Subarctic ait ajout des modalits
(parole, geste et contexte) Subarctic, sa prise en charge des dispositifs non-standard reste limite,
et le clavier et la souris continuent y jouer un rle prpondrant. Comme dans Satin, linteraction
gestuelle repose exclusivement sur les vnements souris conventionnels. Les botes outils multipointeurs et de semi-transparence exploitent efcacement des entres positionnelles multiples, mais
de faon ad-hoc et avec des dispositifs de type spcique : MMM dcrit des techniques adaptes
linteraction multi-utilisateurs avec la souris et sa version bimanuelle gre un trackball et une souris
de manire cble. Bimanual Whizz ne reconnat que les souris, bien quil les gre de faon trs
extensible.
Les botes outils 3D sont celles qui savent le mieux exploiter les entres enrichies. Leurs modles
canaux permettent dobtenir, avec peu dabstractions, une certaine indpendance par rapport aux
77
2.6.3
Conclusion
Alors que chaque bote outils tente de proposer un modle graphique le plus gnrique possible,
chacune dentre elles emploie un modle dentre ad-hoc, qui convient ce que lon veut faire .
Certaines botes outils tentent certes de proposer des mcanismes gnraux, mais sans rellement y
parvenir. Ainsi, si les techniques gestuelles simples se dcrivent bien dans les botes outils WIMP
avances, la plupart des autres paradigmes ncessitent des changements incrmentaux importants. Le
fait que nombreuses de ces extensions fassent lobjet de publications compltes est assez rvlateur.
Cette grande htrognit dans les botes outils est naturelle. Tout dabord, les paradigmes
Post-WIMP sont trs varis et leur unication pose un problme vident de complexit. Mme si
des applications comme CPN2000 parviennent composer des techniques multiples, certaines publications font tat de la complexit de combiner deux paradigmes comme linteraction gestuelle et
cooprative [H ONG & L ANDAY 00]. En outre, un dveloppeur doutils se xe en gnral pour objectif
soit de prendre en charge les techniques propres un paradigme dinteraction dans lequel il est expert
(interfaces conventionnelles pour Garnet, interfaces gestuelles pour Satin), soit de prendre en charge
un nouveau modle dinteraction des ns de dmonstration (MMM remani).
Les botes outils Post-WIMP nen permettent pas moins de construire des applications bien
plus contrlables dans le sens o elle prennent en charge des techniques dinteraction avances. Cette
contrlabilit est nanmoins limite par le fait que ces techniques sappuient soit sur des dispositifs conventionnels (botes outils gestuelles), soit sur un ensemble xe de dispositifs quelles exploitent de faon efcace mais rigide (botes outils multi-pointeurs). La version tendue de MMM,
78
2.7.1
Les diteurs graphiques de comportements emploient des objets graphiques interconnects assimilables des graphes. La smantique de ces graphes diffre selon lapproche de programmation
visuelle utilise :
Flot de donnes. Dans lapproche ot de donnes, les sommets reprsentent des oprations atomiques et les arcs reprsentent des transferts de donnes entre ces oprations. Les sommets
produisent de faon rptitive des valeurs en sortie en fonction des valeurs reues en entre.
79
2.7.2
Les diteurs de simulations interactives emploient des langages visuels o certaines primitives
graphiques sont manipulables lexcution, ce qui permet de dcrire simultanment la prsentation
et le comportement dinterfaces graphiques. Ils peuvent tre employs pour dcrire le comportement
de widgets mais galement la faon dont ils sont contrls par des vnements de bas-niveau.
La plupart de ces diteurs emploient des paradigmes de programmation par contraintes, dautres
ont une approche ot de donnes, dautres encore ont une approche mixte. Dans cette section, nous
dcrivons ces trois types dditeurs.
Une fentre de ThingLab est reprsente sur la gure 2.31. La partie suprieure de la fentre
contient lexplorateur dobjets. Les classes de ThingLab sont listes dans le premier panneau,
gauche. Le second panneau permet dafcher lobjet courant sous diffrentes formes (graphique,
structurelle ou valeurs), le troisime permet dappeler ses mthodes, et le dernier contient les arguments de ces mthodes. Une partie importante de linteraction (instanciation et composition dobjets,
dnition des contraintes) seffectue par appel de ces mthodes. La partie infrieure de la fentre
contient la reprsentation graphique manipulable de lobjet courant.
gauche de la zone infrieure, un oprateur daddition a t construit par composition dobjets lmentaires. Ces objets lmentaires sont le point numrique (point gomtrique possdant une
valeur numrique interne) et la piste numrique (association dun point numrique et dun segment),
ainsi quun cadre permettant dafcher un symbole. Loprateur est construit en composant trois pistes
numriques et un cadre, et en spciant les contraintes gomtriques et numriques qui les lient. Une
piste numrique peut tre afche et rendue ditable en lui associant un champ de saisie. droite, un
convertisseur de tempratures a t construit par assemblage de ces objets. Les zones de saisie, xes
par des ancres, sont considres comme des constantes par le solveur.
La gure 2.32 page suivante illustre deux autres exemples construits avec ThingLab. Lexemple de
gauche est un document comportant quatre nombres visualiss sous deux formes : une forme textuelle
et une forme graphique. Ces deux vues sont manipulables et synchronises. Lexemple de droite est
une fentre dcoupe en zones redimensionnables, construit en composant puis en contraignant des
rectangles.
Thinglab a eu un grand impact en tant que systme de simulation interactive vise pdagogique.
Dautres outils ont suivi ses traces avec succs, comme les applications denseignement de la gomtrie Cabri Gomtre [C APPONI & L ABORDE 91] ou Chamois [B OURIT 00]. Avec Thinglab II, laccent est
81
davantage mis sur les applications interactives relles [M ALONEY et al. 89]. Mais bien que des optimisations algorithmiques aient t introduites, aucun exemple rellement nouveau na t dcrit.
Lapproche mixte de Fabrik
F IG . 2.34 Un composant interactif construit avec les graphmes de Fabrik. [I NGALLS et al. 88]
F IG . 2.35 Un systme de barres de dlement et une calculatrice construits avec InterCONS. [S MITH 88]
InterCONS [S MITH 88] est lun de ces systmes. Il emploie primitives graphiques appeles outils,
qui possdent des connecteurs en entre et en sortie de type entier. Ces blocs sont des lments
interactifs ou des oprateurs simples.
La gure 2.35 montre, gauche, une technique de dlement construite avec InterCONS. Une
barre de dlement simple et deux boutons ont t connects une vue pour contrler son dlement
horizontal. InterCONS permet de masquer les objets comportementaux an de ne laisser apparatre
que les lments interactifs, puis de rorganiser visuellement ces derniers : au centre de la gure 2.35,
la construction a t complte avec un contrle vertical avant dtre visuellement remanie. droite
de la gure est reprsente une autre application, une calculatrice, construite avec InterCONS.
83
F IG . 2.36 Une horloge analogique avec alarme rglable, dcrite avec WhizzEd. [E STEBAN 97].
WhizzEd [E STEBAN et al. 95, E STEBAN 97] est un langage visuel ddi la construction dinterfaces
manipulation directe, qui emploie un paradigme de data-ow compositionnel. Contrairement aux
diteurs vus prcdemment, la prsentation de linterface graphique est dissocie du langage visuel.
WhizzEd comporte nanmoins des briques qui afchent des primitives graphiques, similaires aux
graphmes de Fabrik. Parmi les autres types de briques disponibles, les tempos mettent rgulirement
des valeurs de type boolen dans le but deffectuer des animations, et les ractions mettent des
vnements utilisateur.
La gure 2.36 illustre une horloge construite avec WhizzEd : Lhorloge, reprsente droite de la
gure, possde une aiguille dalarme, rglable par manipulation directe, qui sonne lorsquelle concide
avec lheure courante. Cette fonction, ainsi que lapparence de lhorloge et sa mise jour sont dcrites
par le programme visuel reproduit sur la gure.
La gestion des vnements dans WhizzEd se fait par un mcanisme dabonnement : une primitive
graphique est rendue sensible un type dvnement lorsquelle est relie un bloc de raction. Ce
lien est reprsent sur la gure 2.36 par des pointills. Les ractions tant dissocies des primitives
graphiques, ce mcanisme permet de rendre explicite linterprtation des vnements. De plus, de
nouveaux types dvnements synthtiques peuvent tre ajouts avant dtre associs aux primitives
graphiques.
Discussion sur les apports et les limites de ces dmarches
La plupart des diteurs de simulations interactives prsentent lavantage de pouvoir spcier simultanment lapparence et du comportement dune interface graphique. Cependant, le comportement
dune interface peut difcilement tre spci indpendamment de sa prsentation : lorsque celui-ci
change, la prsentation de linterface change galement. InterCONS rsout en partie ce problme en
permettant de masquer certains composants graphiques.
84
2.7.3
Introduction
Certains outils comme Maya RTA [A LIAS 01], Blender [ROOSENDAAL & WARTMANN 03] et Virtools
Dev [V IRTOOLS 01] permettent de crer des applications 3D hautement interactives en construisant des
comportements par manipulation directe. Lobjectif de ces diteurs est de permettre aux artistes de
rendre leurs crations vivantes et interactives sans ncessit de programmation.
Les diteurs de comportements 3D sont essentiellement bass sur les paradigmes dassociation
85
F IG . 2.37 une fentre de Maya RTA avec son diteur dinteraction en bas gauche. [A LIAS 01]
Maya RTA (Maya Real-Time Author) [A LIAS 01] permet de construire des applications 3D interactives dans le format Shockwave 3D, en connectant des senseurs et des actions (gure 2.37). Les
senseurs ragissent de faon binaire des proprits de la scne (collision, distance entre objets) ou
des dispositifs dentre (touche du clavier, bouton de la souris). Connectes aux senseurs, les actions
dclenchent des commandes de haut niveau (dmarrer une animation, jouer un son, changer de camra). Un senseur peut galement dclencher plusieurs actions en parallle ou en squence. Lditeur
de Maya emploie un modle vnementiel binaire trs simple, qui ne permet de dcrire que des relations directes (mappings) entre des contrleurs deux tats et des actions.
La fentre interactive de Blender [ROOSENDAAL & WARTMANN 03] emploie un modle lgrement
plus sophistiqu base de briques logiques. Les briques logiques comprennent les senseurs et les
actuateurs (lquivalent des actions de Maya RTA), ainsi quun troisime type de brique, les contrleurs. Ces derniers comprennent les oprateurs logiques et les scripts Python. Ils sinsrent entre les
senseurs et les actuateurs, et permettent de dcrire des conditions plus complexes pour les dclenchements dactions. Tout comme lditeur de Maya, les briques logiques de Blender sont essentiellement
bases sur des associations dactions o les vnements sont binaires. Laccs des donnes comme
les coordonnes de la souris est possible, mais ncessite lcriture de scripts.
Les ots de donnes de Virtools Dev
Un grand nombre doutils de construction dapplications interactives 3D reposent sur des modles
ot de donnes (voir section 2.6.2 page 75). Ce paradigme se prtant bien une programmation
visuelle, certains dentre eux proposent en complment un diteur interactif. Cest le cas par exemple
de WorldUp [S ENSE 8 03], Cult3D Designer [C YCORE 03] ou Virtools Dev [V IRTOOLS 01].
Le modle base de ots de donnes de lditeur de Virtools Dev [V IRTOOLS 01] est parmi les
86
87
F IG . 2.39 Le dplacement dun objet 3D dcrit avec VRED [JACOB et al. 99].
VRED [JACOB et al. 99] est un diteur dinteraction exprimental qui sappuie sur un modle mixte
ot de donnes et ot de contrle pour dcrire les aspects la fois continus et discrets de linteraction. Son objectif est dincorporer les deux aspects dans le mme langage visuel dans le but de
dcrire facilement des techniques Non-WIMP . Il a t principalement employ pour spcier des
techniques dinteraction simples de ralit virtuelle.
88
2.7.4
Conclusion
Les diteurs graphiques dinteraction constituent un pas en avant non ngligeable vers des interfaces graphiques congurables en entre. Malheureusement, il existe encore une trop grande sparation entre les diteurs 2D qui sont puissants mais possdent une vision vnementielle strotype
des entres, et les diteurs 3D qui ont une vision gnrique et bas-niveau des dispositifs dentre mais
89
2.8 Synthse
Vu la grande complexit des applications interactives, des modles ont t rapidement proposs
an de sparer les diffrents aspects fonctionnels et structurels des interfaces, et de guider leur conception et leur implmentation. Les premires approches de type vertical comme Seeheim ou Arch dcomposent linterface en plusieurs couches dabstraction, de lutilisateur jusquau noyau fonctionnel.
Malgr leurs apports thoriques, ces modles sont peu dtaills et encapsulent linteraction en entre
et en sortie bas-niveau dans une seule entit monolithique. An de rendre mieux compte des caractristiques des interfaces modernes et du paradigme de programmation oriente-objet, les approches
horizontales agents comme MVC, PAC et les interacteurs formels dcomposent les interfaces en
rseaux dentits de mme nature. Les entres, disperses parmi les agents, restent cependant connes dans des objets monolithiques et ne sont toujours pas dcrites. Elles restent en outre confondues
avec les sorties, hormis dans le modle MVC qui spare les entres des aspects graphiques mais sans
expliquer comment mettre en uvre cette sparation. Le modle des interacteurs de CNUCE suggre nanmoins des ux dentre qui transitent dun agent lautre pour tre converties en donnes
abstraites interprtables par lapplication.
Deux types de modles se sont spciquement attachs dcrire linteraction en entre bas-niveau.
Les modles logiques de dispositifs comme GKS et PHIGS, dont lobjectif est lindpendance vis-vis du matriel, divisent les dispositifs dentre en six classes. Les tches dinteraction de Foley
sparent de faon similaire les tches applicatives en six classes gnriques. Malgr leurs apports
pratiques, et en dehors du fait quelles ont t construites pour des besoins dinteraction qui ne sont
plus les mmes aujourdhui, ces classications sont excessivement simplicatrices au vu de la grande
varit des dispositifs (pour les premires) et des tches existantes (pour les secondes). Les modles
physiques de Buxton et Card mettent au contraire laccent sur la spcicit de chaque dispositif. Le
premier propose une taxonomie base sur des caractristiques pragmatiques (nombre de dimensions,
proprits physiques captes) et le second dcrit un dispositif dentre comme une composition de dispositifs lmentaires qui convertissent des grandeurs physiques en valeurs numriques. Ces modles
sont utiles pour comparer diffrents dispositifs ou en concevoir de nouveaux, mais nont eu que peu
dimpact sur les applications et les outils de dveloppement, o lon recherche surtout la gnricit et
la portabilit. Seules les librairies daccs bas-niveau aux dispositifs emploient des reprsentations de
90
2.8. SYNTHSE
nature physique, o chaque dispositif concret est habituellement expos comme une combinaison de
dimensions continues et discrtes.
Aujourdhui, le dveloppement des applications interactives repose exclusivement sur les botes
outils graphiques, qui grent la majeure partie de linteraction en entre de faon interne. Les botes
outils conventionnelles, cbles pour une utilisation exclusive et strotype de la souris et du clavier,
sont les principales responsables de la rigidit des applications en termes dentres. Des botes outils
WIMP avances comme Subarctic et Garnet/Amulet ont t proposes an de dcrire la gestion des
entres et linteraction standard de manire claire et extensible, mais lintgration de nouvelles techniques dinteraction ncessite en pratique des remaniements importants, et les dispositifs non-standard
sont ignors. Un certain nombre de botes outils plus spcialises prennent en charge des paradigmes
dinteraction Post-WIMP spciques, telles les botes outils gestuelles (Satin), parfois en exploitant
des entres non-standard comme lextension multimodale de Subarctic (entres de nature ambigu)
ou les botes outils multi-pointeurs (MMM, Bimanual Whizz et MID). Le modle dinteraction
base doutils transparents a galement donn lieu un remaniement de la bote outils MMM et au
dveloppement de larchitecture CPN2000. Ces botes outils emploient toutes cependant un modle
vnements conventionnel adapt des dispositifs de type spcique, et exploitent ces dispositifs de
manire efcace mais ge.
Les botes outils spcialises dans linteraction tangible (Phidgets) et la sensibilit au contexte
(Context Toolkit), peu nombreuses vu la jeunesse de ces paradigmes, offrent une prise en charge souple
mais de bas-niveau de senseurs et dispositifs simples de nature htrogne. Le domaine de linteraction
3D, plus mr, offre depuis un certain temps des botes outils permettant de connecter librement des
canaux individuels de dispositifs dentre sophistiqus des structures abstraites, habituellement
travers des ots de donnes (UGA, Inventor, TBAG, WorldToolkit). Ces structures sont cependant
toujours des attributs dobjets 3D, les dispositifs pris en charge sont tous des priphriques 3D, et les
techniques dinteraction quil est possible de dcrire sont bien moins varies que celles de la 2D. Le
modle ot de donnes sur lequel elles reposent offre nanmoins une grande libert dexpression
et se prtent bien des outils ddition visuelle (Maya RTA, Blender, Virtools Dev) qui rendent la
spcication de linteraction en entre en partie accessible des non-programmeurs.
Le domaine de linteraction 2D a galement produit des diteurs de comportements, mais qui
reposent pour la plus grande part sur des modles contraintes peu adapts la description de linteraction en entre bas-niveau (Thinglab, Fabrik). Seul lditeur WhizzEd a su exploiter la grande
souplesse offerte par les ots de donnes, initialement pour construire des interfaces animes, puis
pour dcrire certains mcanismes propres linteraction bimanuelle. Notons que des systmes transitions (automates tats nis, rseaux de Petri) ont t galement employs pour dcrire linteraction
de manire visuelle ou non : Petshop, par exemple, permet de construire interactivement des spcications ICO base de rseaux de Petri. Cependant, les systmes orients-contrle que ces formalismes
se proposent de dcrire caractrisent mieux les techniques WIMP que les interactions Post-WIMP,
essentiellement amodales et fortement concurrentes.
Pour rsumer simplement, aucun modle et aucun outil ce jour ne prend en compte ladaptabilit
en entre sous ses trois angles. Deux types dapproche ont t proposes pour amliorer la contrlabilit : celle des botes outils Post-WIMP, qui consiste implmenter un modle dinteraction efcace
pour un certain type dentres, et celle des botes outils 3D, qui consiste proter de manire simple
de la richesse des dispositifs dimensions multiples. La voie vers la congurabilit a t ouverte par
les diteurs dinteraction 2D et surtout 3D. Aucun de ces diteurs, cependant, ne permet dexploiter
des techniques dinteraction Post-WIMP sophistiques, ni de tirer parti de dispositifs multiples de
91
92
Chapitre 3
3.3
3.4
3.5
Introduction . . . . . . . . . . . . . . . . . . .
Le paradigme des dispositifs en cascade . . . .
3.2.1 La mtaphore de la connexion logicielle .
3.2.2 Points dentre . . . . . . . . . . . . . .
3.2.3 Adaptateurs . . . . . . . . . . . . . . . .
3.2.4 Dispositifs gnraliss . . . . . . . . . .
3.2.5 Cascades . . . . . . . . . . . . . . . . .
Les systmes ractifs . . . . . . . . . . . . . . .
3.3.1 Systmes ractifs et conversationnels . .
3.3.2 Pour une gestion ractive de linteraction
3.3.3 Le modle du synchronisme parfait . . .
Les congurations dentre . . . . . . . . . . .
3.4.1 Les briques de base . . . . . . . . . . . .
3.4.2 Les notions essentielles . . . . . . . . . .
3.4.3 Aperu du modle dexcution . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . .
93
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
94
94
94
95
96
97
98
99
99
100
100
101
101
104
106
107
3.1 Introduction
Ladaptabilit en entre requiert une grande indpendance entre les dispositifs physiques et les
applications. Notre objectif premier est par consquent de dcoupler les dispositifs dentre de lapplication, an que le dveloppeur ou lutilisateur puisse employer nimporte quel dispositif dentre
la place des dispositifs standards, ou en plus de ceux-ci. Sur un systme entirement adaptable en
entre, celui-ci devrait idalement disposer dun outil lui permettant de connecter (et dconnecter)
librement ses dispositifs dentre lapplication.
Nous avons choisi de baser notre approche sur ce principe de connexion, car il constitue une
mtaphore simple et naturelle aussi bien pour lutilisateur que pour le dveloppeur.
Dans un premier temps, nous motivons et dveloppons cette mtaphore pour aboutir un paradigme de dispositifs en cascade, qui constituera la base de notre approche. Dans un deuxime temps,
nous prsentons brivement le paradigme des systmes ractifs qui a inspir notre modle dexcution. Enn, nous prsentons notre modle des congurations dentres, qui concrtise et combine ces
deux approches.
3.2.1
F IG . 3.1 La mtaphore de la connexion : les dispositifs dentre sont connects une application pour tre
utiliss.
94
F IG . 3.2 Faade dun amplicateur de guitare lectrique (1959SLP de chez Marshall) comportant quatre
entres distinctes. Chaque entre contrle un type de son particulier en termes de gain et de brillance.
3.2.2
Points dentre
Tout logiciel interactif possde un certain nombre de besoins en termes dentre, ou points dentre : ce sont des donnes qui sont fournies par lutilisateur. Il existe plusieurs manires de dcrire ces
points dentre indpendamment des dispositifs. Lune de celles-ci, que nous utiliserons temporairement pour les besoins de cette introduction, consiste les identier comme autant de tches dinteraction au sens de Foley [F OLEY et al. 84]. Pour rappel, ces tches dinteraction sont essentiellement des
types de donnes.
Ainsi, un logiciel de traitement de texte pourra avoir besoin de donnes de type Position pour
spcier lemplacement du point dinsertion, et de donnes de type Text pour insrer du nouveau
texte. Il comportera ainsi deux points dentre. Si le logiciel gre les annotations, il pourra galement
95
Position
(x,y)
Point
dinsertion
Text
(string)
Stroke
n
(x,y)
Annotations
F IG . 3.3 Les trois points dentre de lapplication de traitement de texte, dcrits comme des tches
dinteraction de Foley.
3.2.3
Adaptateurs
Position
(x,y)
Contrle du
mouvement
Point
dinsertion
Scannage
Text
(string)
Reconnaissance
vocale
Stroke
n
(x,y)
Annotations
F IG . 3.4 Diffrentes manires de connecter des dispositifs dentre une application de traitement
de texte.
La gure 3.4 illustre, laide de connexions, diverses mthodes de saisie possibles pour notre logiciel de traitement de texte. Du ct gauche sont reprsents un certain nombre de dispositifs dentre
96
3.2.4
Dispositifs gnraliss
Nous avons introduit trois types dobjets pour dcrire des exemples pratiques de connexion de
dispositifs : les dispositifs dentre, les adaptateurs, et les points dentre vers lapplication. Nous
allons unier ces trois entits.
Remarquons dabord quil est possible de connecter deux types dobjets un point dentre : un
dispositif ou un adaptateur. Or du point de vue de lapplication, un adaptateur se comporte exactement
comme un dispositif dentre. Par exemple, ladaptateur "contrle du mouvement" fournit des donnes
comparables celles dune souris.
Notons galement quun point dentre peut galement se comporter comme un dispositif dentre. Ainsi, des positions peuvent gnrer du texte travers un clavier graphique. Des tracs peuvent
galement produire du texte travers un module de reconnaissance de lcriture (gure 3.5 page suivante).
Chaque dispositif dentre, adaptateur et point dentre peut jouer le rle de dispositif. Nous regroupons par consquent ces objets sous le terme gnrique de dispositifs gnraliss, ou plus simplement dispositifs. Les dispositifs systme tels que le clavier ou la souris, sont des cas particuliers de
dispositifs. Les points dentre vers une application seront galement appels dispositifs dapplication.
97
Position
(x,y)
Point
dinsertion
Clavier
graphique
Text
(string)
Reconnaissance
de lcriture
Stroke
n
(x,y)
Annotations
3.2.5
Cascades
Nous avons vu jusquici deux types de connexions : les connexions directes et les connexions avec
adaptateur unique. Dans les systmes interactifs cependant, linterprtation des actions de lutilisateur
se fait en gnral travers une srie de traitements successifs. Cette srialisation rpond souvent au
besoin daccder un dispositif sur plusieurs niveaux dabstraction. Elle apporte en outre lavantage
dune modularit accrue et dune meilleure structuration. Le mcanisme de gestion du clavier, que
nous tudierons dans cette section, fournit un exemple de traitement en cascade.
Lexemple du clavier
A chaque fois quune touche dun clavier est appuye, on peut considrer quelle passe dun tat
faux un tat vrai. Ces changements dtats sont traduits par le clavier en codes touches, qui leur
tour sont convertis en symboles dont la combinaison est interprte comme une chane de caractres
dans lditeur de texte.
Clavier
Gnrateur
de codes touches
Gnrateur
de symboles
Gnrateur
de caractres
Texte
Cette srie de traitements peut tre reprsente par une chane de dispositifs allant du dispositif
concret au dispositif de lapplication (gure 3.6) [F EKETE & D RAGICEVIC 00]. Chaque adaptateur convertit les donnes quil reoit dans son format propre. Le gnrateur de codes touches associe chaque
touche du clavier un code positionnel. Le gnrateur de symboles traduit les codes touches en symboles, selon la langue du clavier. Enn, le gnrateur de caractres traduit les symboles en chanes
de caractres, selon une mthode dentre spcique. Il permet par exemple de composer des lettres
98
Le feedback en cascade
La gure 3.7 illustre un exemple de traitement en cascade dans une technique de dlement de
document : les donnes en provenance dun dispositif souris concret sont converties en coordonnes
cran pour contrler un dispositif curseur, puis encore traites pour dplacer une barre de dlement.
Ici, lajout de deux dispositifs virtuels , lutilisateur et le document permet de mettre en vidence
un ux dinformations implicite : lutilisateur contrle la souris, le curseur met des informations visuelles en destination de lutilisateur, et la barre de dlement (ici, le point dentre vers lapplication)
manipule un document (cach dans lapplication) qui met son tour des informations visuelles vers
lutilisateur.
Le ux dinformations implicite mis ici en vidence expose diffrents niveaux de feedback vers
lutilisateur. Il montre comment une cascade explicite de dispositifs peut correspondre une cascade
implicite de feedback oriente en sens inverse.
3.3.1
Les systmes informatiques qui interagissent avec lenvironnement peuvent tre distingus en
deux classes [B ERRY 89] :
Les systmes conversationnels 1 : Dans ces systmes, le client met des requtes vers lordinateur. Celui-ci choisit sil doit ou non y rpondre, ainsi que le moment o il doit fournir la
rponse. Dans ces systmes, lordinateur est matre de linteraction, et le client attend dtre
servi. Dautre part, les choix internes de lordinateur font que ces systmes sont le plus souvent
1 Dans
la publication originale, Berry qualie ces systmes dinteractifs. Pour viter toute confusion avec notre notion
plus gnrale de systmes interactifs, nous avons choisi dutiliser la place le terme conversationnel.
99
3.3.2
La plupart des systmes comportent la fois des lments conversationnels et ractifs. Par exemple,
le pilotage dun avion est ractif, alors que la communication avec le sol est conversationnel. Cest le
cas galement des systmes interactifs.
Certains services du systme dexploitation et du systme de fentrage, comme la gestion du curseur de la souris ou le dplacement des fentres, sont minemment ractifs. Au niveau de lapplication,
il existe galement des lments plus ractifs que dautres. Dans une application de dessin vectoriel,
par exemple, le rafchage dun dessin complexe peut prendre du temps, et seffectue selon un mode
conversationnel. Il est par contre souhaitable que le retour graphique associ aux dplacements dobjets soit ractif.
Le modle vnements classique, bien quessentiellement conversationnel, est souvent utilis
pour dcrire lintgralit du comportement dune application interactive. Nous pensons cependant
que les parties intrinsquement ractives dune application interactive, en particulier celles relatives
la gestion des entres, gagnent reposer sur un modle ractif. La le vnements ny est pas
ncessaire, elle est peu adapte la description de comportements ractifs, et ne donne aucune garantie
en termes de temps rel.
3.3.3
Les langages ractifs sont bass sur le modle du synchronisme parfait, dans lequel les processus
sont capables, au niveau conceptuel, de sexcuter et dchanger de linformation en un temps nul
[B ERRY 00]. Ce modle est quivalent au modle zro-dlai des circuits lectroniques (gure 3.8
page ci-contre). Bien que ce paradigme soit peu naturel pour des programmeurs classiques, cest un
standard pour les thoriciens du contrle, les concepteurs de circuits lectroniques, ou les utilisateurs
de contrleurs programmables.
Dans le paradigme ractif, un vnement est un signal. Du point de vue logiciel, un programme
ractif sexcute en une squence ininterrompue ditrations appeles ticks, qui sont des ractions aux
signaux dentre. Lhypothse du synchronisme parfait est vrie en pratique si les ractions sont
assez rapides pour quaucun signal provenant de lenvironnement ne soit perdu.
100
F IG . 3.8 Exemple de circuit synchrone, o linformation est propage de faon instantane [B ERRY 00].
Nous naborderons pas les dtails concernant les diffrents langages ractifs existants (pour plus
de dtails, le lecteur est invit lire [B ERRY 00]). Prcisons simplement quil en existe deux styles : les
langages impratifs et les langages ots de donnes. Notre modle dexcution sinspire du dernier.
3.4.1
Les quatres entits principales de notre modle sont les congurations dentre, les dispositifs, les
slots et les connexions.
Une conguration dentre (gure 3.9 page suivante) est un ensemble de dispositifs systme et de
dispositifs dapplication relis par des dispositifs utilitaires. Les premiers sont des objets fournis par
le systme, qui sont partags et qui reprsentent pour la plupart des dispositifs dentre concrets. Les
seconds sont des objets spciques fournis par lapplication. Les derniers sont des objets autonomes
fournis par une bibliothque et qui sont instanciables a volont.
Un dispositif (gure 3.10 page suivante) est une bote noire qui interagit avec son environnement
par lintermdiaire de canaux typs, appels slots. Sa fonction principale est de produire des valeurs
101
Configuration dentre
Dispositifs
Systme
Dispositifs
dapplication
Dispositifs
utilitaires
F IG . 3.9 Une conguration dentre dcrit une manire de relier des dispositifs systme des dispositifs
dapplication.
Slots de
sortie
Slots
dentre
Entres
implicites
Sorties
implicites
F IG . 3.10 Un dispositif, avec ses slots dentres ( gauche, en blanc) et ses slots de sortie ( droite, en noir).
102
double
int
boolean
string
object
null
entre
sortie
F IG . 3.12 Un dispositif possdant des slots nomms name, color.r, color.g, et color.b. Le slot color est
un slot composite. gauche, le dispositif dans sa reprsentation condense, droite dans sa version tendue.
Un slot est un tat du dispositif qui est accessible aux autres dispositifs. Ces derniers ont la possibilit dcrire sur le slot sil sagit dun slot dentre, ou de lire sa valeur sil sagit dun slot de
sortie (gure 3.10 page prcdente). Les slots possdent des types de donnes simples visibles dans
leur reprsentation graphique (gure 3.11). Par exemple, les slots boolens sont circulaires, les slots
entiers ont une forme triangulaire et les types indnis sont reprsents par un carr. Les slots peuvent
tre organiss de faon hirarchique par un mcanisme de nommage analogue aux chemins chiers
ou packages Java (voir gure 3.12).
F IG . 3.13 Exemples de connexions : le slot de sortie s comporte trois connexions et le slot dentre e comporte
une connexion. Les slots dentre ne peuvent comporter plus dune connexion.
Une connexion est un arc orient reliant un slot de sortie dun dispositif un slot dentre dun
autre dispositif (gure 3.13). Deux slots relis par une connexion partagent la mme valeur. Les
103
3.4.2
104
Un dispositif composite est un type particulier de dispositif uniquement dni par une congurationlle (gure 3.15). Chacun de ses slots correspond un slot externe de sa conguration-lle.
Lopration consistant regrouper un ensemble de dispositifs dans un dispositif composite (composition) et lopration inverse (dcomposition) sont dcrits en annexe, section A.4 page 204. La
dcomposition totale, laquelle nous faisons rfrence plus loin, consiste appliquer des dcompositions successives jusqu obtenir une conguration plate.
Dispositifs mutables
F IG . 3.16 Deux dispositifs mutables relis en srie. Le premier opre sur des rels ou sur des entiers en
fonction de ses connexions en entre. Le second adapte son type la fois en entre et en sortie.
Certains dispositifs gnriques sont capables de se spcialiser en fonction des valeurs prises par
leurs paramtres et des types des slots qui leur sont connects. Cette opration repose sur un mcanisme trs gnral nomm mutation, dcrit en annexe, section B.3 page 215. Une mutation consiste
en une modication du type dun ou plusieurs slots mutables du dispositif. Un slot mutable possde
un type concret et un super-type dcrivant les types concrets quil est susceptible davoir. Dans la reprsentation graphique dun slot mutable, le super-type entoure le type concret (gure 3.16). Certains
slots sont en outre dynamiques, cest--dire que leur prsence dpend du paramtrage du dispositif.
105
3.4.3
Lancement
La phase de lancement est destine prparer la conguration lexcution. Elle comporte plusieurs tapes. Pour commencer, lexcution travaille aprs dcomposition totale de la conguration
dentre. Ensuite, tous les dispositifs de la conguration sont ouverts pour leur permettre de sinitialiser. Chaque dispositif retourne lorsquil est ouvert un processeur en fonction de sa paramtrisation
(valeur de ses paramtres et types concrets de ses slots mutables), ou le processeur nul lors dun chec
douverture.
Aprs avoir rcupr les processeurs, le systme cre un objet Valeur pour chaque slot de sortie
de la conguration, objet qui encapsule une valeur concrte (entier, boolen,...) et la partage avec
les slots dentre connects. Ces partages de rfrence autorisent en quelque sorte une propagation
instantane des valeurs travers les connexions. Pour nir, les processeurs sont tris topologiquement
en fonction du graphe de dpendances.
Lalgorithme du tick
Lalgorithme dexcution se dcompose en pas atomiques ou ticks. Durant un tick, les processeurs
sont parcourus dans lordre topologique et chacun dentre eux est dclench sil est de type actif
(cest--dire quil correspond un dispositif entres implicites), ou si au moins une de ses Valeurs
en entre comporte un signal. Le signal est un drapeau boolen dans lobjet Valeur qui est toujours
faux au dbut du tick. Lorsquun processeur dclench met explicitement jour une Valeur (la
nouvelle valeur concrte peut tre la mme), ce drapeau passe vrai pour que les processeurs qui en
dpendent puissent tre dclenchs.
Un tick consiste donc globalement dclencher les processeurs actifs (pour la plupart des dispositifs dentre) puis transmettre les mises jour au reste de la conguration. Lalgorithme dexcution
ractif (dcrit en annexe, section C.3 page 227) assure que tout changement est correctement propag
et que chaque processeur est activ seulement lorsque cest ncessaire, au plus une fois dans le tick.
Les processeurs tant tris topologiquement, la mise jour de la conguration est effectue en une
seule passe. Cet algorithme est simple et extrmement efcace.
106
3.5. CONCLUSION
3.5 Conclusion
Nous avons dcrit et motiv dans ce chapitre les principes gnraux dun modle dentre bas
sur le paradigme cascades de dispositifs. Ce modle emploie des mtaphores simples comme les
connexions et les adaptateurs, et il est facile apprhender aussi bien pour le concepteur que pour
lutilisateur.
Nous avons ensuite concrtis ce paradigme avec le modle des congurations dentres. Une
conguration dentre est un ensemble de dispositifs systme (modules qui dcrivent pour la plupart
des dispositifs dentre physiques) et de dispositifs dapplication (modules qui dcrivent les entits contrlables de lapplication) relis par des dispositifs utilitaires (modules qui peuvent tre vus
comme des adaptateurs ou des techniques dinteraction). Notre modle repose sur une architecture
ot de donnes claire et fonctionnelle (qui permet notamment de dcrire des modules composables
et capables de se spcialiser dynamiquement), et sur un modle dexcution ractif qui garantit une
raction immdiate aux actions de lutilisateur.
Dans les chapitres suivants, nous montrerons par des exemples comment ce modle permet de
dcrire la majeure partie des mcanismes en jeu dans la gestion des dispositifs dentre dans les
systmes interactifs existants, tout en amliorant la visibilit et la modularit de ces mcanismes.
Nous montrerons galement comment il peut servir dcrire de nouvelles techniques dinteraction.
Le prochain chapitre dcrit la bote outils en entre ICON (Input Congurator), dveloppe partir
des principes que nous avons voqus.
107
108
Chapitre 4
4.3
4.4
4.5
4.6
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Les dispositifs dICON . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Les dispositifs systme . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Les dispositifs utilitaires . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3 Les dispositifs de bote outils graphique . . . . . . . . . . . . . . .
4.2.4 Les dispositifs dapplication . . . . . . . . . . . . . . . . . . . . . .
Programmation avec ICON . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Implmentation de nouveaux dispositifs . . . . . . . . . . . . . . . .
4.3.2 Initialisation dune conguration . . . . . . . . . . . . . . . . . . . .
4.3.3 Srialisation et descripteurs . . . . . . . . . . . . . . . . . . . . . .
Construction et dition de congurations dentre . . . . . . . . . . . . .
4.4.1 Lditeur de congurations . . . . . . . . . . . . . . . . . . . . . . .
4.4.2 Des congurations standard aux congurations hautement interactives
4.4.3 Congurations dentre pour laccessibilit . . . . . . . . . . . . . .
4.4.4 Les techniques dinteraction avances et novatrices . . . . . . . . . .
Distribution, contributeurs, et projets utilisant ICON . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
109
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
110
110
111
112
114
117
118
118
121
124
127
127
131
135
136
141
142
4.1 Introduction
Nous avons dvelopp partir du modle des congurations dentre dcrit dans le chapitre prcdent une bote outils dentre , dans le but de valider et dafner ce modle dans un contexte
de dveloppement rel, qui comprend un langage de programmation et un systme interactif concret
(systme dexploitation et bote outils graphique).
Nous prsentons dans ce chapitre la bote outils dentre ICON (Input Congurator), dont lobjectif est de :
Proposer une implmentation concrte du modle des congurations dentre et du moteur
ractif ncessaire leur excution,
Offrir une bibliothque extensible de dispositifs systme et utilitaires prts lemploi permettant de construire et tester des exemples de congurations dentre,
Fournir des interfaces et des librairies permettant de dvelopper rapidement des dispositifs dapplication et de nouveaux dispositifs systme et utilitaires dans un paradigme de programmation
oriente objet, ainsi que des services comme la srialisation (persistance) des congurations
dentre,
Procurer aux dveloppeurs et aux utilisateurs moins experts un diteur interactif qui exploite
le modle visuel des congurations dentre et linstrumente par des techniques dinteraction
appropries.
Nous avons choisi dimplmenter cette bote outils avec le langage Java, principalement pour
sa portabilit et la notorit dont il bncie auprs des programmeurs dapplications. Nous avons
galement choisi de rendre Swing contrlable par des dispositifs dapplication gnriques que nous
nommerons dispositifs de bote outils graphique.
Nous dcrivons pour commencer des exemples de dispositifs systme, utilitaires, de bote outils
graphiques et dapplication, et afnons cette taxonomie dans le contexte dICON. Nous dcrivons dans
un deuxime temps trois notions propres limplmentation ICON, savoir linterface et les classes
abstraites de dispositifs, le mcanisme dinitialisation dune conguration avec passage du contexte,
et le principe des descripteurs employ pour la srialisation. Nous prsentons ensuite lditeur interactif de congurations dentre, et voquons par des exemples les diffrents types de techniques
dinteraction que nous avons pu dcrire. Enn, nous donnons avant de conclure des informations sur
la distribution, les contributeurs, et les projets utilisant ICON.
4.2.1
Un dispositif systme reprsente une ressource globale, en gnral un dispositif dentre physique.
Il est :
Partag : Plusieurs copies dun dispositif systme, si elles sont paramtres de la mme manire,
mettront les mmes donnes.
Volatile : un instant donn, un dispositif systme peut tre prsent ou non dans la bibliothque
dICON, selon la conguration matrielle et logicielle du systme hte. Lorsquune conguration dans
laquelle il est utilis est en cours dexcution, sa dure de vie est au moins celle de la conguration. Il
peut cependant disparatre entre deux excutions.
F IG . 4.1 Exemples de dispositifs systme (souris, clavier, tablette graphique et commande vocale).
111
4.2.2
Les dispositifs utilitaires sont les dispositifs de la bibliothque dICON qui ne sont pas des dispositifs systme. Ces dispositifs sont autonomes (chaque copie dun dispositif se comporte indpendamment des autres) et persistants (un dispositif utilitaire est toujours prsent dans la bibliothque
dICON, indpendamment de la conguration logicielle et matrielle du systme). Nous dcrivons
dans cette section les diffrents types de dispositifs utilitaires.
Les dispositifs de traitement
Un dispositif de traitement effectue essentiellement des transformations de donnes. Ils nont pour
la plupart pas dentres/sorties implicites et sont par consquent dterministes. Dautres se basent sur
un temps absolu, ce qui les rend non-dterministes (le temps nest pas explicite dans ICON et il nest
accessible que sous forme dentre implicite).
La bibliothque dICON comporte une trentaine de dispositifs de traitement qui comprennent les
oprateurs mathmatiques, les oprateurs logiques, les dispositifs de traitement de signal, les adaptateurs de type et de domaine, et les dispositifs pour le contrle conditionnel et le routage.
La gure 4.2 page suivante illustre quelques-uns de ces dispositifs. gauche, un dispositif daddition acceptant diffrents types (mutable) et un dispositif de transformation linaire paramtrable.
Ensuite sont reprsents deux oprateurs boolens, un dispositif passe-bas paramtrable, un adaptateur de types (cast) automatique et un chantillonneur temporel, et enn un passeur conditionnel
112
F IG . 4.2 Exemples de dispositifs de traitement dans ICON, avec les fentres de proprits des dispositifs
paramtrables.
avancs : le dispositif toolglass permet danimer une barre doutils semi-transparente [B IER et al. 93],
et le dispositif quikwrite permet de contrler un diteur de texte avec uniquement un pointeur. Ces
dispositifs, qui dcrivent galement des techniques dinteraction, sont dcrits plus en dtail par la
suite, dans la section 4.4.4 page 139.
Les afchages en incrustation sont actuellement implments au niveau de la bote outils Swing,
la plupart des systmes dexploitation (dont Microsoft Windows) noffrant pas ce type de service. Les
mcanismes employs actuellement permettent dafcher et danimer par-dessus nimporte quelle
fentre Swing un ou plusieurs composants graphiques semi-transparents, sans modier le code de
lapplication. Ces afchages restent cependant limits aux fentres Swing, et les dispositifs qui les
emploient appartiennent par consquent la catgorie des dispositifs de bote outils graphique (voir
section suivante), bien quen ralit ils ne communiquent pas avec les composants interactifs. Mais il
nest pas exclu qu terme, les plate-formes actuelles fournissent des services dincrustation et que les
dispositifs de retour graphique sophistiqus soient fournis comme des services de base dans ICON.
Dautres dispositifs retour graphique, bass ou non sur les mcanismes dincrustation, peuvent
tre implments et ajouts la bibliothque dICON.
4.2.3
Les dispositifs de bote outils graphique, situs mi-chemin entre la catgorie des dispositifs
utilitaires et celle de dispositifs dapplications, permettent un contrle gnrique de ces dernires.
travers des entres ou des sorties implicites, ces dispositifs communiquent avec les composants
interactifs (widgets) des fentres dveloppes avec la bote outils. Les rfrences vers les fentres
contrles sont passes en paramtre travers le contexte dexcution ( section 4.3.2 page 121).
ICON comporte des dispositifs de bote outils lis Swing. Nous les dcrivons ici.
Slecteurs et manipulateurs
Il existe deux types de dispositifs de bote outils graphique :
Les slecteurs. Les slecteurs sont des dispositifs qui mettent en sortie des rfrences vers des
114
115
116
4.2.4
Bien quune application interactive puisse tre contrle de manire gnrique par les dispositifs
de bote outils graphique, les dveloppeurs peuvent tendre la contrlabilit de leur application en
implmentant et en dclarant des dispositifs spciques : ce sont les dispositifs dapplication.
Les dispositifs dapplication sont les dispositifs qui nappartiennent pas la bibliothque dICON
et qui sont fournis par les applications.
Lapplication ICONDraw
La gure 4.5 montre une application de dessin en Java, ICONDraw ( droite), qui a t crite pour
tre entirement recongurable par ICON. Cette application est totalement isole des vnements Java
standards, hormis les composants interactifs Swing situs autour de la zone de dessin. Elle dcrit
simplement la faon dont elle sattend tre contrle en exposant ses outils de dessin sous forme de
dispositifs dapplication (gure 4.5, image de gauche).
Les outils de dessin sont au nombre de quatre : dessin main leve, trac de lignes et de rectangles,
et gomme. Ces outils sont contrls par lmission, travers les slots p0 et p, dune ou deux sries de
positions (les lignes et les rectangles sont dnies par leurs deux extrmits). Un outil peut galement
tre activ ou dsactiv (slot activate) et recevoir des attributs graphiques tels que la taille de la brosse
et les composantes couleur RGBA (slot brush).
Les outils de dessin grent galement un retour graphique, ainsi que deux modes dutilisation,
le mode courant tant spci par le slot use. Dans le mode non utilis , un retour graphique est
effectu sur la position et les attributs de la brosse courante. En mode utilis , le retour graphique
est effectu sur la forme gomtrique en cours de cration. Cette forme est valide et ajoute au dessin
lors du passage suivant au mode non utilis .
117
4.3.1
Dispositifs programmables
ICON fournit un dispositif utilitaire Script qui permet de dcrire des comportements simples en
JavaScript, directement dans lditeur de congurations et sans ncessit de recompilation. La liste des
118
slots du dispositif ainsi que le code de traitement sont saisis dans la fentre de proprits du dispositif,
illustre gure 4.6. Cet exemple dcrit une fonction de transfert utilise dans le contrle dun zoom
par un dispositif isomtrique.
Linterface Device
Comme nous le verrons dans cette section, limplmentation en Java dun dispositif simple est
relativement lmentaire. Les fonctionnalits dun dispositif dentre sont dcrites par linterface Device dans lAPI ICON. Cette interface est reproduite, avec les commentaires, sur la gure 4.7 page
suivante. La partie excution des dispositifs dentre est dcrite par linterface Processor, reproduite
sur la mme gure.
En pratique, un dispositif drive toujours de la classe AbstractDevice. Cette classe implmente un
certain nombre de comportements par dfaut communs une grande majorit des dispositifs, savoir,
la gestion des slots dentre et de sortie travers les mthodes addIn et addOut, lauto-duplication
(consistant en une r-instanciation de la classe et la copie des valeurs des paramtres), et la gestion
dun processeur unique.
Exemple : le dispositif DColorConv
La gure 4.8 page 121 montre un exemple de dispositif utilitaire qui a t ajout la bibliothque
dICON pour permettre un contrle vocal des attributs de la brosse dans ICONDraw. Ce dispositif
DColorConv convertit des noms de couleur en leurs composantes RGB.
crire un dispositif utilitaire consiste essentiellement dclarer ses slots dentre et de sortie, et
remplir le corps de sa mthode de mise jour update, pour assigner les valeurs des slots de sortie
en fonction de celles des slots dentre (la gestion des tables de couleurs nest pas montre dans
le code). chaque fois quune des valeurs en entre changera, cette mthode de mise jour sera
automatiquement appele par la machine ractive dICON.
La classe AbstractDevice gre un processeur unique : elle implmente linterface Processor, et sa
mthode open() retourne this par dfaut. La gestion de processeurs multiples, utile pour faire de la
spcialisation de code, seffectue par drivation de la mthode open() et lutilisation dinner classes.
119
/**
* Spcifie ci ce dispositif peut
* actuellement tre ouvert (i.e.
* sil est correctement paramtr).
*/
public boolean isOpenable();
/**
* Ouvre le dispositif pour le prparer
* lexcution. Toute allocation de
* ressources doit seffectuer ici.
* Le contexte dexcution permet, le cas
* chant, de passer au dispositif les
* rfrences ncessaires son excution
* (fentres, etc.)
* Retourne un Processor si louverture a
* russi, null dans le cas contraire (voir
* linterface Processor, plus bas).
*/
public Processor open(OpenContext context);
/**
* Retourne des informations sur le
* dispositif destination de
* lutilisateur, ou null.
*/
public DeviceInfo getInfo();
/**
* Retourne les slots dentre du dispositif.
*/
public In[] getIns();
/**
* Cette mthode est appele lorsque le
* dispositif nest plus utilis. Les
* ressources doivent tre dsalloues ici.
*/
public void close();
/**
* Retourne les slots de sortie du
* dispositif.
*/
public Out[] getOuts();
/**
* Retourne un court message derreur
* explicatif, si isOpenable() retourne faux
* ou aprs un chec douverture.
*/
public String getError();
/**
* Spcifie si ce dispositif comporte des
* entres implicites.
*/
public boolean hasExternalInput();
/**
* Spcifie si ce dispositif comporte des
* sorties implicites.
*/
public boolean hasExternalOutput();
/**
* Active ou dsactive le dispositif.
*/
public void setEnabled(boolean enabled);
}
/**
* Retourne les paramtres du dispositif.
* Pour chaque paramtre X, la classe doit
* dclarer deux accesseurs setX et getX.
* En retournant AUTO_PROPERTIES, les
* paramtres sont automatiquement dduits
* des accesseurs de la classe.
*/
public String[] getProperties();
/**
* Spcifie si ce dispositif est duplicable
*/
public boolean isCopiable();
/**
* Retourne un dispositif avec les mmes
* fonctionnalits, ou null si le dispositif
* nest pas duplicable (instance statique).
*/
public Device copy();
/**
* Cette mthode est appele lorsquun signal
* est prsent dans lun des slots dentre.
*/
void update();
}
120
final
final
final
final
In name
Out r =
Out g =
Out b =
= addIn("name", SlotType.STRING);
addOut("color.r", SlotType.DOUBLE);
addOut("color.g", SlotType.DOUBLE);
addOut("color.b", SlotType.DOUBLE);
( )
// mise jour des slots de sortie
public void update() {
if (name.hasSignal()) {
String s = name.getStringValue();
boolean found = false;
for (int i=0; i<COLOR_NAMES.length && !found; i++)
found = (COLOR_NAMES[i].equals(s));
if (found) {
r.setDoubleValue(COLOR_R[i-1]);
g.setDoubleValue(COLOR_G[i-1]);
b.setDoubleValue(COLOR_B[i-1]);
}
}
}
}
Le dispositif peut tre rendu paramtrable (par exemple, une liste de couleurs personnalisable),
simplement en ajoutant des mthodes de type accesseurs la classe. ICON dduit automatiquement les
noms de paramtres par introspection et gnre la fentre de proprits correspondante dans lditeur.
Limplmentation dun dispositif dapplication est similaire celle dun dispositif utilitaire comme
DColorConv, ceci prs que les assignations de slots de sortie sont remplaces par des appels de mthodes dans lapplication elle-mme.
4.3.2
Principe gnral
Pour tre congurable par ICON, une application doit crer une conguration dentre et faire
le lien entre cette conguration et ses propres objets. Lensemble des mcanismes de communication entre lapplication et sa conguration dentre est rsum sur la gure 4.9. La cration dune
conguration dentre ncessite la dclaration dun dossier de dispositifs et le passage dun contexte
dexcution.
Le dossier de dispositifs contient lensemble des dispositifs qui pourront tre utiliss dans la conguration, et qui seront visibles dans la partie gauche de lditeur de congurations (voir section 4.4.1
page 127). En gnral, il sagit de la bibliothque standard dICON comportant tous les dispositifs
systme et utilitaires organiss en sous-dossiers, laquelle est ajout un dossier spcique lapplication. Comme tout dossier, ce dernier est un conteneur de dispositifs-prototypes, instances de dispositifs qui sont dupliques pour tre ajoutes la conguration. Un ou plusieurs prototypes peuvent
121
tre dclars par classe de dispositif, ce qui permet notamment de fournir des ensembles de dispositifs
pr-paramtrs, ou de dcrire des dispositifs dinstance statiques.
Le contexte dexcution est une table de hachage qui contient toutes les informations ncessaires
lexcution de lensemble des dispositifs du dossier. Les dispositifs de bote outils graphique, que
nous avons voqus prcdemment, ncessitent une rfrence vers la ou les fentres quils contrlent.
En outre, lapplication possde ses propres dispositifs qui requirent des rfrences vers des objets
de celle-ci, rfrences qui sont ajoutes au contexte sur des cls spciques. Lors du lancement de la
conguration dentre, chaque dispositif reoit dans sa mthode open le contexte dexcution do il
va extraire les informations pertinentes, et le cas chant produire un chec douverture si celles-ci
sont indisponibles.
F IG . 4.10 Code type dune application congurable en entre. Les dispositifs dapplication ne sont pas
reprsents.
123
4.3.3
Srialisation et descripteurs
Pour pouvoir tre sauvegardes et charges, les congurations dentre doivent tre srialisables.
La srialisation consiste convertir un objet en une srie doctets (que nous nommerons signature)
pour pouvoir, lors dune excution ultrieure, recrer le mme objet par le processus inverse. Dans
cette section, nous voquerons essentiellement la srialisation de dispositifs.
4.4.1
Lditeur de congurations
Lefcacit dun outil de programmation visuelle repose en grande partie sur le choix des techniques dinteraction, choix qui dtermine sa facilit dapprentissage ainsi que les performances effectives dans les diffrentes tches de programmation. Les techniques employes dans notre diteur,
simples et standards pour la plupart et plus spciques pour dautres, rpondent aux tches courantes
de construction et ddition de congurations dentre. Nous les voquons dans ce court descriptif.
Des clips vido montrant des constructions ou des modications de congurations sont galement
disponibles en tlchargement [D RAGICEVIC 02].
La fentre ddition. Une capture dcran de la fentre ddition de congurations dentre est
donne gure 4.12 page 129. Celle-ci est divise en trois parties : En haut gauche, larborescence
des dossiers de dispositifs-prototypes, qui comprend les dispositifs dentre disponibles, les dispositifs
utilitaires dICON, et le cas chant, le dossier de lapplication en cours ddition. En bas gauche,
127
Devices {
mouse: and {
folder=all.extended.directInput;
and {
name=mouse;
class=DDirectMouse;
externalInput;
outs {
and {
name=but.left;
type=boolean;
}
and {
name=but.middle;
type=boolean;
}
and {
name=but.right;
type=boolean;
}
and {
name=p.dx;
type=int;
}
and {
name=p.dy;
type=int;
}
and {
name=wheel;
type=int;
}
}
}
properties disableSystem=yes;
}
sum: and {
folder=all.standard.control;
class=DSum;
properties defaultValue=0.0;
}
sum2: and {
folder=all.standard.control;
class=DSum;
properties defaultValue=0.0;
}
freehand: and {
and {
name=freehand;
class=fr.emn.examples.icondraw.DFreehand;
}
properties {
screenCoordinates=yes;
activated=yes;
}
}
}
Connections {
mouse.but.left=freehand.use;
mouse.p.dx=sum.in;
mouse.p.dy=sum2.in;
sum.out=freehand.p.x;
sum2.out=freehand.p.y;
}
Layout {
sum2: {
x=81.50220396714089;
caption=sum;
expand=yes;
scale=0.7142857142857143;
y=107.5312562612703;
}
sum: {
x=80.19785614105392;
caption=sum;
expand=yes;
scale=0.7142857142857143;
y=94.05299539170508;
}
freehand: {
x=147.29663394109403;
caption=freehand;
expandSlots=[p];
scale=1.0;
y=79.66643291257597;
}
mouse: {
x=1.8408134642356373;
caption=mouse;
expandSlots=[but, p];
scale=1.0;
y=79.9273024777934;
}
}
128
F IG . 4.12 La fentre ddition dICON. Une conguration qui permet de jouer de la musique avec les touche
de fonction du clavier est en cours ddition.
la liste des dispositifs-prototypes pour le dossier actif. droite, lespace de travail zoomable o est
visualise la conguration dentre.
de dplacements de dispositifs, cet algorithme offre une animation uide et sans discontinuit des connexions et
ne gnre pas de nouveau croisement.
129
F IG . 4.14 La technique auto-expand. Ici, un dispositif est connect un slot initialement invisible, en un seul
geste.
pendant une interaction de connexion (gure 4.14)3 . Une technique de reconnexion permet galement de dplacer lune des deux extrmits dune connexion, et des connexions groupes peuvent tre
cres automatiquement entre des slots composites.
F IG . 4.15 Cration par manipulation directe dune copie de dispositif ( gauche) et dun lien ( droite).
Copie et lien. La copie dun dispositif (gure 4.15, image de gauche) et la cration dun lien (gure 4.15, image de droite) se font par manipulation directe. Lopration de copie cre une nouvelle
instance du dispositif et en reproduit le paramtrage. Les liens, explicits par des lignes verticales
paisses (gure 4.15, image de droite), permettent dafcher le mme dispositif en diffrents endroits
de la conguration, an de rduire sa complexit visuelle. Comme nous le verrons dans certaines
congurations-exemples, les liens peuvent tre dploys dans la dimension verticale, perpendiculairement au ux de connexions qui est essentiellement horizontal.
F IG . 4.16 Conguration dentre avec dispositifs dploys (en haut) et rduits (en bas).
Niveau de dtail. Les dispositifs peuvent tre rduits pour ne montrer que les slots utiliss, et
diminuer ainsi la complexit visuelle dune conguration. Le passage dun mode lautre se fait
3 La fermeture automatique des slots composites est temporairement dsactive lors dune inspection de haut en bas, an
130
4.4.2
Dans cette partie, nous donnons un aperu des techniques dinteraction qui peuvent tre construites
avec lditeur de congurations. Nous voquerons des exemples de mthodes dentre adaptes des
congurations matrielles standard, enrichies ou appauvries, puis des congurations exploitant des
techniques dinteraction novatrices et avances. Tous les exemples sont issus de captures dcran de
lditeur dICON, ou de lapplication contrle.
Description de mthodes dentre standards
F IG . 4.19 Contrle positionnel standard des composants Swing. Sur cette gure, tous les slots disponibles
sont mis en vidence.
des connexions supplmentaires, il est possible de prendre en compte les autres boutons de la souris
et leurs modicateurs. Le slot but1 du curseur peut tre connect au slot state.focus de JComponent
pour dcrire le changement de focus la souris. La conguration peut galement tre complte pour
prendre en compte les mcanismes relatifs au clavier : la gure 4.20 montre un exemple de contrle
du focus avec les touches Tab et Shift+Tab, ainsi que la simulation du clic avec la touche espace.
Des mthodes dinteraction standard, bases sur la souris et le clavier peuvent galement tre
construites pour des applications spciques. Sur la gure 4.21, loutil de dessin main leve est
contrl la souris de manire triviale. Pour tre complte, cette conguration minimale peut tre
tendue en insrant un feedback supplmentaire sur le pointeur, et en dcrivant le contrle des attributs
de brosse, ainsi que le contrle modal doutils multiples.
132
Contrairement aux dispositifs Swing, les dispositifs dapplications peuvent tre conus pour grer
la concurrence, et des techniques dinteraction bimanuelle peuvent tre dcrites avec une granularit
bien plus ne. La gure 4.23 montre comment, avec un dispositif supplmentaire, une technique dinteraction standard peut tre remplace par une technique dinteraction bimanuelle. Le cadre suprieur
gauche illustre le contrle par dfaut de loutil de trac de lignes dICONDraw, construit avec des dispositifs de routage conditionnel. Cette technique consiste placer successivement une extrmit de la
ligne puis lautre. Dans le cadre infrieur, la conguration a t modie an que le curseur (contrl
par la souris) soit directement reli une extrmit de la ligne, et quune tablette graphique soit relie
la deuxime.
133
Dans ICON, les dimensions supplmentaires fournies par les dispositifs tendus peuvent tre facilement exploites. La gure 4.24 montre comment, dans une conguration ICONDraw, le canal de
pression dune tablette graphique peut tre assign la dimension de la brosse.
F IG . 4.25 Contrle dune interface zoomable avec un dispositif six degrs de libert, par la technique PZR.
Les dispositifs dentre riches, comme les dispositifs multiples degrs de libert, peuvent galement tre exploits leur maximum. La gure 4.25 illustre une conguration o une application
zoomable, dcrite par le dispositif ZCanvas, est contrle par un dispositif isomtrique six degrs de
libert de type Magellan. La technique employe (que nous nommons PZR pour Pan/Zoom/Rotate )
permet de contrler simultanment la position, le zoom et lorientation du document.
Dans cette conguration-exemple, les dimensions x et z du dispositif, parallles aux axes de la souris, dplacent la zone de travail. Sur chaque axe, trois dispositifs de traitement enchans convertissent
des valeurs relatives relles en valeurs absolues entires. La dimension y du dispositif, qui traduit
la pression ou la traction verticale sur le dispositif, envoie des commandes de zoom au document
travers un dispositif scriptable, dont le code a t donn en exemple dans la section 4.3.1 page 118.
Enn, la dimension u envoie des commandes de rotation au document, travers une simple remise
lchelle.
134
4.4.3
mulation de dispositifs
Deux dispositifs compatibles (par exemple, deux dispositifs positionnels) peuvent tre facilement
intervertis dans ICON. Si les dispositifs sont de nature diffrente, la puissance dexpression dICON
peut tre exploite pour construire des techniques dinteraction capables dmuler un dispositif. La
bibliothque dICON fournit en outre des adaptateurs prdnis pour ce type de tche. La gure 4.26
montre comment un tel adaptateur peut tre insr entre un clavier et un curseur : ladaptateur KeyControl est un dispositif composite construit avec ICON, qui permet un contrle uide de dimensions
continues partir de dispositifs deux tats. Des techniques plus spciques de contrle adaptes
des entres appauvries peuvent galement tre construites. Des touches clavier peuvent par exemple
tre directement assignes des boutons ou des commandes dans une application graphique.
Bien quil ne gre pas les grammaires, le dispositif de commande vocale peut tre employ pour un
contrle vocal simple dapplications interactives. La gure 4.27 illustre une conguration permettant
de manipuler les barres de dlement de Swing partir de commandes telles que plus, un peu moins,
ou minimum. Sur cette gure sont reprsents la fentre de proprits dans laquelle le vocabulaire est
spci, ainsi que le dispositif de contrle conditionnel Switch permettant dactiver une commande en
fonction de lindex de la chane reconnue.
135
La gure 4.28 montre comment, dans ICONDraw, des attributs de brosse peuvent tre contrls
la voix, avec des commandes comme bleu, rouge, plus gros, ou moins gros. La taille de la brosse est
contrle par un dispositif de commande vocale suivi dun dispositif Switch, puis dun dispositif Cycle
qui permet un contrle incrmental paramtrable dune valeur entire. Le contrle de la couleur emploie un second dispositif de commande vocale paramtr avec un vocabulaire de couleurs. La chane
de caractres reconnue est convertie en composantes RGB par un dispositif qui a t implment pour
loccasion (voir section 4.3.1 page 118).
Parmi dautres mcanismes de contrle vocal que nous avons expriments, une technique de
curseur contrl la voix, dcrite dans la section 4.4.4, a t implmente pour permettre un contrle
vocal gnrique des applications interactives.
4.4.4
F IG . 4.29 Le double pointeur, compos du pointeur tmoin (en noir et blanc) et du pointeur augment (en
gris fonc, lintrieur du prcdent).
F IG . 4.30 Une technique de pointage liss , permettant notamment la correction du dessin main leve.
Pour des utilisateurs prsentant des difcults motrices ou dans certaines tches positionnelles
telles que le dessin main leve, il peut tre utile de lisser les dplacements du pointeur. La gure 4.30
prsente la partie dune conguration dentre dcrivant cette technique applique au pointage augment : le premier dispositif Cursor constitue le pointeur tmoin. Le second, renomm smoothCursor,
plac la suite de ltres passe-bas, constitue le pointeur augment. Ce dernier fait ofce de dispositif
virtuel et contrle dautres parties de la conguration. Cette conguration a rapidement t obtenue
en modiant une conguration de contrle positionnel standard. Sur la partie droite de la gure, la
technique est utilise pour le dessin main leve dans ICONDraw : au dpart et la n du trac, les
deux curseurs sont confondus. Pendant le trac, le curseur effectif (en gris fonc) subit un retard et se
dsolidarise du premier pour tracer une ligne uide.
Ici comme dans les exemples qui vont suivre, le pointeur tmoin est utile pour la comprhension et la visualisation du comportement du pointeur augment par rapport aux mouvements rels du
dispositif, tout en conservant une sensation de contrle sur ce dernier.
F IG . 4.31 Le pointage de second ordre, appliqu une barre de dlement : lutilisateur agit uniquement sur
la vitesse de dlement du document.
La gure 4.31 dcrit une autre technique de pointage augment, le pointage de second ordre. Les
ltres passe-bas sont remplacs par des dispositifs drivateurs, qui calculent la vitesse dvolution de
valeurs numriques (ces derniers ont t dcrits avec ICON puis transforms en dispositifs compo137
F IG . 4.32 Exemple dutilisation du curseur vocal. Les mots gris sont les mots prononcs, et les mots en noir
sont les mots reconnus. Les images ont t retouches pour rendre compte des mouvements du pointeur.
Le curseur vocal est compos dun curseur effectif et dun curseur contextuel (gure 4.32). En
temps normal, ils se dplacent de faon solidaire. Lorsque lutilisateur commence parler (augmentation brutale du niveau dentre), le curseur contextuel sarrte et le curseur effectif continue se
dplacer. Si un bruit ou une commande non-contextuelle (contrle de la vitesse) est nalement reconnue, le curseur contextuel rejoint le curseur effectif. Si une commande contextuelle (changement
de direction ou appui/relchement) est reconnue, le curseur effectif rejoint le curseur contextuel et la
commande est valide.
La conguration dentre de la gure 4.33 page ci-contre dcrit le gros du mcanisme du curseur vocal. Un dispositif SpeechCursor effectue les principaux calculs en dterminant les positions
successives des deux curseurs en fonction des commandes reues. Le dispositif de commande vocale
est congur conformment aux commandes supportes par SpeechCursor, et est reli au dispositif de synthse vocale an davoir un retour sur les commandes reconnues. Dans cette variante de
4 Nous avons galement tendu le dispositif DJScrollbar pour quil puisse tre manipul avec une prcision suprieure
celle du pixel. Le dlement dun document peut ainsi tre contrl nement par un pointage de second ordre mais aussi
par tout dispositif de type tablette. Lafchage du curseur a galement t modi pour utiliser une interpolation linaire.
138
pointage augment, les deux curseurs sont situs au mme niveau dans la conguration. En effet, le
dplacement de chacun des deux curseurs est fonction de lautre.
Le dispositif SpeechCursor, principal dispositif de cette conguration, est un dispositif composite
construit avec des dispositifs utilitaires de base. Celui-ci est relativement complexe : il comporte 17
dispositifs et emploie un dispositif composite lui-mme constitu de 21 dispositifs de base. Nous y
reviendrons dans la section 5.4 page 157 lorsque nous dvelopperons le problme de la complexit.
Les techniques dinteraction avances cls en main
Avec la technique du curseur vocal vue prcdemment, nous ne sommes plus trs loin des limites
pratiques de la construction de comportements complexes partir de briques de base. Pour dcrire
des techniques dinteraction complexes, lemploi de dispositifs scriptables ou limplmentation de
dispositifs monolithiques sont des solutions privilgier.
Les techniques dinteraction implmentes sous forme de dispositif, prtes lemploi , rendent
possible la description rapide dinterfaces volues. La bibliothque dICON comporte actuellement
trois de ces techniques dinteraction, toutes trois bases sur la semi-transparence : la Toolglass, le
Floating Quikwriting, et le dispositif de Commande Gestuelle.
Le dispositif Toolglass permet danimer une barre doutils semi-transparente, manipulable en interaction bimanuelle. Ce dispositif implmente la technique dinteraction de mme nom (voir section 1.3.3 page 19), avec de plus une transparence contrlable. La prsentation visuelle de cette barre
doutils (liste et disposition des icnes afcher) est spcie dans la fentre de proprits du dispositif (gure 4.34 page suivante).
Les slots x et y de la toolglass ont fonction de picking : lorsque son slot use est vrai, le dispositif
met vrai sur lun des slots de tool selon loutil qui se trouve la position donne. Cette position est
galement retransmise en sortie sur les slots xthru et ythru. Dans la conguration de la gure 4.34
page suivante, chaque slot boolen de tool est connect au slot activate dun curseur ddi (seul le
contrle de loutil Freehand est reprsent ici, les autres tant similaires). Lorsquaucune icne na
t slectionne, le curseur actif est le curseur par dfaut (en haut sur la gure). Dans le cas contraire,
un autre curseur est activ (en bas sur la gure), et travers lui, loutil correspondant. Pour nir, la
toolglass peut tre dplace travers ses slots xmove et ymove, et sa transparence peut galement tre
139
F IG . 4.35 Scnario dutilisation de la technique dinteraction Floating Quikwriting dans Swing. Ici, lutilisateur supprime une espace et insre un saut de ligne en un geste rapide.
mandes boolennes, en plus de produire un retour graphique. La conguration de la gure 4.36 illustre
son utilisation avec les composants texte de Swing.
Implment rcemment, le dispositif GestureCmd offre une prise en charge de linteraction gestuelle conventionnelle. Il repose sur le moteur de classication de Satin [H ONG & L ANDAY 00] dont il
emploie galement les vocabulaires prdnis et linterface dentranement. La fentre de proprits du dispositif permet de lancer celle-ci, et de paramtrer laspect de la trace afche en incrustation. Le dispositif de commandes gestuelles met, en plus des commandes et des classes de commandes reconnues, des proprits gomtriques telles que le rectangle englobant, le point de dpart
et le point darrive du geste. Nous avons employ ce dispositif pour dessiner des formes gomtriques dans ICONDraw et pour saisir du texte dans les applications Swing avec lalphabet Grafti [M AC K ENZIE & Z HANG 97].
Une distribution en version alpha dICON est en libre tlchargement ladresse suivante : http://www.emn.fr/x-inf
En dehors des applications-jouet voques dans ce chapitre, ICON est actuellement utilis pour
la conception de deux applications interactives dans le cadre du projet GINA (Gomtrie Interactive
et Naturelle) [CMI 02]. Ce projet a pour objectif de fournir des outils de reconstruction 3D partir de
vues 2D en perspective et de contraintes spcies de manire multimodale. Les applications sont les
141
4.6 Conclusion
Nous avons dcrit ICON, une bote outils dentre dont lobjectif est de rsoudre les principaux
problmes lis ladaptabilit en entre actuellement non abords par les botes outils graphiques.
142
4.6. CONCLUSION
Nous avons principalement montr travers des exemples quICON permettait de construire aisment
une grande varit de techniques dinteraction Post-WIMP et daccessibilit, existantes ou indites, et
que ces techniques une fois construites taient extrmement congurables.
La bote outils en entre ICON est un projet vaste, qui a mis longtemps atteindre la maturit
ncessaire pour commencer tre utilis dans des applications grandeur nature. Les utilisateurs ayant
employ ou employant ICON sont pour lheure trs satisfaits de cet outil, car il leur ouvre des possibilits que nul autre nest actuellement en mesure de fournir. Ces utilisateurs ont galement, par leurs
remarques, grandement contribu son amlioration. En distribuant librement ICON, nous esprons
la fois populariser notre approche dans le monde du dveloppement et de la recherche, la valider par
un nombre plus important dapplications, et obtenir des retours constructifs an damliorer ICON.
ICON fournit des solutions indites la plupart des problmes lis linteraction en entre, mais
ne prtend pas les rsoudre tous. Il ne prtend pas non plus luniversalit. Dans le chapitre suivant,
nous analyserons les forces et les faiblesses de notre approche en gnral et dICON en particulier, et
tenterons galement de rpondre aux nombreuses questions quelles ouvrent.
143
144
Chapitre 5
Discussion
Sommaire
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Les apports dICON du point de vue architectural . . . . . . . . .
5.2.1 Architecture concrte des systmes interactifs . . . . . . . . .
5.2.2 Les niveaux daccs et de contrle dICON . . . . . . . . . .
5.2.3 Une gestion des entres entirement explicite . . . . . . . . .
Pertinence du modle pour les interactions Post-WIMP . . . . . .
5.3.1 Limitations du langage et pouvoir dexpression . . . . . . . .
5.3.2 Prise en compte des dispositifs non conventionnels . . . . . .
5.3.3 Description de techniques dinteraction non conventionnelles .
Complexit et lisibilit . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1 Le rle de la structuration spatiale . . . . . . . . . . . . . . .
5.4.2 Les limites du tout-visuel . . . . . . . . . . . . . . . . . . . .
5.4.3 Complexit et nature de linteraction . . . . . . . . . . . . . .
Caractrisation des diffrents types de dispositifs . . . . . . . . . .
5.5.1 Les dispositifs systme dentre . . . . . . . . . . . . . . . .
5.5.2 Les dispositifs dapplication et de bote outils . . . . . . . .
5.5.3 Les dispositifs utilitaires . . . . . . . . . . . . . . . . . . . .
Dvelopper avec ICON . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.1 Matriser un nouveau paradigme de programmation . . . . . .
5.6.2 Connexion avec les outils et applications existantes . . . . . .
5.6.3 La rutilisabilit des congurations . . . . . . . . . . . . . .
5.6.4 La prise en charge effective des dispositifs dans ICON . . . .
5.6.5 Les performances . . . . . . . . . . . . . . . . . . . . . . . .
Les utilisateurs dICON . . . . . . . . . . . . . . . . . . . . . . . .
5.7.1 Un continuum dutilisateurs . . . . . . . . . . . . . . . . . .
5.7.2 Les utilisateurs avancs . . . . . . . . . . . . . . . . . . . . .
5.7.3 Utilisateurs scientiques et informaticiens . . . . . . . . . . .
5.7.4 Dveloppeurs . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7.5 Le cycle de vie dune conguration . . . . . . . . . . . . . .
Positionnement de notre approche et perspectives . . . . . . . . .
5.8.1 ICON et les autres approches . . . . . . . . . . . . . . . . . .
5.8.2 Quelques perspectives . . . . . . . . . . . . . . . . . . . . .
145
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
147
147
147
148
150
151
152
154
155
157
157
159
160
161
162
163
166
166
166
169
171
172
173
174
174
174
176
176
177
177
177
180
CHAPITRE 5. DISCUSSION
146
5.1. INTRODUCTION
5.1 Introduction
Dans ce chapitre, nous identions les apports essentiels dICON, ainsi que ses limites, la fois
celles qui sont inhrentes notre modle et celles pour lesquelles nous pensons pouvoir proposer des
solutions. Nous gnraliserons galement quelques aspects de notre approche.
Dans un premier temps, nous expliquons comment ICON tend larchitecture des systmes interactifs actuels pour rendre la gestion des entres explicite. Puis, nous tentons de dterminer dans quelle
mesure ICON et son modle sous-jacent sont pertinents pour dcrire les paradigmes dinteraction non
conventionnels voqus dans le premier chapitre, et poursuivons avec les problmes de complexit et
de lisibilit relatives au langage visuel.
Nous gnralisons et dtaillons galement le rle des diffrents types de dispositifs, et en particulier les services que doivent fournir ICON les dispositifs de bote outils et dapplication.
Nous analysons ensuite la pertinence dICON du point de vue du programmeur, en abordant diffrentes considrations dordre pratique. Puis, nous voquons les diffrents utilisateurs auxquels ICON
sadresse.
Pour nir, nous comparons ICON avec les approches existantes et proposons quelques perspectives, avant daborder la conclusion gnrale de cette thse.
5.2.1
Dans les systmes interactifs actuels, les applications sappuient essentiellement sur des services
partags fournissant une gestion standard des entres. Dans ces systmes, les techniques dinteraction
standard sont implmentes sur plusieurs niveaux (gure 5.1 page suivante) :
Niveau matriel : Les entres peuvent tre gres en partie au niveau matriel, par llectronique du dispositif. Cest le cas par exemple des boutons de tir automatique sur certaines
manettes de jeux, similaires la fonction de rptition de touches du clavier. Ces mcanismes
peuvent tre vus comme des techniques dinteraction.
Niveau systme : Au niveau du systme dexploitation, les pilotes de dispositifs fournissent au
programmeur des abstractions de bas niveau pour lire les donnes en provenance des dispositifs.
Les pilotes ont galement pour charge de transformer les donnes spciques en informations
interprtables par le gestionnaire dentres standard du systme dexploitation. Certains pilotes
de dispositifs non standard permettent ainsi un contrle par compatibilit en imitant le comportement dun clavier ou dune souris. Le gestionnaire dentres standard du systme dexploitation fournit des services relatifs aux dispositifs standards, tels que lafchage dun pointeur
147
CHAPITRE 5. DISCUSSION
TECHNIQUES D'INTERACTION
Matriel
Dispositifs
Systme
Pilotes
B. Outils
Gestionnaire
d'entres
Routeur
Entres
standard
Application
Widgets
UI
Application
Evnements
standard
Autres
entres
Donnes spcifiques
aux dispositifs
F IG . 5.1 Architecture concrte dun systme classique, mettant en vidence les diffrents niveaux dimplmentation des techniques dinteraction standard.
5.2.2
La gure 5.2 page ci-contre montre comment ICON sinsre dans un systme interactif concret.
ICON est une bote outils dentres qui sinterpose entre le systme dexploitation et lapplication.
Lorsquil est intgr une bote outils graphique comme Swing, il sinsre entre ses mcanismes de
routage vnementiel et ses widgets. ICON peut servir tendre la gestion standard des entres, mais
est galement capable de grer la quasi-totalit de linteraction des dispositifs dentre lapplication.
Le rle jou par ICON dans la gestion des entres dpend essentiellement de la manire dont il accde
aux entres et de la faon dont il contrle lapplication.
ICON accde aux entres deux niveaux :
Accs aux vnements standard : ICON peut tre contrl par des vnements standard,
148
TECHNIQUES D'INTERACTION
Matriel
Systme
BO
ICon
BO
Application
Application
Entres
Standard
Evts
standard
Autres
Entres
UI
Contrle
gnrique
de surface
Contrle
gnrique
de modle
Contrle
ddi
Accs
bas-niveau
Dispositifs
d'appli.
CHAPITRE 5. DISCUSSION
riques compatibles avec les applications existantes. Le contrle de modle est gnrique en ce
sens quil nest pas ddi une application particulire, mais il est cependant plus spcique
que le prcdent, car il dcrit des interactions avec une classe de widget donne. La conguration de la gure 4.27 page 135, qui dcrit le contrle des barres de dlement la voix,
en est un exemple. Le contrle dune interface zoomable (gure 4.25 page 134) est un exemple
dutilisation de manipulateurs de modle dans une bote outils graphique non conventionnelle.
Le contrle ddi : Ce niveau dcrit le contrle dune application interactive travers des
dispositifs dapplication. Cest le niveau de contrle le plus puissant, car il permet de dcrire
des techniques dinteraction ddies la tche. Il ne concerne cependant que les applications qui
ont t dveloppes pour tre compatibles avec ICON, ou des applications qui ont t modies
dans ce sens. Les dispositifs dapplication sont en principe spciques une application donne,
mais il est galement possible dimaginer des librairies de dispositifs rutilisables adapts un
type particulier dapplication. ICONDraw est un exemple dapplication qui supporte le contrle
ddi comme le dessin la tablette graphique (gure 4.24 page 134).
5.2.3
Nous avons vu quICON permettait de court-circuiter une bonne partie des services du systme
dexploitation et de la bote outils an de grer la quasi-totalit de linteraction en entre. Cette
dernire option est la plus avantageuse car elle remplace lensemble des botes noires standard par
une bote blanche hautement congurable.
TECHNIQUES D'INTERACTION
Matriel
Clavier
Gnrateur
de codes touches
Systme
Gnrateur
de symboles
B. Outils
Gnrateur
de caractres
Application
JText
F IG . 5.3 La cascade de traitements dans un systme interactif classique, vue de lapplication. Le dispositif
concret na pas dexistence, et les traitements bas-niveau sont cachs.
La gure 5.3 reprend lexemple de la gestion standard du clavier initialement introduit dans la
section 3.2.5 page 98 [F EKETE & D RAGICEVIC 00]. Certaines fonctionnalits comme la rptition des
touches, la mmoire tampon, et la gestion des voyants nont pas t mis en vidence dans cette
exemple, mais celui-ci reproduit nanmoins les principaux mcanismes de gestion du clavier prsents
dans tous les systmes interactifs existants. Comme voqu prcdemment, la gestion des entres est
rpartie entre diffrents acteurs, de llectronique du dispositif jusqu lapplication.
Si une grande partie de la gestion des dispositifs dentre dans les systmes interactifs actuels
peut tre dcrite par de telles cascades de dispositifs, cette structuration est toujours implicite : les
adaptateurs ne sont pas toujours bien distincts, les tches de traitement sont dissmines travers
diffrentes couches tanches, et il nexiste nalement pas de mcanisme fournissant une vision globale
de la chane complte de ces traitements. Bien que les systmes dexploitation produisent parfois des
donnes plusieurs niveaux dabstraction pour rpondre aux besoins des applications et des botes
150
Matriel Sys.
Clavier
Gnrateur
de codes touches
Gnrateur
de symboles
Application
Gnrateur
de caractres
F IG . 5.4 Les diffrents niveaux dabstraction du clavier, explicits par la cascade de dispositifs.
linverse, ICON est capable dexposer de faon explicite le dispositif physique1 et tous les traitements effectus en amont. Chez le dveloppeur, la vision synthtique et vnementielle dun dispositif
dentre est alors remplace par une vision niveaux multiples. Le niveau le plus bas est le dispositif
concret : le clavier concret est une bote boutons, chacun de ces boutons comportant deux tats.
Cette vision mcanique du clavier est celle quexprimente lutilisateur. Ensuite, chaque adaptateur
supplmentaire joue le rle dun oprateur logique qui transforme successivement un clavier concret
en clavier spatial, puis symbolique, et enn textuel (gure 5.4). Selon ses besoins, lapplication peut
se greffer chacun de ces niveaux : un clavier textuel est pertinent pour une application de traitement
de texte, mais un clavier plus bas niveau est mieux adapt des actions telles que le dplacement dun
curseur (gure 5.4). Il est en outre vident quune telle modularit procure une congurabilit bien
plus importante.
151
CHAPITRE 5. DISCUSSION
nir. Enn, nous tenterons de dterminer en quoi notre approche est adapte ou non la description des
diffrents paradigmes dinteraction non-standard voqus dans le premier chapitre.
5.3.1
Le langage ot de donnes dICON comporte certaines limitations inhrentes. Nous les justions
ici, et dcrivons en quoi elles ne nuisent pas rellement son pouvoir dexpression.
Unicit des connexions en entre
ICON nautorise pas les connexions multiples sur un seul slot dentre, ce type de connexion
ntant pas souhaitable dans un paradigme ractif. En effet, plusieurs signaux peuvent converger pendant un tick l o lon suppose quun seul signal (et une seule valeur) peut tre stock. La mthode
consistant conserver le dernier signal induit un comportement non-dterministe car lordre dans
lequel arrivent les signaux nest pas connu.
Dans ICON, les signaux ncessitent dtre fusionns explicitement par des dispositifs de type
oprateur mathmatique ou logique. Cette mthode prsente lavantage dtre dterministe, et permet
lutilisateur de choisir librement la faon dont il veut combiner plusieurs sources de donnes sur un
seul slot dentre.
Staticit
Les congurations dentre sont statiques : elles ne peuvent pas tre modies pendant lexcution. Cest en particulier le cas des connexions. Or les techniques dinteraction comportent la fois
des connexions statiques (la souris bouge toujours le mme curseur) et des connexions dynamiques
(le curseur contrle diffrents objets). En effet, sil est envisageable daffecter un dispositif un objet
de faon permanente (par exemple, le contrle du volume), le nombre de dimensions contrlables
dune application est souvent suprieur aux dimensions disponibles en entre, do la ncessit dun
multiplexage spatial ou temporel.
Le multiplexage peut cependant tre dcrit avec ICON, de deux manires diffrentes. La premire
repose sur des techniques dactivation slective : les sorties dun dispositif sont connectes de faon
permanente aux entres de plusieurs dispositifs comportant chacun un slot boolen dactivation, et un
mcanisme de slection sassure quun seul dentre eux est actif la fois. La conguration montrant
un usage de la Toolglass dans ICONDraw constitue un exemple dactivation slective (voir gure 4.34
page 140).
La deuxime technique de multiplexage emploie des passages de rfrence : un dispositif agit sur
lobjet qui lui a t transmis en entre par un autre dispositif, et est capable changer dobjet dintrt
tout moment. Les slecteurs et les manipulateurs dcrits dans la section 4.2.3 page 114 emploient
cette technique, et sont notamment utiliss dans la conguration dcrivant le contrle des composants
Swing (voir gure 4.18 page 131).
Autoriser des reconnexions dynamiques dans les congurations dentre compliquerait signicativement le modle dexcution, et serait source de confusions importantes si le problme de la
reprsentation visuelle adquate nest pas tudi srieusement. Cependant, si notre approche dacti152
Acyclisme
Nous distinguons deux types de cycles : les cycles explicites, qui sont internes la conguration,
et les cycles implicites, qui transitent par lenvironnement. Nous les dcrivons sparment.
Les cycles explicites. En tant que langage ractif, ICON nautorise pas les dpendances cycliques
directes : lalgorithme de sa machine ractive repose sur lexistence dun ordre partiel entre les dispositifs, qui garantit lexcution de chaque tick en un temps ni. La plupart des langages ractifs
rsolvent ce problme en autorisant les cycles avec un oprateur de retard, qui transmet le signal au
tick suivant.
Un oprateur de retard peut galement tre implment dans ICON pour permettre de dcrire des
cycles explicites, cest--dire des cycles internes la conguration. Cependant nous navons jamais eu
besoin de tels cycles, sauf une seule reprise, lorsque nous dcrivions un comportement un niveau
de granularit trs n2 . Les cycles de ce type traduisent des mcanismes internes qui se situent, selon
nous, un niveau trop bas pour tre pertinent du point de vue de la personnalisation de linteraction.
Notre exprience a montr qu un certain niveau de granularit, les comportements peuvent tre tous
dcrits sans faire appel des cycles.
Nous pensons plus gnralement que les ux unidirectionnels de donnes, o contrleurs et
contrls sont clairement spars, constituent un bon modle structurant pour linteraction en entre bas-niveau. Cette structuration garantit en effet une certaine amodalit, dans la mesure o un
niveau donn dans la cascade de dispositifs (niveau qui correspond une certaine abstraction des dispositifs physiques comme nous lavons vu dans la section 3.2.5 page 98), linterprtation des actions
de lutilisateur ne dpend pas de ltat du systme en aval.
Les cycles implicites. Linformation peut transiter dans nimporte quel sens dans une conguration ICON en passant par les entres/sorties implicites. Nous qualions ce type de cycle dimplicite,
car il transite par lenvironnement. Le comportement dun dispositif pick, par exemple, dpend de
lagencement spatial des objets quil sert en partie manipuler. Les cycles implicites sont utiles car
ils permettent une conguration dentre deffectuer, travers des points de retour comme le pick,
des requtes dans lapplication ou la bote outils tout en la contrlant.
Les seuls cycles qui nous semblent essentiels dans linteraction sont par consquent ceux qui
rsultent de la communication double sens entre le contrle et la vue dune part (pour le pick, par
exemple), et entre le contrle et le modle dautre part (pour le retour smantique). Ces cycles sont
tous implicites et peuvent tre dcrits par des points de retour. Ils remettent en cause notre modle
unidirectionnel, mais seulement un niveau de la cascade o la communication bidirectionnelle avec
la vue et le modle devient ncessaire.
2 Chacun des deux pointeurs dcrit par notre technique de curseur vocal (gure 4.33 page 139) peut tout moment
prendre la position de lautre. Ce mcanisme a t dcrit dans ICON dans un dispositif composite (gure 5.8 page 159) en
maintenant jour lcart entre les deux positions, comportement qui aurait pu tre dcrit plus simplement par lusage dun
cycle.
153
CHAPITRE 5. DISCUSSION
5.3.2
Les dispositifs dentre non standard sont extrmement nombreux et varis, et de nouveaux dispositifs apparaissent rgulirement sur le march ou dans le monde de la recherche. Il est par consquent
indispensable de disposer dun modle assez gnral pour prendre en compte les dispositifs existants
et ceux venir.
Le modle base de canaux structurs sur lequel repose ICON est la fois trs simple et trs
gnral. Les canaux ont t largement employs dans les modles de dispositifs dentre, et sont
aujourdhui adopts par les principaux standards [USB/HID 01]. En effet, tout dispositif dentre peut
tre dcompos en un ensemble de canaux atomiques. La faiblesse des modles existants provient
non pas de cette dcomposition en canaux mais dune classication ge des dispositifs, qui les rend
peu volutifs et ne permet pas dexploiter les capacits propres chaque dispositif. ICON rsout le
problme en vacuant toute notion de classe ad-hoc. Nanmoins, dans certains cas particuliers que
nous dtaillons ici, notre modle peut montrer certaines faiblesses.
Les dispositifs grand nombre de dimensions
F IG . 5.5 Deux dispositifs grand nombre de dimensions : le cube dformable [M URAKAMI et al. 95] et la table
Smartskin [R EKIMOTO 02].
La dcomposition en canaux rencontre des difcults dans les cas de dispositifs dentre possdant un trs grand nombre de dimensions. Le cube dformable de Murakami et al [M URAKAMI et al. 95],
reprsent sur la gure 5.5 est une structure recouverte de mousse qui comporte 90 degrs de libert interdpendants. Le dispositif Smartskin de Rekimoto [R EKIMOTO 02], dj prsent au premier chapitre
et illustr sur la gure 5.5, image de droite, est une matrice de 72 (ou 768 selon le modle) capteurs
capacitifs. Les nombreux canaux de ces dispositifs seraient pnibles connecter individuellement. En
outre, la reprsentation en liste de slots dans ICON nest pas adapte des canaux disposs en matrice. Mme si ICON permet dorganiser ces canaux multiples en un unique slot composite, ceux-ci se
comporteraient du point de vue de la machine ractive comme des canaux individuels dont la gestion
resterait lourde.
Une solution consiste modliser ces dispositifs un plus haut niveau (par exemple, remplacer la
matrice de Smartskin par une liste de pointeurs), avec cependant pour inconvnient de faire disparatre
le dispositif concret et de rendre implicite une partie importante de la chane de traitements. Pour le
154
5.3.3
partir dun nombre limit de dispositifs fournissant les services de base, les possibilits offertes
par ICON pour dcrire des techniques dinteraction existantes ou indites sont extrmement nombreuses. Nous avons construit et test approximativement une centaine de congurations dentre, et
nous ne pouvons malheureusement pas toutes les voquer. Dans le chapitre prcdent, nous avons
essay den fournir un chantillon reprsentatif.
Les techniques dinteraction non conventionnelles proposes dans la littrature scientique sont
nanmoins extrmement nombreuses, et nous navons pas pu toutes les dcrire ce jour. Dans cette
section, nous exploitons toutefois les rsultats obtenus avec les techniques dj implmentes et tentons de dterminer les capacits potentielles dICON pour les autres, dans le but didentier les caractristiques des paradigmes non conventionnels par rapport auxquelles ICON est pertinent et celles pour
lesquelles il lest moins. Nous avons identi un certain nombre de ces caractristiques qui ncessitent
une prise en charge spcique :
1. Le paralllisme : Le paralllisme est un caractre essentiel des interfaces post-WIMP, en par155
CHAPITRE 5. DISCUSSION
ticulier dans celles bases sur linteraction bimanuelle et multimodale. Parce quICON sappuie
sur un paradigme ot de donnes, il est naturellement adapt la description de la concurrence. Dune part, des comportements concurrents peuvent tre ajouts un comportement existant sans manipuler la conguration dentre initiale. Dautre part, le langage graphique se prte
bien la reprsentation de comportements massivement parallles, car bien que les connexions
soient nombreuses le paralllisme ninduit pas de croisements entre celles-ci. Dans le chapitre
sur la bote outils ICON, nous dcrivons un exemple o un simple copier-coller transforme
une interaction Swing standard en une interaction multi-pointeurs (gure 4.22 page 133).
2. La transparence : Lafchage dobjets transparents en incrustation est une technique prsente
dans la plupart des paradigmes post-WIMP, comme les outils semi-transparents ou linteraction
gestuelle. Les dispositifs de feedback se prtent bien la description de telles techniques, et
ceux que nous avons implment dans ICON nous ont permis de dcrire des interactions base
de pointeurs multiples, de barres doutils et de saisie gestuelle ottantes. Nous pensons plus
gnralement que ce type de retour graphique permet de dcrire un grand nombre de techniques dinteraction indpendamment de lapplication, et quICON gagnerait tre tendu pour
inclure explicitement un modle de feedback graphique multicouche tel que celui dcrit dans
[F EKETE & B EAUDOUIN -L AFON 96, F EKETE 96 B].
3. Les modalits naturelles : Certaines interfaces post-WIMP reposent sur lexploitation de modalits naturelles telles que la parole et le geste pour communiquer avec lordinateur. Ce type
dentres, dont linterprtation est complexe, soppose aux entres explicites telles que le pointage. Pour pouvoir tre interprts par lapplication, les signaux bruts provenant de ces entres
doivent tre convertis en symboles par des techniques de classication. Les algorithmes de classication sont lents et se prtent mal un paradigme ractif3 . Le principe des entres/sorties
implicites (voir section C.5.1 page 232) dICON permet toutefois de dcrire des dispositifs
asynchrones et temporellement non-dterministes, qui effectuent leurs calculs dans un autre
l dexcution an de ne pas bloquer la machine ractive. Le classicateur est alors vu comme
un dispositif dentre qui met des sorties son rythme propre. Le dispositif de commande
vocale (voir section 4.2.1 page 111) en est un exemple. Certains aspects plus haut-niveau de
linteraction multimodale tels que la gestion de lambigut et la fusion des modalits ne sont
cependant pas pris en charge par ICON.
4. Les capteurs passifs : Linteraction implicite base de capteurs et la sensibilit au contexte sont
des caractristiques prdominantes dans certains paradigmes tels que linformatique diffuse ou
linformatique vestimentaire. Les capteurs passifs se distinguent des dispositifs dentre en ceci
quils ne sont pas directement contrls par lutilisateur. Dans ICON, les capteurs peuvent tre
tout--fait assimils des dispositifs dentre et tre connects des applications de la mme
manire. Nous pourrions par exemple construire une conguration o le niveau acoustique de
lenvironnement (information dj disponible travers le dispositif de commande vocale) agit
sur le volume sonore dune application. Limplmentation dune grande varit de capteurs ainsi
que des dispositifs de traitement adapts tels que des classicateurs sufrait dcrire la plupart
des techniques dinteraction implicite employes dans ces interfaces post-WIMP.
3 Les interactions base de classication sont quelque peu en contradiction avec la nature suppose concise et directe de
linteraction post-WIMP (voir section 1.3.1 page 15). Mais il existe proprement parler plusieurs approches de linteraction
Post-WIMP, dont certaines sattachent plus laspect communicationnel qu laspect instrumental. Quoi quil en soit, les
interactions base de classication restent indispensables dans certains contextes comme laccessibilit.
156
5.4.1
F IG . 5.6 La conguration par dfaut dICONDraw, o les dispositifs standard contrlent diffrents outils de
dessin ainsi que les composants Swing. Cette reprsentation nemploie pas de liens.
Sur la gure 5.6 est reprsente la conguration dentre par dfaut dICONDraw. Cest une conguration minimale mais complte permettant de contrler, avec les dispositifs standard, les trois outils
de dessin, les attributs de la brosse, ainsi que les widgets standard de Swing. Bien que lon puisse y
deviner une technique de multiplexage, cette conguration est illisible. Non seulement les nombreux
croisements entre les connexions (impossible viter ici) nuisent sa lecture, mais il est galement
difcile de dterminer les rles respectifs des diffrents dispositifs.
La gure 5.7 page suivante montre une autre reprsentation de la mme conguration. Cer157
CHAPITRE 5. DISCUSSION
tains dispositifs ont t dupliqus plusieurs endroits de lespace de travail en employant des liens
(voir 4.4.1 page 127). Les dispositifs ont ensuite t regroups an de mettre en vidence les diffrentes parties fonctionnelles de la conguration : la partie A dcrit le contrle standard des composants
Swing. La partie B dcrit la slection de loutil au bouton droit de la souris, selon une technique de
multiplexage temporel. La partie C dcrit le contrle des attributs de la brosse au clavier, selon une
technique simple dincrmentation/dcrmentation (la brosse est un dispositif virtuel fourni par
ICONDraw, qui se contente de dcrire une structure et transmettre en sortie les donnes reues en
entre). Enn, les parties de D1 D3 dcrivent le contrle des trois outils de dessin.
F IG . 5.7 Sur cette reprsentation de la conguration par dfaut dICONDraw, des liens ont t employs pour
viter les croisements de connexions et les dispositifs ont t regroups de faon mettre jour les diffrentes
parties fonctionnelles. Nous avons ajout les rectangles englobants et les lettres de A D pour les besoins de
notre discours.
Cet exemple montre que la lisibilit dune conguration dentre repose en grande partie sur une
158
5.4.2
Dans le chapitre prcdent, nous avons dcrit une technique de pointage vocal employant deux
pointeurs interdpendants, le premier tant sensible au niveau sonore et le second la commande
reconnue (conguration de la gure 4.33 page 139). Cette technique dinteraction sophistique est
principalement implmente par le dispositif SpeechCursor, un adaptateur qui renseigne la position
des deux pointeurs en fonction des commandes quil reoit.
F IG . 5.8 Dcomposition du dispositif composite SpeechCursor ( gauche) en sa conguration-lle (au milieu). Cette dernire emploie galement quatre instances dun dispositif composite cr pour loccasion et dont
la conguration-lle est reprsente droite.
Le comportement du dispositif SpeechCursor a t entirement dcrit avec des oprateurs lmentaires dICON an de tester la puissance dexpression du langage (gure 5.8). Nous ne nous attarderons
par dcrire ces congurations, notre but tant simplement de montrer que malgr les deux niveaux
de composition, chaque conguration-lle est relativement complexe et difcile lire.
Cet exemple montre les limites du tout-visuel ou du tout-modulaire consistant dcrire
nimporte quel comportement, mme trs complexe, par composition doprateurs simples. Bien que
159
CHAPITRE 5. DISCUSSION
nous ayons plusieurs reprises insist sur les avantages apports par un modle modulaire en termes
de congurabilit, nous avons galement montr lintrt demployer des dispositifs monolithiques
(implments en Java) pour dcrire des comportements complexes, et en particulier des techniques
dinteraction connues. Nous pensons en effet qu partir dun certain niveau de granularit, il devient
inutile de dcomposer les comportements car la complexit lemporte sur la souplesse. En effet, un
dispositif monolithique mais paramtrable est toujours plus congurable (dans le sens que nous avons
dni dans la section 1.4.2 page 29) quune conguration dentre dont on narrive pas comprendre
le fonctionnement. Il nous semble cependant difcile dtablir prcisment cette granularit-limite.
5.4.3
La gure 5.9 illustre deux techniques de trac de lignes que nous avons dj voques dans le
chapitre prcdent, et quil nous semble utile de reproduire ici. La conguration du haut dcrit la
technique de cliquer-glisser standard couramment employe pour spcier deux points avec un seul
pointeur. Celle-ci a t ensuite modie (conguration du bas) pour prendre en compte un deuxime
dispositif de pointage. La conguration obtenue est bien plus simple que la conguration originale,
dabord parce que le multiplexage nest plus ncessaire : deux dispositifs contrlent deux dimensions.
Ensuite, parce que la tablette graphique fournit des donnes directement compatibles avec celles du
dispositif dapplication (la souris ncessite la conversion de positions relatives en positions continues).
Cet exemple montre que la complexit dune conguration dentre dpend dune certaine manire du type dinteraction quelle dcrit. Les techniques dinteraction standard, parce quelles utilisent des entres relativement pauvres et gnriques, emploient des techniques dinteraction essentiellement bases sur le multiplexage, ncessitant lusage de modes et de structures conditionnelles.
Ces comportements peuvent tre lorigine de congurations dentre relativement complexes. linverse, les congurations dentre les plus simples, o la transformation des donnes est majoritaire
par rapport leur contrle, dcrivent des techniques de contrle direct avec des dispositifs multiples.
La technique dinteraction bimanuelle dcrite ci-dessus en est un exemple, tout comme le contrle
dune interface zoomable avec un dispositif six degrs de libert (gure 4.25 page 134).
Il est intressant de constater que dans lexemple dcrit prcdemment, la technique dinteraction
considre comme la plus naturelle se dcrit aussi le plus aisment. Une technique dinteraction simple
dutilisation ne se dcrit pas ncessairement de faon simple dans ICON (par exemple, un dispositif
160
4 Cest--dire
que linterface est manipule comme un instrument ou un outil plutt quemploye comme un mdium de
communication.
161
CHAPITRE 5. DISCUSSION
5.5.1
5.5.2
CHAPITRE 5. DISCUSSION
une chane peut ventuellement transmettre un message derreur. Un ltre produisant une liste
darguments valides serait galement utile pour dcrire des techniques comme le snap smantique [H UDSON 90] ou le drag-and-pop [BAUDISCH et al. 03].
Lannulation est un point dentre qui peut tre prsent sur chaque dispositif sous forme dun
slot annuler et dun slot refaire. Lannulation peut galement tre dcrite dans un unique dispositif global.
Services communs aux botes outils
La notication et lannulation sont deux services qui peuvent galement tre fournis travers les
botes outils graphiques. Voici les autres services de botes outils graphiques susceptibles dtre
employs dans les congurations :
Points dentre :
Les manipulations gnriques : Il sagit de points dentre qui dcrivent lensemble de
manipulations quil est possible deffectuer sur tout type de widget. Le manipulateur de surface DJComponent, qui interprte des manipulations positionnelles simples, en constitue un
exemple. Des manipulations gomtriques plus sophistiques peuvent tre prises en charge,
comme les changements dchelle et les rotations de Jazz. Un protocole dmission de commandes similaire ceux des botes outils semi-transparents (section 2.6.2 page 74) peut
galement tre dni. Enn, les botes outils peuvent ventuellement donner les moyens de
modier lemplacement et la hirarchie de leurs widgets.
Les manipulations spciques : Il sagit de points dentre qui dcrivent le contrle de
widgets de types spciques. Les manipulateurs de modle DJScrollbar et DJText sont des
exemples de points dentre qui permettent de dcrire des techniques dinteraction adaptes
aux modles internes des widgets.
Le feedback : Certains feedbacks tels que la mise en vidence graphique peuvent tre pris
en charge au sein des widgets. Ce service nest cependant pas indispensable et peut avantageusement tre remplac par la cration de fantmes (voir plus bas).
Points de retour :
Le pick : Il sagit dun service indispensable, dont la version minimale consiste retourner
lobjet le plus profond dans la hirarchie qui se trouve sous une position donne. Des services
plus avancs peuvent consister prendre en compte des critres de slection et/ou retourner
une liste dobjets candidats. Le pick avec des formes quelconques permettrait galement de
dcrire des techniques positionnelles volues comme le pointeur pour main non-dominante
de Bimanual Whizz (section 2.6.2 page 70) ou la manipulation groupe dobjets.
Le focus : Si la bote outils gre le focus, elle peut indiquer le focus courant par un point
de retour et/ou le rendre contrlable par un point dentre. Ce service nest pas indispensable
et pourrait dcrit dans ICON partir des deux services suivants.
Les fantmes : Ces points de retour produisent des instantans des objets de la bote outils,
qui peuvent tre anims en incrustation avec ICON. La cration dobjets fantmes multiplie les possibilits pour dcrire le feedback dans ICON, en particulier si cette fonctionnalit est paramtrable (choix entre contours seuls / forme pleine / image, et choix de la couleur et de la transparence). Les contours dun objet peuvent galement tre employs dans
des calculs de collision pour des techniques de manipulation base de formes (alignements
[R AISAMO & R IH 96] et manipulation groupe [R EKIMOTO 02], par exemple).
Informations non graphiques : Des informations non graphiques (analogues lAPI dac164
CHAPITRE 5. DISCUSSION
5.5.3
5.6.1
Limplmentation de dispositifs ICON est relativement simple en soi, car comme nous lavons vu
dans la section 4.3.1 page 118, elle consiste essentiellement dclarer des slots puis spcier les
166
CHAPITRE 5. DISCUSSION
ce dispositif, il convient de vrier si le slot use a reu un signal avant de traiter les valeurs x et y.
La simultanit complique gnralement la gestion des modes et des tats, car diverses combinaisons
possibles de signaux doivent tre prises en compte, y compris les combinaisons contradictoires (par
exemple, un signal vrai est reu simultanment sur des slots on et off). En outre, les choix qui sont
faits napparaissent pas lextrieur du dispositif, si ce nest travers sa documentation. Cest pourquoi nous pensons que la programmation de certains dispositifs dans ICON gagnerait reposer sur des
outils adapts, ide qui sera dveloppe dans la section 5.8.1 page 179.
Dterminisme et non-dterminisme : ICON fait la distinction entre dterminisme et non-dterminisme,
autres concepts auxquels un dveloppeur nest pas ncessairement habitu. Les dispositifs non-dterministes
sont simplement des dispositifs qui emploient des informations en provenance de lenvironnement,
systme qui englobe tout ce qui ne fait pas partie de la conguration dentre. Nous disons dans
ICON quils comportent des entres implicites (voir section 3.4 page 101). Par ailleurs, nous disons
dun dispositif qui modie lenvironnement quil comporte des sorties implicites. ICON ne dduit pas
automatiquement la prsence dentres/sorties implicites, et le dveloppeur du dispositif doit explicitement les dclarer en drivant les deux accesseurs boolens correspondants. Cette opration, bien
que simple, peut tre facilement omise par le programmeur. Elle est pourtant indispensable car premirement, un dispositif non-dterministe est trait diffremment par la machine ractive : celui-ci est
activ chaque tick an quil puisse, mme en labsence de signaux dentre, surveiller lvolution
de lenvironnement et ventuellement transmettre des valeurs en sortie. Ensuite, la prsence dentres
et de sorties implicites est une information qui contribue une bonne comprhension dune conguration dentre, car elle permet de voir clairement quels endroits cette dernire communique avec
lextrieur (utilisateur et application notamment).
Manipuler des objets dans les congurations dentre : Une conguration dentre opre sur
des types primitifs, structurs ou non, tels que des entiers ou des boolens. La manipulation dobjets
y est galement possible grce aux slots de type object, mais celle-ci requiert toutefois certaines prcautions. Il existe trois principales manires demployer des objets dans les congurations dentre :
la transmission de rfrences, la cration dobjets et la manipulation dobjets. La transmission de rfrences consiste transmettre dun dispositif lautre des rfrences des objets qui proviennent
initialement de lenvironnement. Les dispositifs slecteurs/manipulateurs, illustrs notamment par la
technique du pick, constituent un exemple de cette utilisation (voir section 4.2.3 page 114). Cet emploi ne pose aucun problme. La cration dobjets consiste crer des objets au sein dun dispositif
avant de les passer par rfrence. La cration dobjets ne pose pas de problme tant quelle ne nuit pas
lhypothse ractive (voir la discussion prcdente). Plus problmatique est la manipulation dobjets qui consiste, au sein des dispositifs, lire ou crire dans les objets transmis. Ces oprations
peuvent en effet engendrer des dpendances caches entre les dispositifs et rendre une conguration
dentre implicitement non-dterministe. Cest le cas par exemple de la conguration de la gure 5.10
page ci-contre. Lorsque cest possible, il est toujours prfrable de composer des slots primitifs plutt
que demployer des objets, car les ux dinformation et la structure des donnes manipules y sont
explicites. Dans le cas contraire, tout objet lu ou modi doit tre considr comme faisant partie
de lenvironnement, et les dispositifs concerns dclars comme ayant des entres et/ou des sorties
implicites.
168
F IG . 5.10 Conguration dentre manipulant des objets de type Liste : le dispositif addItem concatne
les objets mis par B la dernire liste mise par A, que printAfter afche aprs chaque modication.
printBefore afche quant lui les listes mises par A. Prcisons que seules des rfrences sont transmises
dans les connexions. Supposons que A mette une rfrence vers une liste L = {a1 , a2 } et quau mme moment,
B mette une rfrence vers un objet a3 . Le dispositif printBefore afchera {a1 , a2 } ou {a1 , a2 , a3 } selon
quil sexcute avant ou aprs addItem. Or, comme il nexiste aucune dpendance explicite entre ces deux dispositifs, il ny a aucun moyen de savoir lequel sera excut avant lautre. Le comportement de printBefore,
non-dterministe, dpend de la manire dont le tri topologique est effectu.
5.6.2
CHAPITRE 5. DISCUSSION
Gestion de la concurrence dans les botes outils et les applications
Le problme principal pos par la connexion dICON avec des botes outils graphiques ou des
applications existantes est quelle requiert une coopration minimale de ces dernires : leur contrlabilit repose fortement sur les services quelles sont capables de fournir (les services utiles ont t
dcrits dans la section 5.5.2 page 163), mais galement sur une gestion ne et correcte des modications concurrentes. Swing, par exemple, est capable dexposer ses widgets deux niveaux : un niveau
modle spcique au widget, et un niveau vnementiel gnrique. Les modles sont exposs avec
le niveau de dtail qui convient, et grent parfaitement la concurrence. Le niveau vnementiel, sur
lequel reposent les techniques de contrle de surface comme le contrle multi-pointeurs, comporte
cependant quelques faiblesses.
Premirement, chaque widget Swing gre ses propres vnements positionnels et peut donc tre
contrl indpendamment, mais certains liens implicites entre ces widgets induisent des comportements inappropris lors dun contrle multi-pointeurs : par exemple, cliquer sur un widget avec un
pointeur fermera un menu ouvert par un autre pointeur. Ce type de mode global trahit une gestion
incomplte et cble de linteraction concurrente.
Deuximement, il nest pas surprenant de constater quun widget Swing est incapable de grer
deux ux dvnements positionnels (par exemple, deux drags simultans) : la granularit du contrle
de surface se limite donc celle du widget, ce qui est principalement gnant pour de gros widgets.
Une liste, par exemple, est gre comme un seul widget et non comme un ensemble dlments. Une
barre de dlement constitue galement un widget monolithique.
Plusieurs stratgies peuvent tre envisages pour rsoudre ce problme. Nous avons dj propos
une faon de modier les botes outils existantes en substituant larchitecture M[V+C] [F OWLER 99]
une architecture MVZMC [D RAGICEVIC & F EKETE 99, F EKETE & D RAGICEVIC 00]. Cette dernire permet de
rendre les widgets nouveau modulaires en liminant la gestion des entres dans [V+C] et en la
remplaant par un protocole gnrique permettant de manipuler individuellement chacune des zones
manipulables du widget (gure 5.11, image de gauche). Lobjet [V+C] est ainsi remplac par lobjet
VZM (Vue/Zones/Manipulateurs), qui au lieu de recevoir les vnements dentre est manipul par un
ou plusieurs contrleurs de vue. Le modle est, quant lui, directement manipul par des contrleurs
de modle (gure 5.11, image de droite).
F IG . 5.11 gauche : les zones manipulables dune barre de dlement. droite : le modle architectural
MVZM C.
5.6.3
Il est essentiel pour le programmeur dapplications que les congurations quil dcrit soient rutilisables. Tout dabord, elles doivent pouvoir tre charges et excutes sur dautres systmes que le
sien. Ensuite, le fait de pouvoir rutiliser des congurations ou des parties de congurations dune
application lautre faciliterait la tche du programmeur, mais garantirait galement lutilisateur
une certaine cohrence de linteraction entre les diverses applications compatibles ICON.
CHAPITRE 5. DISCUSSION
Rutilisabilit dune application lautre
Dans les systmes interactifs traditionnels, les techniques dinteraction standard (pointage, menus,
widgets, etc.) sont rutilisables dune application lautre et surtout, offrent une cohrence globale
dans linterface utilisateur. Dans ICON, le dveloppeur de chaque application est libre de dcrire les
techniques dinteraction quil souhaite. Lavantage est bien sr de pouvoir employer des interactions
ddies la tche, mais la rutilisabilit inter-applications reste un critre essentiel pour le programmeur et les utilisateurs.
ICON autorise travers son modle modulaire une certaine cohrence dans les techniques dinteraction. Plusieurs congurations dentre peuvent ainsi reposer sur les mmes mcanismes de base
dj dcrits par les dispositifs utilitaires. En outre, les techniques dinteraction cl en main peuvent
tre facilement remployes dune application lautre. La faon dont ces techniques sont composes
et exploites dans une application peut varier cependant, et des techniques totalement indites peuvent
facilement tre dcrites. ICON ne propose pas de modle haut-niveau pour structurer linteraction, et
est en outre indiffrent quant aux conventions employes (par exemple, la smantique du bouton droit
de la souris). La cohrence de linteraction dune application lautre reste donc un problme, et si
les dveloppeurs dapplications peuvent sinspirer des conventions usuelles de la plupart des congurations reposant sur des dispositifs standard, les conventions relatives linteraction post-WIMP sont
encore inexistantes.
Enn, est-il possible de fournir des congurations dentre qui fonctionnent dans toutes les applications ? La rutilisabilit stricte des congurations dentre suppose une abstraction partage par
toutes les applications interactives. Les dispositifs de bote outils graphique fournissent un tel niveau de rutilisabilit, car ils permettent de contrler lensemble des applications reposant sur la mme
bote outils. Bien que ce contrle se fasse par compatibilit, des interactions non standard peuvent
nanmoins tre dcrites, et il est possible par exemple de proposer des congurations daccessibilit
gnriques5 . En outre, des botes outils graphiques volues comme Jazz permettent de dcrire des
techniques dinteraction gnriques encore plus sophistiques.
Malgr tout, le principe de conguration gnrique est incompatible avec celui de linteraction ddie la tche, et seuls des modles dapplication spciques permettront de dcrire des interactions
la fois puissantes et rutilisables. Nous avons dj voqu la possibilit de fournir une bibliothque
de dispositifs abstraits ddis au domaine, dispositifs pouvant tre partags par un petit nombre dapplications de mme nature (par exemple, applications de dessin ou applications 3D). Cette solution
semble constituer un compromis tout fait acceptable, qui reste encore explorer.
5.6.4
ICON sappuie sur un petit nombre dAPIs dentre existantes pour la prise en charge des dispositifs non standard (voir la section 4.2.1 page 111 pour les dtails). Les dispositifs dentre connects
au poste de travail et qui sont compatibles avec lune de ces APIs apparaissent dans ICON et peuvent
tre employs dans les congurations dentre. Les APIs actuellement prises en charge ne couvrent
cependant pas lensemble des dispositifs dentre existants, et les autres dispositifs ncessitent dtre
implments dans ICON avant de pouvoir tre utiliss. Cette opration peut se rvler fastidieuse, mais
elle reste avantageuse pour le programmeur car elle permet de tirer parti du nouveau dispositif dans
5 Voir
par exemple la conguration de la gure 4.27 page 135, qui dcrit le contrle vocal dune barre de dlement.
172
5.6.5
Les performances
ICON repose sur un modle dexcution ractif, bien diffrent du modle classique o les vnements dentre sont accumuls dans une le pour tre traits. Le modle vnementiel est de type
conversationnel : lordinateur est matre de linteraction et le client attend dtre servi. Dans un modle ractif, cest lenvironnement (donc lutilisateur) qui est matre de linteraction, et toute action de
sa part est traite sans dlai.
La machine ractive offre par consquent des garanties en termes de temps rel. En revanche,
le modle ractif nest valable que tant que lhypothse ractive est vrie, cest--dire lorsque les
vnements sont traits plus rapidement que la vitesse o ils arrivent. La transgression de lhypothse
ractive a des consquences importantes sur la abilit du systme et sur linteraction elle-mme, car
des vnements peuvent tre perdus.
La souplesse actuelle des pilotes de dispositifs (qui grent notamment des mmoires tampon) fait
quen pratique, la ractivit minimale acceptable dpend de critres pragmatiques plutt que techniques. Ainsi, pour la plupart des techniques dinteraction, un temps de raction de lordre de 1/50
de seconde permet de conserver linformation pertinente, et correspond une ractivit et un taux de
rafrachissement considrs comme largement acceptables du point de vue de lutilisabilit. Ce temps
doit tre sensiblement diminu pour certaines techniques comme la reconnaissance gestuelle, o le
dbit dinformations traiter (du moins au niveau bas) est plus important.
Le temps dexcution dune itration (tick) est la somme du temps de propagation des signaux
entre les dispositifs et de leur traitement au sein des dispositifs. Nous avons constat que le premier
tait ngligeable par rapport au dernier. Lalgorithme de propagation employ dans ICON et dcrit en
annexe C est minimaliste et performant, mme implment en Java. Pour donner un ordre de grandeur
du temps de propagation, une conguration comportant 1000 dispositifs simples (se contentant de
transmettre une valeur) connects en srie sexcute en environ 0.5 ms (taux de rafrachissement de
1800 Hz) sur une station Silicon Graphics 540 avec un processeur cadenc 550 MHz.
Le temps de traitement volue linairement par rapport au nombre de dispositifs prsents dans
la conguration, et est au moins gal celui du dispositif le plus lent. Ce temps doit tre maintenu
le plus bas possible, ce qui ncessite un style de programmation particulier pour les dispositifs (voir
section 5.6.1 page 166). Dans lhypothse o linstanciation dobjets est minimale et o les traitements
coteux sont lancs dans des ls dexcution spars, ICON sexcute en temps-rel .
Les performances dpendent galement des ressources processeur disponibles. Le l dexcution
173
CHAPITRE 5. DISCUSSION
dICON est prioritaire par rapport celui qui gre le rendu graphique. Cependant, an de permettre au
rafrachissement graphique de se faire, ICON permet de spcier une frquence dexcution an de
laisser entre les ticks linitiative aux autres processus. Le temps dexcution de chaque tick est mesur
an de savoir si un moment lhypothse ractive est viole. Il est galement possible danalyser les
performances dune conguration dentre, et de dterminer la contribution de chaque dispositif au
temps dexcution.
5.7.1
Un continuum dutilisateurs
La table 5.7.1 page ci-contre numre les diffrentes tches de conguration qui peuvent tre effectues avec ICON, dans lordre croissant de difcult. Chaque tche ncessite des pr-requis qui sont
spcis en deuxime colonne, et qui doivent tre cumuls avec les pr-requis des tches prcdentes.
Nous donnons galement une ide des types dutilisateurs que nous pensons capables deffectuer
chaque tche.
La tche la plus simple (tche 1.) consiste choisir parmi plusieurs congurations dentre existantes dans une application interactive, par exemple remplacer une conguration standard par une
conguration conue pour des utilisateurs handicaps. Cette tche peut tre effectue par nimporte
quel utilisateur de lapplication, pourvu que les congurations disponibles y soient correctement listes et documentes.
Les tches suivantes, destines des catgories particulires dutilisateurs, sont dcrites par la
suite.
5.7.2
Comme nous lavons vu dans le chapitre 4, il est possible dinterrompre temporairement une
application pour ouvrir sa conguration dentre dans lditeur interactif. Cette option est destine aux
utilisateurs avancs, cest--dire la catgorie des utilisateurs qui sont prts consacrer du temps pour
personnaliser les outils quils emploient (voir la discussion ce sujet dans la section 1.4.1 page 28).
174
1.
2.
3.
4.
5.
6.
7.
8.
Tche
Slection parmi plusieurs congurations dentre disponibles.
Paramtrisation dun dispositif.
Permuter des dispositifs ou des
slots compatibles.
Connexion directe dun dispositif
dentre des dimensions compatibles de lapplication.
Insertion de dispositifs de traitement supplmentaires.
Pr-requis
Aucun.
Localisation du dispositif dans la
conguration.
Comprhension du modle de slots
et des compatibilits de types.
Connaissance minimale des dispositifs dentre disponibles et des
dispositifs de lapplication.
Comprhension minimale du paradigme de ot de donnes et
connaissance des principaux dispositifs de traitement disponibles.
Matrise du paradigme de ots de
donnes et bonne connaissance des
dispositifs de la bibliothque.
Connaissance tendue des dispositifs de la bibliothque et notions de
programmation JavaScript.
Connaissance du langage Java et de
linterface Device.
Utilisateurs viss
Tout utilisateur.
Utilisateurs avancs.
Scientiques /
Informaticiens.
Dveloppeurs.
TAB . 5.1 Tches de conguration qui peuvent tre effectues avec ICON, de la plus facile la plus
difcile.
Selon son degr dexpertise, nous pensons quun utilisateur avanc peut accomplir une ou plusieurs
des tches qui suivent.
La tche 2. consiste personnaliser un dispositif en ajustant ses paramtres. Un exemple consiste
changer le vocabulaire dun dispositif de commande vocale (voir la conguration-exemple de la
gure 4.27 page 135). Cela suppose, une fois la conguration dentre ouverte dans lditeur interactif,
que lutilisateur soit capable de localiser le dispositif paramtrer dans cette conguration. Cette
tche est facilite par la labelisation et la documentation des dispositifs, ainsi que par lutilisation
dinfobulles.
La tche suivante (tche 3.) consiste intervertir des dispositifs ou des slots compatibles. Il peut
sagir de remplacer une souris par une tablette graphique pour contrler le curseur, remplacer une
technique dinteraction prdnie par une autre, ou encore rednir des raccourcis clavier. Les changements de connexion sont aiss effectuer grce aux techniques de manipulation directe employes
dans lditeur interactif.
La tche 4. consiste employer un dispositif dentre dans une conguration existante en le
connectant directement des dimensions de lapplication. Il peut sagir dassigner des boutons dune
souris tendue des commandes, de contrler le zoom dun document avec la molette de la souris, ou
de connecter la pression dune tablette la taille de la brosse dans un logiciel de dessin (conguration de la gure 4.24 page 134). Les connexions sont directes, et la seule difcult ici rside dans les
ventuelles incompatibilits de domaines, qui ncessitent lemploi du dispositif de remise lchelle
LinearFunc.
175
CHAPITRE 5. DISCUSSION
La tche 5. consiste tendre une conguration dentre en ajoutant des traitements de donnes
simples, comme par exemple insrer un ltre passe-bas pour lisser les dplacements du curseur (conguration de la gure 4.30 page 137). Ce type de tche ncessite la connaissance pralable de quelques
dispositifs de traitement prdnis, et la comprhension du fonctionnement gnral du ot de donnes
pour tre capable dinsrer le dispositif au bon endroit.
5.7.3
Par rapport aux tches vues prcdemment, la tche 6. est plus complexe. Pour connecter des
dispositifs de nature diffrente, des dispositifs intermdiaires de traitement et de contrle doivent tre
employs, ce qui ajoute la complexit. Par exemple, connecter une dimension continue comme la
pression dun stylet un canal boolen comme le clic ncessite lemploi et la paramtrisation dun
seuil. De mme, spcier des valeurs continues avec seulement deux boutons ncessite lutilisation de
techniques dincrmentation/dcrmentation.
Notons que les dispositifs utilitaires de haut niveau fournis par la bibliothque dICON permettent
de ramener la difcult de la plupart des situations courantes celle dune tche de type 4. ou 5. :
les dispositifs adaptateurs permettent de relier entre eux des slots ou des dispositifs dun type particulier, par des techniques gnriques simples comme lincrmentation/dcrmentation prcdemment
voque, des techniques plus avances comme le pointage au clavier (conguration de la gure 4.26
page 135), ou encore de vritables techniques dinteraction comme le dispositif QuikWriting (conguration de la gure 4.26 page 135).
Nanmoins, les adaptateurs prdnis ne rpondent pas toutes les situations, et spcier de tels
mcanismes avec des oprateurs simples peut se rvler extrmement difcile pour des personnes
nayant jamais travaill sur des systmes ot de donnes. La construction dune conguration dentre complte ou la modication de parties importantes dune conguration existante lest encore plus
(tche 7). Cest pourquoi ces deux types de tches sont rservs des informaticiens sachant programmer ou des scientiques ayant une exprience des systmes ots de donnes. Dans certains
cas, lutilisation de dispositifs programmables (voir section 4.3.1 page 118) peut remplacer avantageusement la composition graphique.
5.7.4
Dveloppeurs
Enn, il peut se rvler ncessaire lors de la construction dune conguration dentre dimplmenter des dispositifs initialement non prsents dans la bibliothque (tche 8.). Ce dernier type de
tche est bien videmment rserv aux dveloppeurs, qui dsirent enrichir la bibliothque de nouveaux adaptateurs et techniques dinteraction ou prendre en charge de nouveaux dispositifs dentre.
Lensemble des tches que nous avons dcrites jusquici sont des tches de conguration. Cette
liste doit tre complte par deux autres tches : dabord celle qui consiste implmenter une application compatible avec ICON (tche 9.), et qui ncessite une connaissance minimale de la librairie
de programmation dICON et de ses principaux concepts (une section complte lui sera consacre).
Ensuite, celle qui consiste simplement utiliser cette application interactive (tche 0.), et qui ne ncessite absolument aucune connaissance dICON. Pour cette dernire tche, une documentation utilisateur prcisant comment utiliser lapplication toutefois peut savrer ncessaire, en particulier pour
des congurations dentre qui dcrivent des techniques non standard.
176
5.7.5
Nous avons vu dans cette section comment ICON sadresse tout un continuum dutilisateurs, du
dveloppeur dapplications lutilisateur nal. Nous rsumons ici le rle respectif de chacun.
Le dveloppeur dapplications produit lapplication interactive et les dispositifs propres cette
application, et fournit une conguration par dfaut, ainsi quun ensemble prdni de congurations
dentre destins assurer une contrlabilit et une accessibilit minimales.
Lutilisateur nal peut utiliser lapplication de manire standard, ou remplacer la conguration
par dfaut par celle qui lui convient. Il peut galement, selon son degr dexpertise, personnaliser de
manire plus ou moins pousse des congurations existantes ou en construire de nouvelles, pour ventuellement les partager avec dautres utilisateurs. Les utilisateurs avancs peuvent galement assister
des utilisateurs dans la personnalisation de linteraction.
Enn, certains dveloppeurs peuvent galement de faon indpendante contribuer enrichir la
bibliothque dICON de nouveaux dispositifs, an de prendre en charge de nouvelles techniques dinteraction ou des dispositifs dentre non conventionnels.
5.8.1
CHAPITRE 5. DISCUSSION
Application
Configuration d'entre
M+V
V ... V
F IG . 5.12 ICON dans le paradigme MVC. Les dispositifs de la partie M+V sont les dispositifs dapplication de
la conguration dentre. Les vues multiples, gauche, matrialisent les sorties implicites des autres dispositifs.
qui peuvent reter ou non une structure pr-existante dans lapplication. Les widgets constituent un
exemple de structure pr-existante exploite par les dispositifs de bote outils.
Notons pour nir que les dispositifs dapplication ne sont pas tous destins tre utiliss en bout
de conguration . Certains dentre eux, les points de retour, peuvent comporter des slots de sortie et
tre employs nimporte quel niveau de la conguration (notre schma nen comporte pas pour des
raisons de lisibilit). Des dispositifs comme le Pick peuvent ainsi tre employs pour rinjecter dans
la conguration de linformation en provenance de lapplication.
ICON et les modles vnements
Les outils commerciaux de dveloppement dinterfaces et la majorit des botes outils PostWIMP proposes par la recherche (voir 2.6 page 60) reposent sur des modles vnements pour la
gestion des entres. ICON emploie un modle ot de donnes ractif o la notion dvnement est
absente, et o le paradigme de dveloppement est par consquent tout autre. Les mcanismes comme
laiguillage, labonnement et les callbacks, en particulier, sont remplacs par des connexions directes
entre modules.
Les deux approches ne sont cependant pas incompatibles, et dans certains cas elles peuvent se
rvler complmentaires6 . Le modle dICON, nous lavons vu, est particulirement adapt la description de techniques dinteraction ractives et de bas-niveau. Certains modles dinteraction, en
particulier linteraction multimodale, ncessitent des notions de plus haut-niveau, comme celles des
vnements ambigus et des stratgies de mdiation employes par Multimodal Subarctic (voir section 2.6.2 page 68). Nanmoins, toute interface, y compris les interfaces multimodales, comporte une
partie ractive de bas-niveau. Une interface gestuelle, par exemple, a besoin daccder aux dispositifs
dentre physiques, de produire en temps rel des traces et de les afcher.
Nous pensons que tout paradigme dinteraction gagnerait reposer sur une infrastructure de type
ICON. Une telle infrastructure procure de nombreux avantages, et garantit en particulier une grande
souplesse par rapport aux entres. Pour reprendre lexemple de linteraction gestuelle, dautres dispositifs que la souris ou la tablette (par exemple, un dispositif de suivi oculaire) sont susceptibles de
produire une trace. Mme des dispositifs de nature non positionnelle peuvent tre exploits avec des
algorithmes et des mcanismes de reconnaissance gestuelle : une succession de touches au clavier est
6 Par
exemple, ICON permet facilement de dcrire des dispositifs gnrateurs dvnements qui, partir dattributs
simples transmis en entre, et chaque signal sur un slot send, instancient des vnements pour les placer dans une le.
178
CHAPITRE 5. DISCUSSION
Les approches analogues
ICON se situe la frontire de plusieurs approches. Tout dabord, le principe de ots de donnes
sur lequel il repose a t exploit dans de nombreuses applications, principalement dans les domaines
de traitement et danalyse dimages et de composition musicale. Ensuite, ICON emploie un langage
visuel pour dcrire linteraction, comme le font beaucoup de logiciels commerciaux et doutils produits par le monde de la recherche. Cependant, les nombreuses approches du type Visual C++ de
Microsoft, et y compris celle de Garnet/Amulet (voir section 2.6.1 page 63) se concentrent principalement sinon exclusivement sur lagencement de composants visuels. Les diteurs de comportement
comme Thinglab ou Fabrik (voir section 2.7.2 page 80) peuvent permettre de dcrire certains aspects
touchant linteraction en entre, mais sont plus adapts la partie modle (synchronisation entre
plusieurs modles et entre modles et vues) et graphique (maintien de contraintes gomtriques) de
lapplication.
Lapproche consistant utiliser un langage visuel bas sur un modle ot de donnes pour dcrire linteraction en entre a t trs peu explore dans le domaine de linteraction 2D. Lun des rares
exemples est la bote outils Whizz et lditeur WhizzEd (section 2.7.2 page 83). Si ce langage visuel
a t principalement cr pour dcrire des interfaces animes et des interactions simples, son extension
linteraction bimanuelle (section 2.6.2 page 70) donne des exemples de conguration dentre assez
proches de ce que lon pourrait construire avec ICON. Whizzed donnait dj une bonne ide de la
puissance du modle ot de donnes pour dcrire le contrle dapplications hautement interactives.
ICON approfondit et tend cette approche, tout dabord en posant les principes dun modle dentre
bas sur des dispositifs gnraliss regroupant dispositifs physiques, points dentre et adaptateurs,
ensuite en proposant un modle dexcution bas sur les langages ractifs. Enn, ICON explore plus
loin ce paradigme, en exploitant des dispositifs dentre multiples et bien dautres techniques dinteraction non-standard.
Si notre approche est novatrice dans le monde de linteraction 2D, elle peut nanmoins sembler
familire aux dveloppeurs dapplications 3D. Nous avons vu que la plupart des botes outils 3D
reposaient sur un modle dentre ot de donnes, et que quelques unes proposaient des diteurs
visuels comparables au notre. Cest notamment le cas de Virtools Dev (voir section 2.7.3 page 86). Ces
outils sont bien adapts la description dinteractions 3D, et plus particulirement la manipulation
directe dobjets 3D avec des dispositifs sophistiqus. ICON applique linteraction 2D les techniques
qui font le succs des applications 3D, savoir lusage de dimensions physiques multiples dans des
techniques contrle direct. En outre, ICON prend en charge des dispositifs plus divers et intgre des
techniques 2D que les outils 3D taient incapables de dcrire, notamment parce que ces techniques
sont beaucoup plus varies et complexes, comportent des modes et des feedbacks, et oprent sur des
objets de nature bien plus diverse que les attributs dobjets 3D.
5.8.2
Quelques perspectives
ICON, en tant que travail exploratoire, ouvre de nombreuses voies. Nous en avons soulign quelqueunes sur la gure 5.13 page ci-contre. Nos contributions y sont voques en gris, savoir le paradigme
de cascades de dispositifs (en bas) et ses applications successives : le modle ICOM, la bote outils
et lditeur dICON, les congurations dentre que nous avons construites et enn leurs applications.
Ces contributions sont agences selon laxe application, qui constitue une premire direction dexploration possible pour les perspectives. Les deux autres axes sont la validation de notre approche (cet
180
Application
Applis.
Validation
Exps
Configurations
B.A.O. ICon
Evaluation
Formalisation
Dispositifs
Evaluation
diteur ICon
ICom
IConLite
Types tendus
Casc. implicites
Intgration
Cascades de dispositifs
Extension
F IG . 5.13 Perspectives.
axe dpend en partie des applications dveloppes, do son orientation diagonale) et lextension de
celle-ci.
Le modle ICOM dcrit les mcanismes de linfrastructure data-ow dICON. Plusieurs orientations sont possibles pour celui-ci : dabord, une formalisation permettrait dune part de valider la
abilit de notre modle, dautre part de vrier des proprits sur les congurations. Nous avons
dj voqu la possibilit dexploiter des outils de vrication de langages ractifs comme Esterel
[F EKETE et al. 98, F EKETE & D RAGICEVIC 00]. Diverses voies sont possibles quant lextension du modle
ICOM : lintgration avec des modles existants, en particulier des formalismes orients-contrle et
des modles dinteraction plus haut-niveau (voir 5.8.1 page 179) ; la prise en charge de types tendus
pour faciliter la construction de congurations dentre et de cascades implicites ditables pour exposer efcacement les modles physiques des dispositifs. Ces deux dernires ides seront dveloppes
plus loin.
En dehors de son infrastructure ICOM, ICON peut tre divise en deux parties : la partie bote
outils qui dcrit la librairie extensible de dispositifs, et lditeur interactif de congurations. Chaque
de ces deux parties peut tre valide par une valuation : la premire pour prouver la pertinence de
loutil vis--vis du programmeur, et la seconde pour dterminer lutilisabilit du congurateur interactif. Nous avons dj constat que les deux dveloppeurs que nous avons suivis taient capables, aprs
un temps dassimilation, de produire rapidement des dispositifs dapplication chaque fois que cela
savrait ncessaire, et de matriser toutes les potentialits de lditeur interactif. Nous ne nous attendons cependant pas ce quun utilisateur moyen emploie lditeur de la mme manire. Au lieu de
cela, nous avons montr en quoi lutilisateur, selon ses comptences, pouvait tirer parti de ce langage
visuel pour des tches simples. Une valuation permettrait de dterminer plus prcisment en quoi
consistent ces tches. Nous nous doutons cependant que la mise en place de telles exprimentations
serait loin dtre triviale, en particulier sil sagit dvaluer la pertinence dICON par rapport dautres
outils. Ainsi, si les botes outils conventionnelles permettent de dvelopper facilement des interfaces
WIMP, elles ne prennent pas en charge la majeure partie des techniques dinteraction quICON permet
181
CHAPITRE 5. DISCUSSION
de dcrire. La comparaison est difcile, faute de cibles de comparaison.
La bibliothque dICON, bien que dj trs complte, gagnerait cependant tre tendue avec
de nouveaux dispositifs. Les principaux dispositifs systme que nous projetons dimplmenter, dans
le but de couvrir une plus vaste palette dentres non standard, sont les priphriques MIDI, USB,
et lanalyse vido. Nous avons depuis peu notre disposition un certain nombre de botes potentiomtres MIDI dont lexploitation dans ICON nous semble trs prometteuse. Linterface HID des
priphriques utilisateur USB, en plus dtre gnrale, est trs dtaille et intgre bon nombre dinformations pragmatiques sur le dispositif physique (mme si malheureusement, les constructeurs nimplmentent pas toujours cette interface entirement). Linteraction multidigitale [R EKIMOTO 02], maintenant ralisable avec des dispositifs tactiles matriciels du commerce [TACTEX 03, F INGERW ORKS 03],
nous parat galement avoir un fort potentiel. Nous projetons galement dajouter dautres dispositifs
utilitaires ICON, dont divers adaptateurs daccessibilit (techniques simple bouton, notamment),
dautres techniques dinteraction prtes lemploi, et des dispositifs ddis au feedback reposant sur
un modle graphique multicouche similaire [F EKETE 96 B]. Enn, nous avons dj voqu un projet
en cours dont le but est de dcrire de nouveaux dispositifs de bote outils pour contrler les applications zoomables dveloppes avec Piccolo [B EDERSON 03]. Lobjectif de ces dispositifs est lintgration
complte dICON une bote outils graphique avance.
Nous avons dj propos dans ce mmoire quelques amliorations pour le congurateur interactif
dICON : par exemple, lannotation des congurations des ns de documentation et une technique
de zoom smantique pour naviguer dans les dispositifs composites. Les utilisateurs non-experts pourraient galement bncier dune version allge du congurateur interactif qui leur serait spcialement destine : nous dvelopperons les ides la base dICONLITE par la suite.
un niveau au-dessus se situent les congurations dentre construites avec ICON. Bien quelles
soient dj nombreuses, bien dautres techniques peuvent tre dcrites avec les dispositifs existants. En
particulier, nous pensons que le potentiel des techniques dinteraction de bas-niveau type pointage
augment mrite dtre davantage explor. En outre, au fur et mesure quICON se verra enrichir
par de nouveaux dispositifs, dautres congurations exploitant ces dispositifs viendront sajouter
celles existantes.
Lobjectif des congurations dentre est de dcrire linteraction avec des applications. ce jour,
toutes les applications reposant sur Swing peuvent tre contrles avec ICON (nous avons galement
dcrit le contrle partiel de Microsoft Word et de Jazz, mais uniquement titre exprimental). En
dehors des applications-jouets comme ICONDraw, deux projets dapplications employant ICON ont
t voqus (voir section 4.5 page 141). Nous projetons de dcrire le contrle dapplications de natures plus varies et en particulier des applications gourmandes en entres tels que les jeux vido
et les applications danimation 3D. Les visages anims comme ceux des agents Haptek [H APTEK 03]
notamment, comportent un grand nombre de dimensions qui peuvent tre contrles simultanment.
Nous esprons galement que notre distribution dICON sera employe dans des projets de dveloppement extrieurs. Enn, comme nous lavons vu dans la section 4.5 page 141, ICON a galement servi
monter une exprimentation visant comparer plusieurs techniques dinteraction. Nous pensons
quICON pourra tre dune aide non ngligeable dans ce type de tche, car il offre un accs ais aux
dispositifs non-standard et permet de prototyper rapidement des techniques dinteraction, de les afner et den tudier plusieurs variantes. En outre, ICON rend explicite toute la chane de traitements, et
la reprsentation visuelle quil donne de cette chane est un outil de comprhension qui peut tre mis
prot pour illustrer des tudes comparatives.
182
Types tendus
Il existe de nombreuses raisons dtendre notre systme de typage avec des types plus restrictifs. Tout dabord, les remises lchelle sont frquentes dans ICON, et il est difcile demployer
loprateur de transformation linaire sans connatre les domaines de dpart et darrive7 . Il nous
semblerait par consquent utile dinclure les domaines dans les types de slot, information qui pourrait
par exemple tre exploite par des adaptateurs de domaine automatiques, ou comme pr-conditions
dans des dispositifs dapplication.
F IG . 5.14 Utilisation de la valeur au repos pour justier une technique de contrle du second ordre. La
dimension x de la manette ( droite) contrle la dimension x dun pointeur ( gauche) aprs une opration
de recentrage, une intgration, et un seuil. Une connexion directe serait permise avec un typage simple, mais
enfreindrait ici les pr-conditions du pointeur (domaine et non-volatilit) [D RAGICEVIC 98].
Les pr-conditions et post-conditions pourraient tre gnralises bien dautres proprits, notamment dans le but de prendre en compte certaines caractristiques pragmatiques des dispositifs
[B UXTON 83]. Ces proprits doivent pouvoir tre aisment propages travers les dispositifs. Cest le
cas des valeurs particulires, qui peuvent dans certains cas tre transformes par la fonction dexcution8 . Dans [D RAGICEVIC 98], nous dcrivons des proprits pragmatiques qui rentrent dans ce cadre.
Un slot, par exemple, peut conserver sa valeur lorsque lutilisateur nexerce plus daction sur les dispositifs physiques, ou bien revenir une valeur au repos. Cette valeur au repos permet de spcier
des pr-conditions extrmement intressantes dans les dispositifs dapplication (gure 5.14). Dautres
proprits comme la prcision et la latence peuvent tre galement prises en compte, et propages de
faon spcique.
Les types tendus avec des pr-conditions et des post-conditions permettraient la fois de proposer des adaptateurs volus facilitant signicativement la construction de congurations, et de vrier certaines proprits dans la conguration dentre. Par exemple, une prcision minimale pourrait
tre requise en entre dun pointeur ou dun dispositif gestuel. Malgr les nombreuses applications,
cette approche demande un vaste travail et pose plusieurs problmes : tout dabord lutilisation de
types tendus complique limplmentation des dispositifs qui doivent calculer explicitement certaines
7 Nous
avons en partie rsolu ce problme en standardisant les domaines lorsque ctait possible : les coordonnes cran
sont employes pour les valeurs positionnelles (la tablette produit des position cran en valeur ottante), et la plupart des
autres valeurs bornes, comme la pression du stylet, sont normalises dans le domaine [0, 1].
8 Les valeurs particulires peuvent tre propages automatiquement travers des dispositifs dterministes du premier
ordre (sans mmoire). Les bornes min et max du domaine sont des valeurs particulires, mais qui ncessitent un traitement
spcique lorsque le dispositif dcrit une fonction non strictement monotone.
183
CHAPITRE 5. DISCUSSION
post-conditions9 . En outre, les post-conditions ne peuvent pas toujours tre dduites prcisment, et
deviennent rapidement vagues au fur et mesure des traitements. Enn, les informations concernant
les dispositifs dentre physiques (par exemple, la valeur au repos) ne sont pas toujours disponibles.
Cascades implicites ditables
Pilotes
Dispositif concret
y
2.3cm
3.2cm
x z
-0.2cm
4
3
2
1
0
x
true
y
down
1
2
0A
0B true
0C
true
0 1 2 3
cascade simule
key
down
OB
true
string
"5"
0D
...
Cascade relle
F IG . 5.15 Exemple de cascade implicite pour une bote boutons : le pilote de dispositif produit des vnements down/up avec des codes touche (troisime dispositif en partant de la gauche), et chaque vnement down
est converti en caractre. Il est possible dimaginer une srie de traitements implicites menant la production
des vnements down/up : par exemple, lorsque lutilisateur presse un bouton, la nouvelle position (x, y, z) de
ce bouton (qui est aussi celle du doigt) est mise, puis discrtise, et enn convertie en code touche.
Lorsquun dispositif dentre ICON fournit une vue logique assez loigne du modle concret du
dispositif, il serait intressant des ns dexplication de rendre le dispositif concret visible dans la
conguration, et de reproduire la cascade implicite (ou une cascade possible) de traitements en aval
de ce dispositif (gure 5.15). Le dispositif de reconnaissance vocale, par exemple, pourrait apparatre
comme un dispositif de traitement connect un microphone physique.
La cascade implicite peut mme tre rendue modiable si les dispositifs qui la composent sont
rels et non plus simuls, et quils sont inversibles. Un dispositif de fonction de transfert f est inversible sil existe un dispositif de fonction de transfert f 1 telle que f f 1 = Id (voir galement
[ACCOT et al. 97]). Or supposons que f = g h dsigne une cascade implicite divise en une partie noninversible g et une partie inversible h. Si la partie h est modie en h2 , il sufrait pour prendre en
compte cette modication dappliquer la fonction de transfert h1 h2 en sortie du dispositif logique.
Ainsi, dans lditeur graphique, les dispositifs de g seraient non modiables mais la cascade h pourrait
tre modie comme tout lment de la conguration. Le traitement rel h1 h2 resterait cependant
invisible lutilisateur.
Les applications potentielles des cascades implicites ditables sont nombreuses. Sur la conguration de la gure 5.15 par exemple, il serait possible de se servir de la vue matricielle de la bote
boutons pour calculer la moyenne des (x,y) enfoncs et contrler grossirement un pointeur. Le dispositif concret pourrait fournir des informations spatiales galement utiles. Un modle de manette
intgrant les diffrentes grandeurs physiques (dplacement rel, force exerce sur le manche), par
9 Le
calcul des post-conditions pourrait cependant tre pris en charge par un ensemble restreint de dispositifs atomiques
prdnis.
184
ICONLITE
Notre exprience avec ICON nous a conduit penser quil est possible, en poussant plus loin
lexploitation de la mtaphore de la connexion logicielle (voir section 3.2.1 page 94), de construire
un diteur de congurations lusage de lutilisateur moyen, qui soit la fois simple dutilisation et
puissant. Ceci condition de concevoir les techniques de visualisation et dinteraction appropries.
Lditeur WhizzEd (voir section 2.7.2 page 83) emploie des reprsentations iconiques des dispositifs, ce qui facilite leur identication. Les Phidgets (voir section 1.3.5 page 23) exploitent une
technique de conguration extrmement naturelle, consistant brancher un dispositif USB puis
lassocier un widget prsent lcran par un simple clic. Si la contrlabilit et la congurabilit
offerte par les Phidgets est bien en de dICON, le paradigme de connexion dynamique peut tre
tendu et exploit dans une version allge dICON.
F IG . 5.16 gauche : le dock de Mac OS X (en bas de la fentre). droite : Interface Builder dApple, qui
permet de connecter graphiquement des widgets leur modle, et de visualiser ces connexions tout moment.
Les dispositifs dentre connects peuvent tre reprsents graphiquement dans une barre de dispositifs inspire du dock de Mac OS X [A PPLE 02] (gure 5.16, image de gauche). Lorsquun nouveau dispositif est branch, cette barre apparat pour permettre dtablir une connexion avec les
lments prsents lcran. Les connexions sont afches en incrustation la manire dInterface
10 Dans
le cas de la bote boutons, par exemple, une cascade inverse produirait partir de chaque symbole un domaine
bidimensionnel.
185
CHAPITRE 5. DISCUSSION
Builder [A PPLE 03] (gure 5.16 page prcdente, image de droite) dans le mode de construction, et
disparaissent dans le mode dinteraction. Le mode de construction peut tre ractiv tout moment
pour modier les connexions.
Une palette dadaptateurs permettrait dinsrer des traitements supplmentaires dans les connexions
(par exemple, une rptition automatique pour un bouton). Ceux-ci doivent tre simples dutilisation
et contrairement la version actuelle de notre diteur, avoir une reprsentation graphique iconique
explicite. Des mcanismes de connexion intelligents doivent pouvoir permettre linsertion automatique dadaptateurs (adaptateurs de domaine, notamment), ainsi que les connexions groupes de
slots entre objets compatibles.
En outre, des objets dapplication non visuels (par exemple, le pan ou le zoom) doivent pouvoir
tre ris et afchs, par exemple dans une palette propre lapplication. Il en est de mme pour des
objets systme comme les pointeurs.
Deux objets compatibles (par exemple, une souris et un curseur) peuvent tre directement relis,
ce qui ne ncessite pas la prsence explicite de slots. En revanche, il est indispensable que les objets
puissent tre afchs avec plusieurs niveaux de dtail. Par exemple, un clavier peut tre reli un
diteur de texte, mais des connexions de touches individuelles doivent galement tre possibles.
Pour nir, il serait intressant dexplorer les diffrents moyens dtendre matriellement nos systmes an de dplacer une partie de la tche de conguration vers le niveau physique. Par exemple,
lorganisation de la barre de dispositifs peut reproduire lagencement spatial des prises USB, ces
dernires pouvant notamment tre places sous lcran. Chaque prise USB pourrait se voir assigner
un rle diffrent, et des adaptateurs matriels pourraient galement tre employs (des adaptateurs
USB portant un identiant reconnu par ICONLITE sufraient). Certains utilisateurs disposeraient par
exemple dadaptateurs daccessibilit personnels. Enn, tant donn quun dispositif de pointage est
toujours ncessaire pour connecter des dispositifs des objets graphiques, un cran tactile pourrait
tre employ et ddi cet effet.
186
Conclusion et perspectives
Rappel de la problmatique
Nous avons introduit dans cette thse le terme dadaptabilit en entre comme une combinaison
de trois proprits : la contrlabilit, qui caractrise la capacit dun systme interactif exploiter
efcacement des entres enrichies, laccessibilit, qui dnit sa capacit exploiter des entres appauvries, et la congurabilit, qui dcrit sa capacit pouvoir tre nement personnalise du point
de vue des entres. Ces trois proprits sont fortement lies et constituent trois facettes dune proprit plus gnrale, qui caractrise des systmes interactifs entirement ouverts en entre . Aprs
avoir montr en quoi il tait essentiel de tendre vers ce type de systme, nous avons mis en vidence
le retard considrable accumul par les systmes interactifs grand public actuels, retard largement
d des outils de dveloppement gs, exclusivement bass sur le modle de linteraction standard
(souris, clavier et techniques dinteraction WIMP). Les rares applications faisant usage dentres non
conventionnelles, comme les jeux vido ou certaines applications semi-professionnelles, ncessitent
une programmation artisanale extrmement coteuse en temps et en nergie.
Si la complexit et limportance des problmes lis linteraction en entre sont aujourdhui
universellement reconnues par la communaut de linteraction homme-machine, ce domaine a encore
fait lobjet de peu de travaux. Nous avons prsent dans notre tat de lart les principaux modles et
outils pertinents du point de vue de linteraction en entre, et avons montr en quoi certaines approches
constituaient une avance dans le domaine de linteraction en entre, bien quaucun modle ou outil
ce jour ne rponde aux exigences de ladaptabilit en entre sous tous ses aspects.
CONCLUSION ET PERSPECTIVES
Depuis lintroduction des standards comme GKS, bien des modles et des outils continuent demployer des abstractions dans lesquelles les dispositifs dentre sont regroups en classes dquivalence
strotypes. Les tches dinteraction ont subi des simplications analogues, notamment par lintroduction des widgets gnriques. Essentiellement motive par des problmes de portabilit et de rutilisabilit, ce type dapproche empche cependant de tirer parti des capacits intrinsques de chaque
dispositif et des caractristiques de la tche. Notre dmarche se distingue des approches existantes
dans le sens o elle nglige (dans un premier temps) les problmes de portabilit pour tenter de rpondre la question suivante : sur un systme concret, qui comprend un ensemble donn de dispositifs
physiques, lutilisateur peut-il efcacement tirer parti de ces dispositifs pour contrler une application
donne ?
Il nous a paru ncessaire pour rpondre cette question de substituer aux dispositifs logiques des
dispositifs concrets, qui apparaissent au plus bas niveau possible, cest--dire comme des ensembles
de canaux bruts ; de mme, les objets du domaine doivent pouvoir tre exposs sans a priori sur la
faon dont ils seront contrls, et nous devons enn disposer dun moyen exible de relier les canaux
dentre lapplication interactive pour pouvoir la contrler. Notre dmarche sinspire dapproches
couramment employes dans les outils de dveloppement dapplications 3D. Comme certains de ces
outils, nous proposons un paradigme de programmation visuelle pour lassignation des canaux : cette
ide est pertinente dans la mesure o les canaux ne comportent pas de smantique, et laccs tout
nouveau dispositif physique dans un langage textuel ncessiterait des requtes pralables lAPI de
bas niveau pour connatre linterface du dispositif. linverse, un nouveau dispositif peut apparatre
explicitement dans un langage visuel, auquel cas ses canaux ne ncessitent quune interprtation smantique de la part de lutilisateur pour pouvoir tre exploits.
CONCLUSION ET PERSPECTIVES
peut accder aux entres et contrler les applications plusieurs niveaux, et peut tre employ pour
rednir tout ou partie de linteraction en entre. Il est par exemple possible dajouter une prise en
charge des dispositifs spcialiss une application 3D existante tout en conservant sa gestion standard
des entres.
ICON offre en outre des outils pour assurer une portabilit minimale des congurations dentre
dun systme lautre, par des mcanismes qui permettent de dcrire des quivalences entre dispositifs concrets sans notion de classe a priori. Les mcanismes des descripteurs de dispositifs sont
uniques dans la mesure o ils permettent de jouer sur la nesse des descriptions pour rendre des congurations standard plus tolrantes aux diffrences de plate-formes avant distribution, ou au contraire
leur permettre de dissocier sur une plate-forme donne deux dispositifs trs proches mais employs
diffremment (souris main gauche et souris main droite, par exemple).
CONCLUSION ET PERSPECTIVES
CONCLUSION ET PERSPECTIVES
vu, les comportements essentiellement orients contrle. Ensuite, les paradigmes Post-WIMP qui font
un usage volu de modalits naturelles : interprtations smantiques avances, fusion de modalits
htrognes et prise en charge de lambigut. Nous qualions ces dernires techniques de communicationnelles (linterface est un interlocuteur intelligent) par opposition aux techniques instrumentales
(linterface est un ensemble doutils) pour lesquelles ICON est le mieux adapt. Mme des modles
vnements sophistiqus du type Multimodal Subarctic gagneraient cependant reposer sur une
infrastructure ICON pour dcrire les niveaux bas de linteraction en entre.
Pour nir, ICON constitue une solution originale et efcace aux problmes lis ladaptabilit en
entre. Il permet de dcrire des applications hautement contrlables grce une prise en charge de
dispositifs dentre multiples, lemploi dabstractions de bas niveau pour dcrire la fois ces dispositifs et les besoins spciques de chaque application en termes dentres, la facilit de spcication
dinteractions fortement concurrentes, et la prsence dune librairie extensible de techniques dinteraction Post-WIMP prtes lemploi. Une accessibilit minimale est assure par la prsence dun
ensemble aisment extensible de techniques daccessibilit gnriques reposant sur le principe des
adaptateurs, et peut tre amliore par la construction de techniques daccessibilit ddies la tche.
Lditeur interactif dICON permet en effet au dveloppeur dapplications de rpondre efcacement
un grand nombre de situations en termes dentres, quelles soient enrichies ou appauvries. Une fois
construites, les congurations dentre sont hautement congurables, et peuvent tre personnalises
diffrents niveaux selon le degr dexpertise de lutilisateur.
CONCLUSION ET PERSPECTIVES
les dconnexions chaud. Nos postes de travail devraient non seulement autoriser les connexions dynamiques de dispositifs physiques divers et varis, mais devraient galement permettre aux utilisateurs
de spcier leur emploi de faon simple et naturelle. Notre exprience avec ICON nous a convaincu
de la faisabilit dun tel systme, et nous avons dj voqu un certain nombre de caractristiques qui
nous semblaient pertinentes pour une version grand public et allge de notre congurateur, combinant dans des proportions raisonnables simplicit dutilisation et pouvoir dexpression.
192
Remerciements
Merci Jean-Daniel Fekete, pour ses qualits dencadrant, la fois scientiques et humaines, pour
la patience dont il a su faire preuve pendant ces nombreuses annes o jai souvent dout, et pour avoir
ni par me transmettre le virus de lIHM. Il sest beaucoup investi dans ces travaux, a t lorigine
de nombreuses ides, et ce sont vritablement les fruits dun travail commun qui sont prsents dans
ce mmoire. Je remercie aussi Grard Hgron, pour sa patience galement, et son soutien.
Merci Stphane Huot, pour mavoir continuellement stimul par son enthousiasme sans bornes
et sa passion du travail en quipe, ainsi quaux autres thsards de lquipe CMI : Frdric Jourdan,
Didier Boucard et Mohammad Ghoniem, avec lesquels je me suis senti trs proche. Nul doute que je
naurais pu venir bout de ma thse sans les encouragements et le soutien (et aussi la bonne humeur)
de Stphane, Frdric et des autres. Jai eu galement grand plaisir ctoyer les membres et exmembres du dpartement informatique de lEMN, je pense en particulier Geoffrey Subileau, Mathias
Braux, Mohammed Tounsi, Abdallah, Philippe, Narendra, Rmi, Christine, Cdric et Christian, sans
oublier Vanessa et les autres membres du CRITE. Merci aussi Pierre Cointe pour mavoir accord
sa conance et offert son appui lors dune priode difcile.
Merci ceux qui en montrant de lintrt pour mes travaux mont beaucoup encourag, cest-dire aux membres de mon jury de thse, Caroline Appert, et aux autres. Merci galement ceux de
mes nouveaux collgues Toulousains du LIIHS, du CENA, et dIntuilab, qui mont accompagn la
n de mon calvaire et mont aid lors de mes rptitions de soutenance.
Merci mes proches pour avoir longtemps support mon irritabilit lorsquil fallait aborder le
dlicat sujet de lavancement de ma thse : mes parents et mon frre Christian, ainsi que Pascal, Nadir
et Fatima, Paul et Lucie, Jrmy, Thomas, Stphane et Florence. Merci aussi au personnel du Groupe
Scolaire de la Maison dArrt avec qui jai eu plaisir travailler pendant la dure de mon service
national : Jean-Marc Allain et tous les instituteurs spcialiss, les emplois-jeunes, Raphal, ainsi que
les dtenus.
Merci tout particulirement Batrice, ainsi qu sa proche famille : Jean, Jeanine, Philippe,
Bernadette, Xavier, Thrse, Laurent et Anita.
193
REMERCIEMENTS
194
Annexe A
195
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
196
197
197
199
200
200
201
201
201
202
203
204
204
204
206
206
207
209
F IG . A.1 Structure globale dune conguration dentre, avec les briques de bases et leurs relations.
La gure A.1 fournit une vue globale de lorganisation structurelle dune conguration dentre.
Chaque entit est dcrite par un ensemble dattributs typs, cest--dire une liste de noms ( gauche, en
gras) et de types ( droite). Les ches pleines dcrivent les relations dagrgation (X comporte un ou
plusieurs Y ) et les ches en pointills des relations de rfrence (X rfrence Y ). Les ches grises
traduisent des relations dagrgation uniquement employes pour la composition et seront abordes
plus tard.
La structure de base est la suivante : une conguration comporte un ensemble de dispositifs et
196
Dispositifs
La structure dun dispositif est dnie par un ensemble dattributs et deux fonctions, qui sont
numrs dans le tableau A.2.1 puis dcrits par la suite.
Dispositif
nom
parent
slots
paramtres
configurationFille
prototype
composite
mutable
entresImplicites
sortiesImplicites
chane de caractres
Conguration
Slot [ ]
Paramtre [ ]
Conguration
vrai/faux
vrai/faux
vrai/faux
vrai/faux
vrai/faux
fonction
fonction
TAB . A.1 Structure dun dispositif. La colonne de gauche liste le nom des attributs, celle de droite
prcise leur type.
nom : Cet attribut contribue identier la fonction du dispositif, par exemple le type de traitement
de donnes quil effectue. Il peut galement reter le rle spcique du dispositif au sein de la
conguration.
parent : Une rfrence la conguration laquelle appartient le dispositif, ou ou null sil sagit
dun dispositif-prototype.
slots : Les slots dun dispositif lui permettent de communiquer avec les autres dispositifs lors de
la phase dexcution ( section A.2.2 page 199).
paramtres : Un dispositif possde un ensemble ventuellement vide de paramtres. Les valeurs
de ces paramtres dterminent certains aspects du comportement du dispositif pendant la phase
de construction et dexcution. Un dispositif ne peut pas comporter deux paramtres portant le
mme nom ( section A.2.1 page suivante).
configurationFille : La conguration-lle du dispositif, lorsquil sagit dun dispositif composite ; null sinon.
197
Paramtres
La structure dun paramtre, dcrite dans le tableau A.2.1, est simplement celle dun attribut. Les
paramtres peuvent tre ainsi vus comme des attributs de dispositif supplmentaires.
Paramtre
nom
chane de caractres
type
(selon limplmentation)
valeur type
Dossiers de prototypes
Un dispositif-prototype est en tous points semblable un dispositif, ceci prs quil ne fait pas
partie dune conguration, ne mute pas (il est obligatoirement dans un tat consistant ( section B.2.4
page 214)) et nest jamais excut. Uniquement destin tre dupliqu, celui-ci possde un tat statique qui dnit un paramtrage initial (valeur par dfaut des paramtres) et un comportement (fonctions de mutation et dexcution).
Les dispositifs-prototypes sont regroups dans un dossier de prototypes dont la structure est la
suivante :
Dossier
nom
prototypes
chane de caractres
Dispositif [ ]
198
A.2.2
Slots
Un slot est un tat du dispositif qui est accessible aux autres dispositifs. Ces derniers ont la possibilit dcrire sur le slot sil sagit dun slot dentre, ou de lire sa valeur sil sagit dun slot de
sortie (gure 3.11 page 103). Ces changes se font par lintermdiaire des connexions ( section A.3
page 201).
Les attributs dun slot sont numrs dans le tableau ci-dessous, et dtaills par la suite.
Slot
nom
parent
sens
type
supertype
externe
dclencheur
t-mutable
s-mutable
absent
chane de caractres
Dispositif ou Conguration
entre/sortie
(selon limplmentation)
(selon limplmentation)
vrai/faux
vrai/faux
vrai/faux
vrai/faux
vrai/faux
A.2.3
Connexions
Une connexion est une relation liant deux slots, indiquant que ces deux slots partageront la mme
valeur lors de la phase dexcution. La structure dune connexion est dcrite dans le tableau A.2.3.
Connexion
parent Conguration
sortie Slot
entre Slot
A.2.4
Conguration dentre
Une conguration dentre est principalement constitue dun ensemble de dispositifs et de connexions.
Elle peut ventuellement tre encapsule dans un dispositif composite, auquel cas elle possde un dispositif parent. La structure dune conguration dentre est dcrite ci-dessous :
Conguration
nom
parent
bibliothque
dispositifs
connexions
slotsExternes
chane de caractres
Dispositif
Dossier [ ]
Dispositif [ ]
Connexion [ ]
Slot [ ]
A.3.2
Types et sous-typage
Hormis les contraintes numrs prcdemment, toute connexion est autorise indpendamment
des types des slots. Cependant, notre modle de connexion est typ et diffrencie les connexions
compatibles des connexions incompatibles.
any
double
boolean
string
object
int
null
La gure A.2 reprsente le graphe de types que nous utilisons dans notre implmentation en Java,
avec les relations de sous-typage. Les diffrents types de slots sont les int (nombres entiers), boolean
(boolens), double (nombres ottants), string (chanes de caractres), et object (objets). cela
sajoutent les types spciaux any (qui reprsente tous les types possibles) et null (qui ne reprsente
201
A.3.3
Nous nommons attribut driv un attribut dun objet dont la valeur est fonction de celle des autres
attributs de cet objet ou de ses objets accessibles (objets-ls ou objets rfrencs). Ils seront prcds
dun triangle . Ces attributs napportent pas dinformation supplmentaire mais peuvent nanmoins
servir introduire des dnitions utiles. Nous verrons galement que lorsque la valeur de certains
attributs est xe dans un objet, dautres attributs initialement libres peuvent devenir des attributs
drivs.
Les connexions comportent des caractristiques de compatibilit, ainsi que dautres attributs drivs dont les valeurs sont fonction de leurs slots dentre et de sortie. Nous dcrivons ces attributs,
rsums dans le tableau A.3.3, en introduisant de nouveaux termes ainsi que leurs dnitions.
Connexion
externe
compatibilit
compatibilitStatique
vrai/faux
compatible/incompatible
compatible/incompatible/mutable
externe=faux) un slot externe (slot pour lequel externe=vrai). Une connexion non externe,
ou connexion de dispositifs est une connexion reliant deux slots de dispositifs. Une connexion
ne peut relier deux slots externes.
compatibilit : Une connexion est dite compatible ssi le type de son slot de sortie est un sous-
type de celui de son slot dentre. Dans le cas contraire, elle est incompatible.
compatibilitStatique : Une connexion est dite statiquement compatible ssi le supertype de
son slot de sortie est un sous-type de celui de son slot dentre, et que son slot dentre est
ni s-mutable ni t-mutable. Une connexion est dite statiquement incompatible ssi le supertype
de son slot de sortie nest pas un sous-type de celui de son slot dentre, et que son slot de
sortie est ni s-mutable ni t-mutable. Dans tous les autres cas, la connexion est dite mutable. Une
connexion mutable est soit compatible soit incompatible, mais sa compatibilit peut changer
suite une mutation ( annexe B). linverse, une connexion statiquement compatible est
toujours compatible, et une connexion statiquement incompatible est toujours incompatible.
202
A.3.4
De mme que les slots induisent un certain nombre de proprits sur les connexions, certaines
proprits caractrisent les slots en fonction des connexions existantes. Nous dcrirons ces attributs
drivs tout en introduisant de nouveaux termes qui nous seront utiles dans les deux prochaines annexes. Ces attributs sont rsumes dans le tableau A.3.4.
Slot
connexions
slotsConnects
connect
typeConnect
Connexion [ ]
Slot [ ]
vrai/faux
(selon limplmentation)
ts, ou any sil nest pas connect. Le type connect dun slot dentre est le type de son slot
connect, ou null sil nest pas connect.
Slots connects s
Connexions de s
Slot connect e
Connexion de e
c1
e1
c2
e2
c3
s1
c'1
s2
c'2
e3
F IG . A.3 Exemples de connexions : le slot de sortie s comporte trois connexions c1, c2 et c3 qui le relient
aux slots dentre e1, e2 et e3. Le slot dentre e comporte une connexion c1 qui le relie au slot de sortie s1. e
ne peut comporter dautre connexion.
203
A.3.5
Graphe de dpendances
Les connexions de dispositifs sont des arcs orients reliant deux slots qui ont chacun un dispositif
pour parent. Il est donc possible, partir dun ensemble de connexions de dispositifs, de construire un
graphe orient exprimant des dpendances entre les dispositifs (gure A.4). Ce graphe nous permet
dintroduire les deux relations suivantes sur les dispositifs :
Un dispositif D1 est successeur direct dun dispositif D0 ssi il existe un arc D0 D1 dans le
graphe de dpendances.
Un dispositif D1 est successeur indirect dun dispositif D0 ssi il existe un chemin qui va de D0
D1 dans le graphe de dpendances. Cette relation est note D0 D1 .
Dans les congurations ne comportant pas de dispositif composite, en particulier dans les congurations rsultant dune dcomposition totale ( section A.4), le graphe de dpendances est toujours
un graphe orient acyclique, ou DAG.
A.4.1
Slots externes
Un slot externe est un type particulier de slot qui nappartient pas un dispositif mais une
conguration. Du point de vue de cette conguration, ce sont des points dentre et de sortie lui
permettant dchanger de linformation avec lextrieur. Au niveau de la conguration parente, ils
reprsentent les slots dun dispositif composite : chaque slot externe est associ un slot de sens
oppos sur le dispositif composite (voir gure A.6 page suivante).
Un slot externe est uniquement dni par un sens, un nom et un index. Ses autres attributs sont
204
C
configuration parente
configurations filles
d1
d2
C1
C2
dispositif parent
configuration fille
d11
d12
d21
dispositif parent
dispositifs fils
d22
d*
e*
s1*
s2*
dispositif parent
C*
d1
sx
d2
e1x
e2x
slots externes
F IG . A.6 La conguration C comprend trois slots externes sx , e1x et e2x qui dcrivent les slots de son
dispositif parent d. chaque slot dentre (resp. de sortie) externe est associ un slot de sortie (resp. dentre)
sur le dispositif composite.
205
lequel t-mutable=vrai..
A.4.2
Connexions externes
Comme nous lavons vu prcdemment, les connexions comportant un slot externe sont nommes
connexions externes. Il existe deux types de connexions externes : les connexions externes dentre
qui relient un slot dentre de dispositif un slot externe de sortie, et les connexions externes de sortie
qui relient un slot de sortie de dispositif un slot externe dentre.
Les rgles de connexion ainsi que les attributs et les relations dnies dans la section A.3 page 201
sont les mmes pour les connexions externes. Les contraintes dunicit relatives aux connexions sur
les slots dentre (section A.3 page 201) sappliquent aux slots externes de sortie. Notons quune
connexion externe est toujours compatible, car elle relie deux slots de mme type.
A.4.3
Dispositifs composites
Un dispositif composite est entirement dni par sa conguration lle. Hormis lattribut parent,
lensemble de ses attributs (prcds dune che dans la liste ci-dessous) est fonction des attributs de
cette conguration lle :
parent : La conguration laquelle appartient le dispositif, ou null.
configurationFille : La conguration dentre qui dcrit le dispositif composite.
nom : Le nom dun dispositif composite est le nom de sa conguration lle.
slots : Les slots dun dispositif composite correspondent aux slots externes utiliss dans la con-
guration lle, dans lordre indiqu par leur attribut index. Chaque slot du dispositif composite
hrite des attributs du slot externe qui lui est associ.
paramtres : Un dispositif composite ne comporte pas de paramtre.
composite : Cet attribut vaut vrai.
206
A.4.4
Composition et dcomposition
e*
s*
sx
Slot externe
ex
Nous appellerons connexion inter-niveaux toute paire de connexions reliant deux slots par lintermdiaire dun slot externe et de son slot de dispositif composite associ. Si cette connexion passe
par le slot du dispositif composite puis par le slot externe, nous sommes dans le cas dune connexion
inter-niveaux descendante ; dans le cas contraire, il sagit dune connexion inter-niveaux ascendante
(gure A.7). Dans les deux cas, la connexion inter-niveaux est quivalente du point de vue de lexcution une connexion directe entre le deux slots.
Des oprations de composition et de dcomposition permettent de construire des structurations
alternatives de larbre des congurations. La gure A.8 page suivante montre un exemple de composition ajoutant un niveau de conguration. Les dispositifs d2, d3 et d4 sont regroups au sein dun
dispositif composite, qui peut ensuite tre aplati pour redonner la conguration initiale.
La composition dun ensemble de dispositifs dans une conguration C sobtient par lalgorithme A.1 page 209. Lopration inverse, consistant dcomposer un dispositif composite d dans C
sobtient par lalgorithme A.1 page 209. Ces algorithmes emploient la factorisation des connexions
multiples sur un slot de sortie (gure A.9 page suivante).
Enn, la dcomposition totale dune conguration C, utilise pour le calcul des dpendances cycliques, sobtient en appliquant rcursivement lalgorithme A.1 page 209 sur lensemble des dispositifs de la conguration C.
207
d1
d2
s11 s12 e2
d3
s2
e3
d4
d5
s3 e41 e42 s4
Composition
s5
Dcomposition
d1
d*
s11 s12
d5
e1* e2*
s*
s5
C*
sx1
sx2
d2
e2
s2
d3
e3
ex
d4
s3 e41 e42 s4
F IG . A.8 Exemple de composition et de dcomposition dune conguration dentre. Les dispositifs d1, d2
et d3 sont dplacs dans la conguration-lle C et remplacs par le dispositif composite d . Les connexions
scindes telles que s11 e3 sont remplaces par des connexions inter-niveaux, tandis que les connexions
internes telles que (s2 e41) sont prserves (voir lalgorithme A.1). Lopration de dcomposition supprime
le dispositif composite et la conguration-lle, aprs avoir replac les dispositifs-ls dans la conguration
initiale et remplac les connexions inter-niveaux par des connexions simples (voir lalgorithme A.2).
e1 e2
e1
e*
s*
sx
Slot externe
e2
e1 e2
ex
s
e1 e2
208
A.4.5
Slots i-connects
Il est utile dintroduire une dnition alternative de la connexion, la i-connexion, qui ne prend en
compte que les connexions effectives (ventuellement inter-niveaux) entre slots de dispositifs. Nous
dirons ainsi quun slot de dispositif S est i-connect un slot de dispositif S si S est reli S soit par
une connexion, soit par une ou plusieurs connexions inter-niveaux successives.
Soit un slot S appartenant un dispositif dans une conguration C. Soit C0 la racine de larbre de
congurations dont fait partie C.
Le slot S est i-connect S ssi S est connect S dans la dcomposition totale de C0 .
Lensemble des slots i-connects S est lensemble des slots connects S dans la dcomposition
totale de C0 .
209
210
Annexe B
211
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
212
213
213
213
213
214
215
215
216
218
218
220
220
222
slots
paramtres
p1
p2
dclencheur
dclencheur
S1
S2
S3
S4
dclencheur
t-mutable
dclencheur
t-mutable
s-mutable
type
valeur
valeur
connect
type
connect
type
connect
type
connect
F IG . B.1 Fonction de mutation dun dispositif d comportant les paramtres p1, p2 et les slots S1, S2, S3
et S4. , la source de , est compos des valeurs prises par ses paramtres et des attributs de connexion de ses
slots dclencheurs. m , la cible de , dcrit les types des slots t-mutables de d, ainsi que de lensemble des slots
s-mutables que possde le dispositif aprs mutation.
1. Le paramtrage dun dispositif dcrit les valeurs prises par ses paramtres, et spcie si ses
slots dclencheurs sont connects, ainsi que leurs types connects.
2. Le m-paramtrage m dun dispositif dcrit lensemble de ses slots s-mutables, ainsi que lensemble des types pris par ses slots t-mutables.
3. Chaque dispositif comporte une fonction de mutation : m qui un paramtrage associe
un m-paramtrage.
Aprs une introduction prliminaire sur les notions de signature et de valuation, nous dnirons
plus prcisment , m et la fonction , puis nous dcrirons les mcanismes de base qui permettent
dappliquer et de propager les fonctions de mutation.
212
Types de slots
Un slot structurellement mutable ou s-mutable est un slot pour lequel lattribut s-mutable =
vrai. Un slot t-mutable est un slot pour lequel t-mutable = vrai, et un slot absent est un slot pour
lequel absent = vrai.
Les slots s-mutables sont uniquement dnis par leur parent, leur nom, leur sens et leur type.
Les slots absents sont uniquement dnis par leur parent, leur nom, et leur sens.
Un slot ne peut pas tre simultanment s-mutable et t-mutable. En outre, un slot dclencheur ne
peut pas tre s-mutable.
B.2.2
Identiants et valuations
Les dnitions qui suivent sappliquent tout dispositif, quil soit mutable ou non.
Lidentiant V (S) dun slot S de dispositif est un couple form de la valeur de ses attributs nom
et sens, permettant de caractriser de faon unique ce slot sur son dispositif parent :
V (S) = S.nom, S.sens
Tout couple de la forme nom, sens dont les lments constitutifs ont pour types respectifs ceux
des attributs de slots nom et sens est un identiant de slot. Un identiant de slot nom, sens dsigne
le slot S ssi V (S) = nom, sens .
Soient a1, . . . , an des attributs de slots distincts, et diffrents des attributs nom et sens.
La valuation Va1 ,...,an (S) dun slot de dispositif S est un n-uplet comportant lidentiant de S et
les valeurs de ses attributs a1 , . . . , an :
Va1 ,...,an (S) = S.nom, S.sens, S.a1 , . . . , S.an
Tout n-uplet de la forme nom, sens, a1 , . . . , an , dont les lments constitutifs ont pour types respectifs ceux des attributs de slots nom, sens, a1 , . . ., an , est une valuation de slot, note Va1 ,...,an . Le
couple nom, sens en constitue lidentiant. Nous dirons quune valuation de slot dsigne le slot S ssi
son identiant dsigne le slot S.
De faon analogue, pour les paramtres :
Lidentiant V (P) dun paramtre P est la valeur de son attribut nom, et la valuation Vvaleur (P)
de ce paramtre est le couple form par la valeur de ses attributs nom et valeur.
B.2.3
Les dnitions qui suivent sappliquent tout dispositif, quil soit mutable ou non.
Le paramtrage dun dispositif d est le couple :
(d) = VPd ,VSd
213
B.2.4
Les dnitions qui suivent sappliquent tout dispositif, quil soit mutable ou non.
Soit d un dispositif, P lensemble de ses paramtrages possibles, et P m lensemble de ses mparamtrages valides.
Le dispositif d comporte une fonction de mutation , qui chaque paramtrage de P associe
un m-paramtrage m de P m :
214
B.3. ALGORITHMES
P Pm
Un dispositif est dans un tat consistant ssi il est non mutable, ou sil satisfait sa fonction de
mutation :
m (d) = ((d))
B.3 Algorithmes
B.3.1
La mutation dun dispositif consiste en la rvaluation des valeurs de ses attributs la suite dune
modication de son paramtrage, dans le but dassurer sa consistance. Cette rvaluation nest ncessaire que dans la mesure o ce dispositif est mutable. Le mcanisme de mutation dun dispositif est
dcrit par lalgorithme B.1.
Algorithme B.1: Mutation dun dispositif d de fonction de mutation , et construction de lensemble des
slots qui ont chang de type.
215
B.3.2
La mutation dun dispositif d est provoque par une ou plusieurs des causes lmentaires suivantes :
1. la modication du type connect dun des slots dclencheurs de d ;
2. une connexion ou une dconnexion sur lun des slots dclencheurs de d ;
3. la modication de la valeur dun des paramtres de d.
En outre, la mutation de d a pour rsultat une ou plusieurs consquences lmentaires qui peuvent
tre classes en quatre catgories :
1. la modication du type dun slot t-mutable ou s-mutable de d ;
2. la suppression dun slot s-mutable connect de d ;
3. la suppression dun slot s-mutable non connect de d ;
4. lajout dun slot s-mutable d.
d'
S
t-mutable
S'
dclencheur
type
type
connect
F IG . B.2 Propagation dune mutation : Le slot S, t-mutable, et le slot S , dclencheur, sont relis par une
connexion c de sens quelconque. la suite dune mutation du dispositif d, le type de S est modi, ce qui a
pour effet de modier galement le type connect du slot S et provoquer une mutation de d .
216
B.3. ALGORITHMES
Par lintermdiaire des connexions, les consquences de type 1 et 2 peuvent provoquer sur dautres
dispositifs des causes de type 1 et y dclencher des mutations : la mutation est alors propage (gure B.2 page ci-contre). La mutation dun dispositif est susceptible dtre propage tous les dispositifs directement connects, indpendamment du sens des connexions. Ce mcanisme de propagation
est dcrit par lalgorithme B.2.
Algorithme B.2: Mutation avec propagation des dispositifs dans une conguration C.
d
S2
d'
S1
d1
S'1 S'2
d2
d3
d4
1
2
F IG . B.3 Exemples de mutations inutiles. gauche, une propagation en profondeur dabord au niveau du
slot : le dispositif d modie son slot S1 puis son slot S2. La propagation instantane des mutations dclenche
deux mutations successives sur le dispositif d . droite, une propagation en profondeur dabord au niveau du
dispositif : le dispositif d1 dclenche une mutation sur d2 puis sur d3. L aussi, la propagation instantane
dclenche deux mutations successives de d4.
217
B.3.3
Propagation borne
Bien que les connexions dune conguration dentre ne gnrent pas de dpendance cyclique,
ce nest pas le cas des mutations, qui se propagent indpendamment de lorientation des connexions.
Lorsque les mutations comportent des dpendances cycliques, lalgorithme B.2 page prcdente peut
ne pas se terminer, mais peut galement converger.
Lalgorithme B.3 est une variante de lalgorithme B.2 page prcdente, qui se termine toujours.
Le nombre de mutations sur chaque dispositif est limit imax . Lorsquun dispositif a mut imax fois,
celui-ci est considr comme non stabilis. terme, lalgorithme fournit dans NS lensemble des
dispositifs non stabiliss. Si cet ensemble est non vide, la propagation est considre comme non
stabilise dans son ensemble.
De par sa proprit de terminaison, lalgorithme B.3 est de loin prfrable lalgorithme B.2
page prcdente. Deux stratgies sont possibles pour lexploiter : soit interdire les connexions qui
induisent une propagation non stabilise, soit autoriser provisoirement (hors excution) les dispositifs
non stabiliss dans une conguration. Un diteur interactif pourrait par exemple mettre en vidence les
erreurs dans lespoir que lutilisateur les corrige. Une manire de stabiliser la partie problmatique
de la conguration consiste insrer des dispositifs typeurs , dont les types en entre et en sortie
sont xs par paramtrage : cela quivaut ajouter des contraintes un problme sous-contraint.
Soit i : une fonction qui associe un entier des dispositifs, et dont lensemble de dpart est initialement vide et NS un ensemble de dispositifs initialement vide galement.
Rpter les tapes suivantes jusqu ce que soit vide :
1. Copier dans et effacer le contenu de .
2. Pour tout dispositif d de :
(a) Si d ne fait pas partie de lensemble de dpart de i, ajouter d imax i.
(b) Si i(d) = 0, ajouter d NS . Sinon :
i. Appliquer lalgorithme B.1 page 215 d.
Soit lensemble des slots de d ayant chang de type.
ii. Dcrmenter i(d) dans i.
iii. Si d , retirer d de .
iv. Pour tout slot s appartenant , pour tout slot s i-connect s :
Soit d le dispositif parent de s . Si s est un slot dclencheur et si d , ajouter d .
/
Algorithme B.3: Mutation avec propagation borne imax itrations des dispositifs dans une conguration
C. Cet algorithme construit galement lensemble NS des dispositifs non stabiliss.
B.3.4
B.3. ALGORITHMES
Exemple de typage
Voici un exemple de dispositif dont les slots prennent le type int lorsque les slots dentre sont
connects des entiers et le type double dans les autres cas :
Soit un dispositif mutable add ayant deux slots dentre nomms in1 et in2, un slot de sortie
nomm out, et ne comportant pas de paramtre. in1, in2 et out sont t-mutables et possdent comme
supertype double. Les slots dclencheurs sont in1 et in2. La fonction de mutation add de ce dispositif
est la suivante :
P Pm
add :
avec :
y = int si x1 = int et x2 = int
y = double sinon.
P Pm
inCount, x1 , outCount, x2
2
1
, VSs VSs ,
avec :
1
VSs = si x1 0,
1 =
in1, entree, int , . . . , inx1 , entree, int
VSs
2
VSs = si x2 0,
2
VSs = out1, sortie, int , . . . , outx2 , sortie, int
sinon.
sinon.
P Pm
autocast :
219
B.4.1
Oprations lmentaires
Une opration lmentaire sur une conguration est une fonction qui une conguration C et
un ensemble de dispositifs associe une nouvelle conguration C et un nouvel ensemble .
comprend les dispositifs de plus les dispositifs susceptibles dtre non consistants dans C , cest-dire les dispositifs pouvant ncessiter une mutation.
Quatre oprations lmentaires sont numrs par la suite, et dcrits chacun par un algorithme
simple montrant comment C et sobtiennent partir de C et .
Clonage de dispositifs
Le clonage dun dispositif non composite d dans une conguration consiste crer puis ajouter dans cette conguration un nouveau dispositif possdant les mmes valeurs dattributs, mais ne
comportant pas de connexion.
Opcloner(d) : (C, ) (C , )
avec d C.dispositi f s.
1. Cration dun dispositif d vide ;
2. Copie dans d des valeurs des attributs atomiques et des fonctions de d ;
3. Copie dans d des paramtres et des slots non s-mutables et non absents de d ;
4. Ajout de d C.dispositi f s ;
5. Ajout de d .
Dconnexion
Une opration de dconnexion entre deux slots consiste supprimer la connexion correspondante
dans la conguration.
Opdeconnecter(s,e) : (C, ) (C , )
avec :
s.parent C.dispositi f s
e.parent C.dispositi f s
s e C.connexions.
1. Suppression de la connexion s e de C.connexions ;
2. Ajout de {d1 , d2 } .
B.4.2
Oprations consistantes
Une opration consistante sur une conguration est une fonction qui une conguration C associe
une nouvelle conguration C dont les dispositifs sont consistants. Une opration consistante peut tre
dnie partir dune suite doprations lmentaires, de la manire suivante :
Op(Op1 ,...,Opn ) : C C
1. Soit = ;
2. Appliquer dans lordre les Opi sur (C, ) ;
3. Appliquer lalgorithme de mutation avec propagation sur .
222
Annexe C
223
224
224
224
225
225
226
226
227
228
229
229
230
230
231
232
232
233
233
C.1 Introduction
Nous dcrivons ici la partie excution du modle ICOM, cest--dire le comportement des congurations dentre lors de la phase de lancement et dexcution. Notre algorithme dexcution est de
type ractif ce qui signie que chaque modication des entres est rpercute et propage dans la
conguration en un temps conceptuellement nul (voir 3.3 page 99). La plupart des notions abordes
ici sappuient sur les structures dcrites dans lannexe A.
d
e1
e2
s1
s2
Le comportement en excution dune conguration dentre est essentiellement dcrit par des
processeurs. Un processeur est une fonction qui aux valeurs prises par les slots dentre associe des
valeurs aux slots de sortie (gure C.1). Lorsquune conguration est lance, des structures sont alloues pour stocker la valeur de chaque slot, et chaque dispositif cre un processeur en fonction de
son paramtrage, selon sa fonction dexcution .
Les valeurs manipules par les processeurs sont des valeurs de variables classiques associes un
boolen appel signal : il sagit de signaux valus. Un signal valu est propag aux autres processeurs
seulement si le signal est prsent (boolen vrai). Des modications de la valeur dune variable sont
ncessairement propages, mais une valeur non modie peut galement tre propage. Un signal
valu peut par consquent reprsenter aussi bien un tat quun vnement.
Dans cette section, nous introduisons les dnitions relatives aux signaux valus, aux processeurs,
et aux fonctions dexcution.
C.2.1
Signaux valus
Une variable est dnie par ensemble appel type et un lment de cet ensemble appel valeur :
V = X, x , x X
Un signal valu est la combinaison dune variable et dun boolen appel signal :
S = V, s =
X, x , s , x X, s {vrai, f aux}
La valeur dun signal valu est un couple form par la valeur x de sa variable V (appele valeur
de variable de S) et la valeur de son signal :
v = x, s
224
C.2.2
Historiques
x
s
t
1
V
1
F
2
V
2
V
2
F
La valeur dun signal valu volue au cours du temps, que nous supposons discret et reprsent par
un entier strictement positif. Nous noterons vt = xt , st la valeur dun signal valu linstant t .
Autrement dit, le changement de la valeur de variable est une condition sufsante (mais non
ncessaire) pour que le signal soit vrai. En outre, un signal valu est considr comme nayant pas
de valeur de variable tant que son signal na pas reu la valeur vrai au moins une fois. La gure C.2
illustre une volution possible dun signal valu au cours du temps, obissant ces deux conditions.
Un historique dun signal valu S linstant t, not ht (S), dcrit une volution de sa valeur depuis
t = 1 jusqu t strictement positif :
ht (S) = v1 , . . . , vt
La condition de changement de valeur de variable nonce plus haut est traduite par la dnition
de lensemble des historiques possibles H (S). La condition dabsence de valeur de variable est pour
sa part traduite par la dnition de la relation dquivalence entre deux historiques de H (S).
Lensemble des historiques possibles H (S) dun signal valu S est :
H (S) =
v1 , . . . , vt
La relation dquivalence entre deux historiques de H (S) est dnie comme suit :
Soient h et h H (S).
h h ssi
h = h ou si h et h sont de la forme :
h = x, f aux , . . . , x, f aux , vk , . . . , vt
h = x , f aux , . . . , x , f aux , vk , . . . , vt
C.2.3
Par commodit pour la suite, nous tendrons les dnitions prcdentes aux signaux valus multiples du type S = S1 , . . . , Sn :
225
V (S) =
v1 , . . . , vt1 , . . . , v1 , . . . , vtn
n
1
H (S) =
v1 , . . . , vn , . . . , v1 , . . . , vtn
n
1
1
La relation dquivalence entre deux historiques de H (S) est dnie comme suit :
Soient h et h H (S), avec h = h1 , . . . , hn et h = h , . . . , h .
n
1
h h ssi i [1, n], hi h
i
C.2.4
Processeurs
Un processeur est une fonction qui chaque historique dun ensemble de signaux valus nomms
signaux dentre associe des valeurs dautres signaux valus, nomms signaux de sortie.
Soit PE,S un processeur dni sur les signaux dentre E = e1 , . . . , em et les signaux de sortie
S = s1 , . . . , sn . La fonction PE,S est dnie comme suit :
PE,S :
H (E) V (S)
ht (E) v(S)
Cette fonction vrie en outre la condition dabsence de valeur nonce prcdemment, cest-dire quelle ne peut pas lire les variables qui nont pas encore reu de signal. Cette condition
snonce ainsi :
h et h H (E), h h PE,S (h) = PE,S (h )
Un processeur PE,S est dit passif si en plus, il ne peut pas gnrer de signal (et fortiori de valeur)
sans en recevoir, ce qui se traduit par la condition suivante :
h H (E)
tel que h = v1 , . . . , vt1 , xt1 , f aux , . . . , v1 , . . . , vt1 , xtn , f aux
n
n
1
1
limage de h est de la forme PE,S (h) =
y1 , f aux , . . . , ym , f aux
C.2.5
Comme nous lavons vu en guise dintroduction, le comportement en excution dun dispositif est
dcrit par un processeur qui opre sur les signaux dentre et de sortie associs ses slots dentre et
de sortie (ces signaux valus sont crs lors du lancement de la conguration, nous le verrons dans la
section suivante).
Le comportement en excution dpend uniquement des valeurs prises par les paramtres du dispositif, ainsi que de ses types connects sil est mutable. chaque paramtrage ( section B.2.3
226
open
P0
open
open
P2
V0
P1
V1
tri topologique
machine ractive
Le lancement dune conguration dentre consiste en un ensemble doprations destines prparer cette conguration dentre lexcution. Ces mcanismes aboutissent la cration dune machine ractive, qui sera la version excutable de la conguration dentre. Les diffrentes tapes de ce
processus, illustres sur la gure C.3 pour une conguration-exemple, sont les suivantes :
1. Aplatissement de larbre des congurations
2. Cration des valeurs et ouverture des dispositifs
3. Tri topologique
4. Cration de la machine ractive
La premire phase consiste aplatir larbre des congurations an de placer tous les dispositifs au
mme niveau. Lalgorithme, appel dcomposition totale, a dj t dcrit en annexe A (algorithme
A.1). La seconde phase consiste crer les structures de base qui serviront lexcution : les Valeurs
(signaux valus) et les Processeurs. Un tri topologique est ensuite effectu sur les processeurs, partir
du graphe de dpendances entre dispositifs ( section A.3.5 page 204). La dernire phase consiste
construire la machine ractive et remplir sa structure.
Nous ne dcrirons pas le mcanisme daplatissement (dj dcrit en Annexe A) et le tri topologique (dj connu [L ACOMME et al. 03]). En revanche nous dtaillerons la phase consistant crer les
227
C.3.1
Dans la section prcdente, nous avons introduit et dcrit les processeurs laide doutils mathmatiques simples. Dans cette partie, nous emploierons des reprsentations alternatives sous forme de
structures de donnes.
Un signal valu est cod par une structure nomme Valeur, qui encapsule une valeur de variable
et un temps. Le temps est un entier prcisant quel moment le signal valu a reu un signal pour la
dernire fois. Cette reprsentation est quivalente celle des signaux valus vus prcdemment : un
signal est prsent (s = vrai) si et seulement si le temps de la Valeur est gal au temps courant de la
machine ractive (i.e. au temps global).
La structure Valeur est dcrite ci-dessous :
Valeur
parent
valIndex
valeur
temps
signal
Machine
entier
variable
entier
vrai/faux
x1 , s1 , . . . , xn , sn .
entres : Cette table contient les Valeurs reprsentant les signaux dentre du processeur.
sorties : Cette table contient les Valeurs reprsentant les signaux de sortie du processeur.
228
Valeur [ ]
Valeur [ ]
fonction [ ]
fonction [ ]
C.3.2
La seconde tape phase du lancement dune conguration dentre consiste crer les structures
contenant les valeurs des slots.
Une structure Valeur est cre pour tout slot de sortie de la conguration dentre. Les slots
dentre ne comportent pas de Valeur (voir la gure C.3 page 227), mais rfrencent celle de leur slot
connect. Il ny aura donc pas proprement parler de propagation de valeur entre deux slots, puisque
ceux-ci partageront la mme valeur.
Une fois les valeurs cres, les dispositifs sont ouverts : lorsquun dispositif est ouvert, celui-ci
retourne une structure Processeur cre partir de sa fonction dexcution.
C.3.3
ProcInfo
P2
Valeur
V0
V1
depFirst
depLast
DepInfo
procIndex
V1
P1
ValInfo
P1
P0
V
dclench
P2
actif
V0
Processeur
P0
variable
temps
temps
229
C.4.1
La mise jour dun Processeur consiste modier ses valeurs de sortie, et notier la machine
ractive parente an que cette mise jour soit propage. Lensemble de ce mcanisme est dcrit par
lalgorithme C.1 page suivante : la procdure miseAJour dnie dans la structure Processeur applique les fonctions calculValeur et calculSignal ses Valeurs de sortie. Elle dlgue les assignations
nales et les notications la procdure miseAJour dnie dans la structure Valeur. Lorsquun signal est prsent, cette dernire appelle la procdure envoiSignal de la machine ractive, dcrite dans
la section suivante.
230
C.4.2
La boucle dexcution
Lexcution dune machine ractive consiste en une srie ditrations appeles ticks. Pendant un
tick, tous les signaux sont propags dans la machine ractive. La procdure tick (algorithme C.2) dcrit
une itration : la structure ProcInfo est parcourue dans lordre, et chaque processeur est mis jour
sil est dclench. La mise jour dun dispositif peut amener le dclenchement dautres processeurs
situs aprs lui dans la table.
proc Machine.tick()
temps++
for i=0 to ProcInfo.length do
pinfo ProcInfo[i]
if pinfo.dclench then
pinfo.Processeur.miseAJour()
end if
if not pinfo.actif then
pinfo.dclench faux
end if
end for
end proc
proc Machine.envoiSignal(int valIndex)
dinfo DepInfo[valIndex]
dinfo.Valeur.temps temps
for i=dinfo.depFirst to dinfo.depLast do
ProcInfo[DepInfo[i].procIndex].dclench vrai
end for
end proc
Algorithme C.2: Itration dune machine ractive.
Cet algorithme de propagation assure qu la n dun tick, tous les changements ont correctement
t propags, et que la mise jour dun dispositif nest jamais effectue plus dune fois : dans la
conguration-exemple de la gure C.4 page 229, quand B reoit une valeur du dispositif actif A, il
attendra la mise jour de C avant de se mettre jour.
231
C.5 Lenvironnement
Le modle dexcution que nous avons dcrit est particulirement bien adapt la description de
traitements de donnes dterministes. Cependant, un systme interactif comporte souvent une part de
non-dterminisme, en particulier du non-dterminisme temporel rsultant de processus asynchrones,
qui prennent du temps . En outre, il est vident que notre systme ncessite dtre aliment en informations, en particulier celles provenant des dispositifs dentre, et doit galement agir lextrieur
du systme, soit sur lapplication contrle, soit pour gnrer un retour utilisateur (feedback). Tous ces
mcanismes ne peuvent tre pris en compte sans inclure dans le modle la notion denvironnement,
systme externe la machine ractive.
Nous voquerons dans cette partie comment nous pouvons, dans notre modle et dans une ventuelle implmentation, prendre en compte cette communication, puis nous aborderons un autre problme li lenvironnement, celui de lhypothse ractive.
C.5.1
Lorsquun dispositif ne possde pas dentres ou de sorties implicites, son comportement lors de
lexcution est entirement dtermin par un processeur oprant uniquement sur les signaux dentre et de sortie lis aux slots du dispositif. Dans le cas contraire, le dispositif communique avec
lenvironnement, et ce processeur ne peut dcrire intgralement son comportement.
Environnement
eext
sext
P
d
e1
e2
s1
s2
Configuration
d'entre
Nous pouvons cependant gnraliser notre modle dterministe en supposant que lenvironnement
232
C.5. LENVIRONNEMENT
est accessible travers deux signaux valus (dont les types peuvent bien sr tre complexes) : le signal
valu eext et le signal valu sext . Le dispositif interagit alors avec lenvironnement en lisant eext (sil
comporte des entres implicites) et en crivant dans sext (sil comporte des sorties implicites). Le
comportement dun tel dispositif peut alors tre dcrit avec un processeur PE,S dni sur les signaux
valus relatifs aux slots auxquels on ajoute les signaux valus de lenvironnement (gure C.5 page
ci-contre) :
E = Eslots {eext }
S = Sslots {sext }
Notre modle dexcution dcrit le comportement des congurations dentre, mais non le comportement de lenvironnement (qui, par dnition, ne fait pas partie de notre systme), ni les mcanismes de communication avec cet environnement. En particulier, les variables associes eext et sext
ne sont pas explicites et ni leur type ni leur valeur ne sont connues : elles permettent uniquement
dvoquer, dans notre modle, la prsence de non-dterminisme (pour le premier) et deffets de bord
(pour le second).
Dans une implmentation concrte, la communication avec lenvironnement (librairies et parties
du code externes la machine ractive) sera implmente librement dans la fonction de mise jour,
mais devront cependant tre explicitement dclars par la prsence dentres et de sorties implicites.
La prsence dentres implicites implique souvent un dispositif actif, qui a besoin de lire lenvironnement mme en labsence de signaux en entre : il y a donc un sens ce quun dispositif entres
implicites soit actif par dfaut. La prsence de sorties implicites na quant lui pas dinuence sur
les mcanismes dexcution, mais peut apporter (tout comme les entres implicites) une information
utile sur la smantique du dispositif dans une ventuelle reprsentation graphique.
C.5.2
Nous avons dcrit la phase douverture des dispositifs comme un mcanisme permettant de crer
des processeurs de manire dterministe. Cependant, les dispositifs comportant des entres ou des
sorties implicites ont souvent besoin dallouer au sein de lenvironnement des ressources pour prparer leur excution. Ces mcanismes dinitialisation peuvent, de manire non-dterministe, russir ou
chouer (dans le cas des dispositifs sans entres ou sorties implicites, nous supposerons quelle russit
toujours).
Lorsque louverture dun dispositif d a russi, celui-ci retourne, comme dcrit prcdemment, un
Processeur construit partir de sa fonction dexcution P = ((d)). Dans le cas contraire, il retourne
le Processeur nul dcrit par la fonction P :
P : ht (E)
C.5.3
Dans une implmentation concrte, il est vident que le traitement de linformation (effectu par
lensemble des processeurs) prend un certain temps, ainsi que la communication entre ces processeurs
(pris en charge par la machine ractive). En pratique, cette dernire est souvent ngligeable par rapport
aux traitements de donnes. La dure dun tick dans une machine ractive est par consquent au
moins gale la somme des dures des traitements effectus par les processeurs. En outre, le temps
233
1 Il
nest cependant pas ncessaire quune machine ractive ragisse frquence constante.
234
Bibliographie
[ACCOT et al. 98] Johnny ACCOT, Stphane C HATTY, Yannick J ESTIN, et Stphane S IRE. Conception des
interfaces : et si nous analysions enn la tche du programmeur ? . Dans Prise de position pour les diximes
journes francophones sur lInteraction Homme Machine (IHM98), septembre 24 1998.
[ACCOT et al. 97] Johnny ACCOT, Stphane C HATTY, Sbastien M AURY, et Philippe PALANQUE. Formal
transducers : Models of devices and building bricks for the design of highly interactive systems . Dans
M. D. H ARRISON et J. C. T ORRES, diteurs, Design, Specication and Verication of Interactive Systems
97, Eurographics, pages 143159, Wien, 1997. Springer-Verlag. Proceedings of the Eurographics Workshop
in Granada, Spain, June 4 6, 1997.
[A LIAS 01] Maya real-time author (RTA) . Alias Systems (Alias|Wavefront), dcembre 2001. http:
//www.alias.com.
[A PPERT et al. 03] Caroline A PPERT, Michel B EAUDOUIN -L AFON, et Wendy M ACKAY. Context matters :
Evaluating interaction techniques with the CIS model . Rapport Technique 1372, Laboratoire de Recherche
en Informatique (LRI), Universit de Paris-Sud, 2003.
[A PPLE 02] Introduction to the aqua human interface . Apple Computer, Inc., 2002. http://developer.
apple.com.
[A PPLE 03] Interface builder . Apple Computer, Inc., 2003. http://developer.apple.com/tools/
interfacebuilder/.
[BALAKRISHNAN et al. 99] Ravin BALAKRISHNAN, George F ITZMAURICE, Gordon K URTENBACH, et
William B UXTON. Digital tape drawing . Dans Proceedings of the 12th Annual ACM Symposium on
User Interface Software and Technology, pages 161170, N.Y., novembre 710 1999. ACM Press.
[BARLOW et al. 90] Horace BARLOW, Colin B LAKEMORE, et Miranda W ESTON -S MITH. Images and Understanding : Thoughts about images : Ideas about understanding. Cambridge University Press, 1990.
ISBN 0-521-36944-4.
[BASTIDE et al. 02] Rmi BASTIDE, David NAVARRE, et Philippe PALANQUE. A model-based tool for
interactive prototyping of highly interactive applications . Dans CHI 02 extended abstracts on Human
factors in computer systems, pages 516517. ACM Press, 2002.
[BAUDEL 95] Thomas BAUDEL. Morphologie de lInteraction Humain-Ordinateur : tude de Modles dInteraction Gestuelle. Thse de doctorat, Universit de Paris-Sud, U.F.R. scientique dOrsay, dec 1995.
[BAUDISCH et al. 03] P. BAUDISCH, E. C UTRELL, D. ROBBINS, M. C ZERWINSKI, P. TANDLER, B. B EDER SON , et A. Z IERLINGER. Drag-and-pop and drag-and-pick : Techniques for accessing remote screen
content on touch- and pen-operated systems . Dans Proceedings of the 9th IFIP TC13 International Conference on Human-Computer Interaction (INTERACT03), pages 5764, septembre 2003.
235
BIBLIOGRAPHIE
[B EAUDOUIN -L AFON 97] Michel B EAUDOUIN -L AFON. Interaction instrumentale : de la manipulation directe la ralit augmente . Dans Actes des Neuvimes Journes sur lInteraction Homme-Machine,
IHM97, sep 1997.
[B EAUDOUIN -L AFON 00] Michel B EAUDOUIN -L AFON. Instrumental interaction : an interaction model
for designing post-WIMP user interfaces . Dans Thea T URNER, Gerd S ZWILLUS, Mary C ZERWINSKI,
et Patern FABIO, diteurs, Proceedings of the 2000 Conference on Human Factors in Computing Systems
(CHI-00), pages 446453, N. Y., avril 16 2000. ACM Press.
[B EAUDOUIN -L AFON et al. 90] Michel B EAUDOUIN -L AFON, Yves B ERTEAUD, et Stphane C HATTY.
Creating direct manipulation applications with xtv . Dans Proc. European X Window System Conference,
novembre 1990.
[B EAUDOUIN -L AFON & L ASSEN 00] Michel B EAUDOUIN -L AFON et Henry Michael L ASSEN. The architecture and implementation of CPN2000, a post-WIMP graphical application . Dans Proceedings of the
13th Annual Symposium on User Interface Software and Technology (UIST-00), pages 181190, N.Y., novembre 58 2000. ACM Press.
[B EDERSON 03] Ben B EDERSON. The piccolo 1.0 toolkit . Human Computer Interaction Lab (HCIL),
University of Maryland, avril 2003. http://www.cs.umd.edu/hcil/piccolo/.
[B EDERSON et al. 00] Benjamin B. B EDERSON, Jon M EYER, et Lance G OOD. Jazz : an extensible zoomable
user interface graphics toolkit in java . Dans Proceedings of the 13th Annual Symposium on User Interface
Software and Technology (UIST-00), pages 171180, N.Y., novembre 58 2000. ACM Press.
[B ERRY 89] Grard B ERRY. Real time programming : special purpose or general purpose languages .
Rapport interne RR-1065, Inria, Institut National de Recherche en Informatique et en Automatique, 1989.
[B ERRY 99] Grard B ERRY. The Esterel v5 language primer . Rapport Technique, avril 1999. http:
//www-sop.inria.fr/meije/esterel/doc/main-papers.html.
[B ERRY 00] Grard B ERRY. The Foundations of Esterel. MIT Press, 2000.
[B ERRY et al. 87] Grard B ERRY, P. C OURONN, et G. G ONTHIER. Programmation synchrone des systmes
ractifs : le langage ESTEREL . Technique et Science Informatique, 6(4), 1987.
[B IER et al. 93] E. B IER, M. S TONE, K. P IER, W. B UXTON, et T. D E ROSE. Toolglass and magic lenses :
The see-through interface . Proceedings of SIGGRAPH93, pages 7380, 1993.
[B IER & F REEMAN 91] E. A. B IER et S. F REEMAN. MMM : A user interface architecture for shared editors
on a single screen . Dans Proceedings of the Fourth Annual Symposium on User Interface Software and
Technology (UIST 91), pages 7986, South Carolina, USA, novembre 11-13 1991. ACM Press.
[B IER & S TONE 86] E. A. B IER et M. C. S TONE. Snap-dragging . Computer Graphics (Proc. ACM SIGGRAPH 86), 20(4) :233240, 1986.
[B LANCH 02] Renaud B LANCH. Programmer linteraction avec des machines tats hirarchiques . Dans
Proceedings of the 14th French-speaking conference on Human-computer interaction (Confrence Francophone sur lInteraction Homme-Machine), pages 129136. ACM Press, 2002.
[B OLT 80] Richard A. B OLT. put-that-there : Voice and gesture at the graphics interface . Computer
Graphics, 14(3) :262270, juillet 1980.
[B ORNING 79] Alan Hamilton B ORNING. Thinglab - A Constraint-Oriented Simulation Laboratory. PhD
thesis, Stanford University, juillet 1979. galement disponible comme rapports de recherche STAN-CS-79746 (Stanford Computer Science Department) et SSL-79-3 (XEROX Palo Alto Research Center).
236
BIBLIOGRAPHIE
[B OURIT 00] Cyril B OURIT. Chamois : un logiciel de constructions gomtriques . aot 2000. http:
//membres.lycos.fr/bourit/.
[B UXTON 83] William B UXTON. Lexical and pragmatic considerations of input structures . Computer
Graphics, 17(1) :3137, janvier 1983.
[B UXTON 86 A ] William B UXTON. Chunking and phrasing and the design of human-computer dialogues .
Dans H. J. K UGLER, diteur, Information Processing 86, Proceedings of the IFIP 10th Worm Computer
Congress, pages 475480. North Holland Publishers, 1986.
[B UXTON 86 B ] William B UXTON. There is more to interaction than meets the eye : Some issues in manual
input . Dans D. A. N ORMAN et S. W. D RAPER, diteurs, User Centred System Design : New Perspectives
on Human-computer Interaction, pages 319337. Lawrence Erlbaum Associates, Hillsdale, NJ., 1986.
[B UXTON & M YERS 86] William B UXTON et Brad A. M YERS. A study in two-handed input . Human
Factors in Computing Systems, pages 321326, 1986.
[C ADOZ 94] Claude C ADOZ. Le geste, canal de communication homme/machine : la communication instrumentale . Technique et Science de lInformation, 13(1) :3161, 1994.
[C APPONI & L ABORDE 91] B. C APPONI et C. L ABORDE. Cabri-gomtre, un environnement pour lapprentissage de la gomtrie lmentaire . Dans Actes de la VIme cole dt de didactique des mathmatiques,
pages 22022, 1991.
[C ARD et al. 90] Stuart K. C ARD, Jock D. M ACKINLAY, et George G. ROBERTSON. The design space of
input devices . Dans Proceedings of ACM CHI90 Conference on Human Factors in Computing Systems,
Multi-Media, pages 117124, 1990.
[C ARD et al. 91] Stuart K. C ARD, Jock D. M ACKINLAY, et George G. ROBERTSON. A morphological
analysis of the design space of input devices . ACM Trans. on Inf. Sys., 9(2) :99, 1991.
[C ARR 91] R. M. C ARR. The point of the pen (PenPoint operating system) . Byte Magazine, 16(2) :211
214, 216, 219221, fvrier 1991.
[C ARSON 97] George S. C ARSON. Standards pipeline :the Open GL specication . Computer Graphics,
31(2) :1718, mai 1997.
[C HAPMAN 03] Davis C HAPMAN.
ISBN 2744015571.
Visual C++ 6.
[C HATTY 94] Stephane C HATTY. Extending a graphical toolkit for two-handed interaction . Dans Proceedings of the ACM Symposium on User Interface Software and Technology, Two Hands and Three Dimensions, pages 195204, 1994.
[CMI 02] Le projet GINA (Gomtrie Interactive et NAturelle) . cole des Mines de Nantes, quipe CMI,
2002. http://www.emn.fr/x-info/gina/.
[C OHEN et al. 89] P. R. C OHEN, M. DALRYMPLE, D. B. M ORAN, F. C. P EREIRA, et J. W. S ULLIVAN. Synergistic use of direct manipulation and natural language . Dans Proceedings of the SIGCHI conference on
Human factors in computing systems, pages 227233. ACM Press, 1989.
[C OUTAZ 87] Joelle C OUTAZ. PAC, an object-oriented model for dialog design . Dans Proceedings of IFIP
INTERACT87 : Human-Computer Interaction, 2. Design and Evaluation Methods : 2.5 Dialogue Design and
Evaluation, pages 431436, 1987.
[C YCORE 03] Cult3D Designer . Cycore, 2003. http://www.cult3d.com/Cult3D/.
237
BIBLIOGRAPHIE
[D IX & RUNCIMAN 85] Alan D IX et Colin RUNCIMAN. Abstract models of interactive systems . Dans
Proceedings of the HCI85 Conference on People and Computers : Designing the Interface, The Design
Process : Models and Notation for Interaction, pages 1322, 1985.
[D OHERTY et al. 01] Eamon D OHERTY, Gilbert C OCKTON, Chris B LOOR, et Dennis B ENIGNO. Improving
the performance of the cyberlink mental interface with "yes / no program" . Dans Proceedings of ACM CHI
2001 Conference on Human Factors in Computing Systems, Motion and Emotion, pages 6976, 2001.
[D RAGICEVIC 98] Pierre D RAGICEVIC. Concrtiser les dispositifs dentre dans les outils de dveloppement , Prise de position. Dans Actes des diximes journes francophones sur lInteraction Homme Machine
(IHM98), pages 133139, septembre 24 1998.
[D RAGICEVIC 01] Pierre D RAGICEVIC. Une architecture en cascade pour des systmes interactifs multidispositifs , Rencontres Doctorales, papier court. Dans A. B LANDFORD, J. VANDERDONKT, et P. G RAY,
diteurs, People and Computers XV Interaction without Frontiers : Joint proceedings of IHM 2001 and HCI
2001, volume 2, pages 191192. Springer Verlag, 2001.
[D RAGICEVIC 02] Pierre D RAGICEVIC. Page Web du projet ICON . cole des Mines de Nantes, quipe
CMI, 2002. http://www.emn.fr/x-info/icon/.
[D RAGICEVIC & F EKETE 99] Pierre D RAGICEVIC et Jean-Daniel F EKETE. tude dune bote outils multidispositifs . Dans Actes de la 11ime confrence francophone dInteraction Homme-Machine (IHM99),
pages 5562. Cepadues, novembre 1999.
[D RAGICEVIC & F EKETE 00] Pierre D RAGICEVIC et Jean-Daniel F EKETE. Input device selection and interaction conguration with ICON . Rapport Technique 00/5/INFO, cole des Mines de Nantes, dpartement
Informatique, novembre 2000.
[D RAGICEVIC & F EKETE 01] Pierre D RAGICEVIC et Jean-Daniel F EKETE. Input device selection and interaction conguration with ICON . Dans A. B LANDFORD, J. VANDERDONKT, et P. G RAY, diteurs, People
and Computers XV Interaction without Frontiers : Joint proceedings of IHM 2001 and HCI 2001, pages
543558. Springer Verlag, 2001.
[D RAGICEVIC & F EKETE 02] Pierre D RAGICEVIC et Jean-Daniel F EKETE. ICON : Input device selection
and interaction conguration , Dmonstration, papier court. Dans UIST 02 Companion. The 15th Annual
ACM Symposium on User Interface Software and Technology, octobre 2730 2002.
[D RAGICEVIC & F EKETE 03] Pierre D RAGICEVIC et Jean-Daniel F EKETE. ICON : Towards high input
adaptability of interactive applications . Rapport Technique (en cours de publication), cole des Mines de
Nantes, dpartement Informatique, dcembre 2003.
[D RAGICEVIC & F EKETE 04] Pierre D RAGICEVIC et Jean-Daniel F EKETE. The input congurator toolkit :
Towards high input adaptability in interactive applications . Dans S OUMIS AVI2004 Advanced Visual
Interfaces. ACM Press, mai 2528 2004.
[D RAGICEVIC & H UOT 02] Pierre D RAGICEVIC et Stphane H UOT. SpiraClock : a continuous and nonintrusive display for upcoming events . Dans CHI 02 extended abstracts on Human factors in computer
systems, pages 604605. ACM Press, 2002.
[D UKE & H ARRISON 93] D. J. D UKE et M. D. H ARRISON. Abstract interaction objects . Dans R. J. H UB BOLD et R. J UAN , diteurs, Eurographics 93, pages 2536, Oxford, UK, 1993. Eurographics, Blackwell
Publishers.
[D UNN 00] Jeff D UNN. Developing accessible JFC applications . Sun Microsystems Accessibility Team,
juin 2000. http://www.sun.com/access/developers/developing-accessible-apps/.
238
BIBLIOGRAPHIE
[D UNN & H ERZOG 77] Robert M. D UNN et Bertram H ERZOG. Status report of the Graphics Standards
Planning Committee of ACM/SIGGRAPH . Computer Graphics, 11(3) :I19 + II117, Fall 1977.
[E CKERT et al. 79] R. E CKERT, G. E NDERLE, K. K ANSY, et F.J. P RESTER. GKS79 - proposal of a standard
for a graphical kernel system . Dans Proceedings of Eurographics79, 1979.
[E CKSTEIN & L OY 02] Robert E CKSTEIN et Marc L OY. Java Swing. OReilly & Associates, Inc., 981 Chestnut Street, Newton, MA 02164, USA, 2e dition, 2002. ISBN 0-596-00408-7.
[E LLIOTT et al. 94] Conal E LLIOTT, Greg S CHECHTER, Ricky Y EUNG, et Salim A BI -E ZZI. TBAG : A high
level framework for interactive, animated 3D graphics applications . Dans Andrew G LASSNER, diteur,
Proceedings of SIGGRAPH 94 (Orlando, Florida, July 2429, 1994), Computer Graphics Proceedings,
Annual Conference Series, pages 421434. ACM SIGGRAPH, ACM Press, juillet 1994. ISBN 0-89791667-0.
[E LO 02] Keys to a successful kiosk application . Elo TouchSystems, Inc., 2002. http://www.elotouch.
com.
[E STEBAN 97] Olivier E STEBAN. Programmation visuelle pour la construction dinterfaces homme-machine
hautement interactives. Thse de doctorat, Laboratoire Interface Homme Systmes (LIHS), avril 1997.
[E STEBAN et al. 95] O. E STEBAN, S. C HATTY, et P. PALANQUE. Whizzed : a visual environment for building highly interactive software . Dans Proceedings of IFIP INTERACT95 : Human-Computer Interaction,
pages 121126, 1995.
[F EKETE & B EAUDOUIN -L AFON 96] Jean-Daniel F EKETE et Michel B EAUDOUIN -L AFON. Using the
multi-layer model for building interactive graphical applications . Dans Proceedings of the ACM Symposium on User Interface Software and Technology, Papers : Tools, pages 109118, 1996.
[F EKETE & D RAGICEVIC 00] Jean-Daniel F EKETE et Pierre D RAGICEVIC. Une architecture multidispositifs . Dans Actes du Colloque sur les Interfaces Multimodales, mai 910 2000.
[F EKETE et al. 98] Jean-Daniel F EKETE, Martin R ICHARD, et Pierre D RAGICEVIC. Specication and verication of interactors : A tour of esterel . Dans Chris R. ROAST, diteur, Formal Aspects of Human
Computer Interaction FAHCI98, pages 103118. British Computer Society, septembre 1998.
[F EKETE 96 A ] Jean-Daniel F EKETE. Les trois services du noyau smantique indispensables lIHM .
Dans Actes Huitimes Journes sur lIngnierie des Interfaces Homme-Machine, IHM96, pages 4550,
septembre 1996.
[F EKETE 96 B ] Jean-Daniel F EKETE. Un modle multicouche pour la construction dapplications graphiques
interactives. Thse de doctorat, Universit de Paris-Sud, Orsay (France), janvier 1996.
[F IGUEROA et al. 02] Pablo F IGUEROA, Mark G REEN, et H. James H OOVER. InTml : a description language
for VR applications . Dans Proceeding of the seventh international conference on 3D Web technology, pages
5358. ACM Press, 2002.
[F INGERW ORKS 03] iGesture multitouch Pad . FingerWorks, 2003. Brevet US. 6323846. http://www.
fingerworks.com/.
[F ITZMAURICE & B UXTON 97] George F ITZMAURICE et William B UXTON. An empirical evaluation of
graspable user interfaces : Towards specialized, space-multiplexed input . Dans Proceedings of ACM CHI
97 Conference on Human Factors in Computing Systems, volume 1 de PAPERS : Handy User Interfaces,
pages 4350, 1997.
239
BIBLIOGRAPHIE
[F ITZMAURICE et al. 95] George W. F ITZMAURICE, Hiroshi I SHII, et William B UXTON. Bricks : Laying the
foundations for graspable user interfaces . Dans Irvin R. K ATZ, Robert M ACK, Linn M ARKS, Mary Beth
ROSSON, et Jakob N IELSEN, diteurs, Proceedings of the Conference on Human Factors in Computing
Systems (CHI95), pages 442449, New York, NY, USA, mai 1995. ACM Press.
[F OLEY et al. 90] J. F OLEY, A. VAN DAM, S. F EINER, et J. H UGHES. Computer graphics Principles and
Practice. Addison-Wesley, 2e dition, 1990.
[F OLEY et al. 84] James D. F OLEY, Victor L. WALLACE, et Peggy C HAN. The human factors of computer
graphics interaction techniques . IEEE Computer Graphics and Applications, 4(11) :1348, novembre
1984.
[F OWLER 99] A. F OWLER. A Swing architecture overview : The inside story on JFC component design .
Sun Microsystems, 1999. http://java.sun.com/products/jfc/tsc/articles/architecture/.
[F RANTZ 00] Grard F RANTZ. Visual Basic 6 : Le guide du programmeur. La rfrence. Osman Eyrolles
Multimdia, novembre 2000. ISBN 2746402343.
[G ILL 02] Lisa G ILL. The secret of logitechs success . oct 2002. E-Commerce Times. http://www.
ecommercetimes.com/perl/story/19664.html.
[G OLDBERG & ROBSON 81] A. G OLDBERG et D. ROBSON. The Smalltalk-80 system . Byte Magazine,
6(8) :3648, aot 1981.
[G REENBERG & B OYLE 02] Saul G REENBERG et Michael B OYLE. Customizable physical interfaces for
interacting with conventional applications . Dans Proceedings of the 15th annual ACM symposium on User
interface software and technology (UIST-02), pages 3140, New York, octobre 2730 2002. ACM Press.
[G REENBERG & F ITCHETT 01] Saul G REENBERG et Chester F ITCHETT. Phidgets : Easy development of
physical interfaces through physical widgets . Dans Proceedings of the 14th Annual Symposium on User
Interface Software and Technology (UIST-01), pages 209218, New York, novembre 1114 2001. ACM
Press.
[GSA 91] GSA. Managing end user computing for users with disabilities. General Services Administration,
1991. Washington, DC.
[G UIARD 87] Yves G UIARD. Asymmetric division of labor in human skilled bimanual action : The kinematic chain as a model. . The Journal of Motor Behavior, 19(4) :486517, 1987.
[H ALBWACHS et al. 91] N. H ALBWACHS, P. C ASPI, P. R AYMOND, et D. P ILAUD. The synchronous data
ow programming language LUSTRE . Dans Proceedings of the IEEE, volume 79, septembre 1991.
[H APTEK 03] PeoplePutty : dynamic 3-D character building tool . Haptek, Inc., 2003. http://www.
haptek.com/.
[H AREL 87] David H AREL. Statecharts : A visual formalism for complex systems . Science of Computer
Programming, 8(3) :231274, juin 1987.
[H EWITT 84] W. T. H EWITT. PHIGS Programmers Hierarchical Interactive Graphics System . Computer Graphics Forum, 3(4) :299300, dcembre 1984.
[H INCKLEY et al. 98] Ken H INCKLEY, Mary C ZERWINSKI, et Mike S INCLAIR. Interaction and modeling
techniques for desktop two-handed input . Dans Proceedings of the 11th Annual Symposium on User
Interface Software and Technologie (UIST-98), pages 4958, New York, novembre 14 1998. ACM Press.
[H INCKLEY et al. 03] Ken H INCKLEY, R.J.K. JACOB, et C. WARE. Computer Science and Engineering
Handbook Second Edition (in press), Chapitre Input/Output Devices and Interaction Techniques. CRC Press,
2e dition, 2003.
240
BIBLIOGRAPHIE
[H INCKLEY et al. 94 A ] Ken H INCKLEY, R. PAUSCH, J. C. G OBLE, et N. F. K ASSELL. Passive real-world
interface props for neurosurgical visualization . Proceedings of CHI 94, pages 452458, 1994.
[H INCKLEY et al. 94 B ] Ken H INCKLEY, Randy PAUSCH, John C. G OBLE, et Neal F. K ASSELL. A survey
of design issues in spatial input . Dans ACM UIST94 Symp. on User Interface Software & Technology,
pages 213222. 1994.
[H ONEYWELL 99] Steve H ONEYWELL. Quake III Arena : Primas Ofcial Strategy Guide. Prima Lifestyles,
dec 1999. ISBN 0761525882.
[H ONG & L ANDAY 00] Jason I. H ONG et James A. L ANDAY. SATIN : a toolkit for informal ink-based
applications . Dans Proceedings of the 13th Annual Symposium on User Interface Software and Technology
(UIST-00), pages 6372, N.Y., novembre 58 2000. ACM Press.
[H OURCADE & B EDERSON 99] Juan Pablo H OURCADE et Benjamin B. B EDERSON. Architecture and implementation of a java package for multiple input devices (MID) . Rapport interne CS-TR-4018, University
of Maryland, College Park, mai 1999.
[H OURIZI & J OHNSON 01] R. H OURIZI et P. J OHNSON. Beyond mode error : Supporting strategic knowledge structures to enhance cockpit safety . Dans A. B LANDFORD, J. VANDERDONKT, et P. G RAY, diteurs,
People and Computers XV Interaction without Frontiers : Joint proceedings of IHM 2001 and HCI 2001,
2001.
[H UDSON 90] Scott E. H UDSON. Adaptive semantic snapping - a technique for semantic feedback at the
lexical level . Dans Proceedings of the SIGCHI conference on Human factors in computing systems, pages
6570. ACM Press, 1990.
[H UDSON et al. 97] Scott E. H UDSON, Roy RODENSTEIN, et Ian S MITH. Debugging lenses : A new class of
transparent tools for user interface debugging . Dans Proceedings of the ACM Symposium on User Interface
Software and Technology, Making Things Visible, pages 179187, 1997.
[H UDSON & S MITH 96 A ] Scott E. H UDSON et Ian S MITH. SubArctic UI Toolkit users manual st. Paul
release (beta version 0.8e) . septembre 1996. http://www.cc.gatech.edu/gvu/ui/sub_arctic/. GA
30332-0280.
[H UDSON & S MITH 96 B ] Scott E. H UDSON et Ian S MITH. Ultra-lightweight constraints . Dans Proceedings of the 9th annual ACM symposium on User interface software and technology, pages 147155. ACM
Press, 1996.
[H UDSON & S TASKO 93] Scott E. H UDSON et John T. S TASKO. Animation support in a user interface
toolkit : exible, robust, and reusable abstractions . Dans Proceedings of the 6th annual ACM symposium
on User interface software and technology, pages 5767. ACM Press, 1993.
[H UOT 03] Stphane H UOT. Page Web du projet MagLite . cole des Mines de Nantes, quipe CMI, 2003.
http://www.emn.fr/x-info/gina/maglite.
[H UOT et al. 03] Stphane H UOT, Cdric D UMAS, et Grard H GRON. Toward creative 3D modeling : an
architects sketches study . Dans Proceedings of the 9th IFIP TC13 International Conference on HumanComputer Interaction (INTERACT03), septembre 2003.
[H UTCHINS et al. 86] E. L. H UTCHINS, J. D. H OLLAN, et D. A. N ORMAN. Direct manipulation interfaces .
Dans N ORMAN , D.A. et S. W. D RAPER, diteurs, User Centered System Design : New Perspectives on
Human-Computer Interaction, pages 87124. Lawrence Erlbaum Associates, Hillsdale, NJ and London,
1986.
241
BIBLIOGRAPHIE
[I NGALLS et al. 88] Dan I NGALLS, Scott WALLACE, Yu-Ying C HOW, Frank L UDOLPH, et Ken D OYLE. Fabrik : A visual programming environment . Dans Norman M EYROWITZ, diteur, OOPSLA88 : ObjectOriented Programming Systems, Languages and Applications : Conference Proceedings, pages 176190,
1988.
[I SHII & U LLMER 97] Hiroshi I SHII et Brygg U LLMER. Tangible bits : Towards seamless interfaces between
people, bits and atoms . Dans Proceedings of ACM CHI 97 Conference on Human Factors in Computing
Systems, volume 1 de PAPERS : Beyond the Desktop, pages 234241, 1997.
[ISO 85] The Graphical Kernel System (GKS) : ISO 7942. International Organization for Standardization,
Geneva, Switzerland, 1985.
[ISO 87] LOTOS - language of temporal ordering specication . Rapport Technique ISO DP 8807, 1987.
[JACOB 96] Robert J. K. JACOB. Human-computer interaction : Input devices . ACM Computing Surveys,
28(1) :177179, mars 1996.
[JACOB et al. 99] Robert J. K. JACOB, Leonidas D ELIGIANNIDIS, et Stephen M ORRISON. A software model and specication language for non-WIMP user interfaces . ACM Transactions on Computer-Human
Interaction, 6(1) :146, mars 1999.
[JACOB et al. 94] Robert J. K. JACOB, Linda E. S IBERT, Daniel C. M C FARLANE, et M. Preston M ULLEN
J R .. Integrality and separability of input devices . ACM Transactions on Computer-Human Interaction,
1(1) :326, mars 1994.
[J ENSEN 95] Kurt J ENSEN. Coloured Petri Nets : Basic Concepts, Analysis Methods and Practical Use, vol.
2. EATCS Monographs on Theoretical Computer Science. Springer Verlag, 1995. ISBN 3-540-58276-2.
[J USB 03] jusb : Java USB . Projet open source, 2003. http://jusb.sourceforge.net/.
[K ANSY 85] K. K ANSY. 3D extension to GKS . Computers and Graphics, 9(3) :267273, 1985.
[K NEP et al. 95] Brian K NEP, Craig H AYES, Rick S AYRE, et Tom W ILLIAMS. Dinosaur input device .
Dans Irvin R. K ATZ, Robert M ACK, Linn M ARKS, Mary Beth ROSSON, et Jakob N IELSEN, diteurs, Proceedings of the Conference on Human Factors in Computing Systems (CHI95), pages 304309, New York,
NY, USA, mai 1995. ACM Press.
[K RASNER & P OPE 88] G. E. K RASNER et S. T. P OPE. A cookbook for using the model-view-controller user
interface paradigm in Smalltalk-80 . Journal of Object Oriented Programming, 1(3) :2649, aot/septembre
1988.
[K URTENBACH & B UXTON 94] Gordon K URTENBACH et William B UXTON. User learning and performance with marking menus . Dans Beth A DELSON, Susan D UMAIS, et Judith O LSON, diteurs, Proceedings of the Conference on Human Factors in Computing Systems, pages 258264, New York, NY, USA,
avril 1994. ACM Press.
[K URTENBACH et al. 97] Gordon K URTENBACH, George F ITZMAURICE, Thomas BAUDEL, et Bill B UXTON.
The design of a GUI paradigm based on tablets, two-hands, and transparency . Dans Proceedings of ACM
CHI 97 Conference on Human Factors in Computing Systems, volume 1 de PAPERS : Handy User Interfaces,
pages 3542, 1997.
[L ACOMME et al. 03] Philippe L ACOMME, Christian P RINS, et Marc S EVAUX. Algorithmes de graphes. Eyrolles, 2e dition, octobre 2003. ISBN 2212113854.
[L ANDAY & M YERS 95] James A. L ANDAY et Brad A. M YERS. Interactive sketching for the early stages
of user interface design . Dans Irvin R. K ATZ, Robert M ACK, Linn M ARKS, Mary Beth ROSSON, et Jakob
242
BIBLIOGRAPHIE
N IELSEN, diteurs, Proceedings of the Conference on Human Factors in Computing Systems (CHI95),
pages 4350, New York, NY, USA, mai 1995. ACM Press.
[L INTON et al. 89] Mark A. L INTON, John M. V LISSIDES, et Paul R. C ALDER. Composing user interfaces
with InterViews . IEEE Computer, 22(2), Febuary 1989.
[L IPSCOMB & P IQUE 93] James S. L IPSCOMB et Michael E. P IQUE. Analog input device physical characteristics . ACM SIGCHI Bulletin, 25(3) :4045, 1993.
[M ACKAY 96] Wendy E. M ACKAY. Ralit augmente : le meilleur des deux mondes . La Recherche,
numro spcial Lordinateur au doigt et lil, 284, mars 1996.
[M ACKAY et al. 98] Wendy E. M ACKAY, Anne-Laure FAYARD, Laurent F ROBERT, et Lionel M EDINI.
Reinventing the familiar : Exploring an augmented reality design space for air trafc control . Dans
Proceedings of ACM CHI 98 Conference on Human Factors in Computing Systems, volume 1 de Computer
Augmented Environments, pages 558565, 1998.
[M AC K ENZIE & Z HANG 97] I. Scott M AC K ENZIE et Shawn Z HANG. The immediate usability of Grafti .
Dans Graphics Interface 97, pages 129137, mai 1997.
[M ALONEY et al. 89] John H. M ALONEY, Alan B ORNING, et Bjorn N. F REEMAN -B ENSON. Constraint
technology for user-interface construction in ThingLab II . Dans Norman M EYROWITZ, diteur, OOPSLA89 Conference Proceedings : Object-Oriented Programming : Systems, Languages, and Applications,
pages 381388. ACM Press, 1989.
[M ANKOFF et al. 00] Jennifer M ANKOFF, Scott E. H UDSON, et Gregory D. A BOWD. Providing integrated
toolkit-level support for ambiguity in recognition-based interfaces . Dans Thea T URNER, Gerd S ZWILLUS,
Mary C ZERWINSKI, et Patern FABIO, diteurs, Proceedings of the 2000 Conference on Human Factors in
Computing Systems (CHI-00), pages 368375, N. Y., avril 16 2000. ACM Press.
[M ANN 96] Steve M ANN. smart clothing : Wearable multimedia computing and personal imaging to
restore the technological balance between people and their environments . Dans Proceedings of the Fourth
ACM Multimedia Conference (MULTIMEDIA96), pages 163174, New York, NY, USA, novembre 1996.
ACM Press.
[M ARSAN et al. 95] M. Ajmone M ARSAN, G. BALBO, G. C ONTE, S. D ONATELLI, et G. F RANCESCHINIS.
Modelling with Generalized Stochastic Petri Nets. Wiley Series in Parallel Computing. John Wiley and Sons,
1995. ISBN 471 93059 8.
[M AXIMILIEN et al. 01] Michael M AXIMILIEN, Boyd D IMMOCK, Dan S TREETMAN, Brian W EISCHEDEL,
Paul K LISSNER, Sunil D USANKAR, Ron K LEINMAN, Harry M C K INLAY, W INCOR -N IXDORF, Peter
D UELLINGS, Roger L INDSJ, Steve T URNER, Paul G AY, et Boris DAINSON. Java API for USB (javax.usb), JSR-80 specication v0.9.0 . avril 2001. http://javax-usb.org/.
[M C C ORMACK & A SENTE 88] Joel M C C ORMACK et Paul A SENTE. Using the X toolkit or how to write
a widget . Dans Proceedings of the USENIX Summer Conference, pages 114, Berkeley, CA, USA, juin
1988. USENIX Association.
[M C DANIEL & M YERS 98] Richard G. M C DANIEL et Brad A. M YERS. Building applications using only
demonstration . Dans Proceedings of the 3rd international conference on Intelligent user interfaces, pages
109116, 1998.
[M EALY 55] George H. M EALY. A method for synthesizing sequential circuits . Bell System Technical
Journal, 34(5) :10451079, 1955.
243
BIBLIOGRAPHIE
[M ERTZ et al. 00] C. M ERTZ, J.L. V INOT, et D. E TIENNE. Entre interaction directe et reconnaissance
dcriture : les gestes cologiques . Dans ERGO-IHM 2000, pages 170177, Biarritz, France, octobre
2000. CRT ILS & ESTIA.
[M ICRODS 02] Syberia . Microds, 2002. http://www.microids.com,http://www.syberia.info/.
[M ICROSOFT 03 A ] DirectInput C/C++ reference .
microsoft.com/.
http://msdn.
[M ICROSOFT 03 B ] Transcriber .
Microsoft Corporation, 2003.
http://www.microsoft.com/
windowsmobile/resources/downloads/pocketpc/transcriber.mspx.
[M ILGRAM & K ISHINO 94] P. M ILGRAM et F. K ISHINO. A taxonomy of mixed reality visual displays .
IEICE Transactions on Information Systems, E77-D(12), dec 1994.
[M ODUGNO 93] Francesmary M ODUGNO. PURSUIT : Programming in the user interface . Dans Proceedings of ACM INTERCHI93 Conference on Human Factors in Computing Systems Adjunct Proceedings,
Doctoral Consortium, page 217, 1993.
[M OORE 56] E. F. M OORE. Gedanken-experiments on sequential machines . Rapport Technique, 1956.
[M OZILLA 03] The optimoz project . The Mozilla Organization, 2003. http://optimoz.mozdev.org/.
[M URAKAMI et al. 95] Tamostsu M URAKAMI, Kazuhiko H AYASHI, Kazuhiro O IKAWA, et Naomasa NAKA JIMA . DO-IT : Deformable objects as input tools . Dans Proceedings of ACM CHI95 Conference on
Human Factors in Computing Systems, volume 2 de Interactive Experience, pages 8788, 1995.
[M YERS 90] Brad A. M YERS. A new model for handling input . ACM Transactions on Information
Systems, 8(3) :289320, juillet 1990.
[M YERS 92] Brad A. M YERS. Demonstrational interfaces : A step beyond direct manipulation . Computer,
25(8) :6173, aot 1992.
[M YERS 93] Brad A. M YERS. Why are human-computer interfaces difcult to design and Implement ? .
Rapport Technique CMU-CS-93-183, Carnegie Mellon University, School of Computer Science, juillet
1993. ftp://reports.adm.cs.cmu.edu/usr/anon/1993/CMU-CS-93-183.ps.
[M YERS 96] Brad A. M YERS. The Amulet v2.0 reference manual . Carnegie Mellon University Computer
Science Department, fvrier 1996. http://www.cs.cmu.edu/~amulet.
[M YERS 98 A ] Brad A. M YERS. A brief history of human-computer interaction technology . interactions,
5(2) :4454, 1998.
[M YERS 98 B ] Brad A. M YERS. Scripting graphical applications by demonstration . Dans Proceedings
of ACM CHI 98 Conference on Human Factors in Computing Systems, volume 1 de Software Behind the
Scenes, pages 534541, 1998.
[M YERS & KOSBIE 96] Brad A. M YERS et David S. KOSBIE. Reusable hierarchical command objects .
Dans Michael J. TAUBER, Victoria B ELLOTTI, Robin J EFFRIES, Jock D. M ACKINLAY, et Jakob N IELSEN,
diteurs, Proceedings of the Conference on Human Factors in Computing Systems : Commun Ground, pages
260267, New York, avril 1318 1996. ACM Press.
[M YERS et al. 93] Brad A. M YERS, Richard G. M C DANIEL, et David S. KOSBIE. Marquise : Creating
complete user interfaces by demonstration . Dans Proceedings of ACM INTERCHI93 Conference on
Human Factors in Computing Systems, Demonstration Based Systems, pages 293300, 1993.
244
BIBLIOGRAPHIE
[M YERS et al. 97] Brad A. M YERS, Richard G. M C DANIEL, Robert C. M ILLER, Alan S. F ERRENCY, Andrew
FAULRING, Bruce D. K YLE, Andrew M ICKISH, Alex K LIMOVITSKI, et Patrick D OANE. The Amulet
environment : New models for effective user interface software development . IEEE Transactions on
Software Engineering, 23(6) :347365, juin 1997.
[M YNATT et al. 99] Elizabeth D. M YNATT, W. Keith E DWARDS, Anthony L A M ARCA, et Takeo I GARASHI.
Flatland : New dimensions in ofce whiteboards . Dans Marian G. W ILLIAMS, Mark W. A LTOM, Kate
E HRLICH, et William N EWMAN, diteurs, Proceedings of the Conference on Human Factors in Computing
Systems (CHI-99), pages 346353, New York, mai 1520 1999. ACM Press.
[N G et al. 98] Elizabeth N G, Tim B ELL, et Andy C OCKBURN. Improvements to a pen-based musical input
system . Dans OzCHI98 : The Australian Conference on Computer-Human Interaction, pages 239252.
IEEE Press, nov 1998.
[N IGAY & C OUTAZ 93] Laurence N IGAY et Joelle C OUTAZ. A design space for multimodal systems :
Concurrent processing and data fusion . Dans Proceedings of ACM INTERCHI93 Conference on Human
Factors in Computing Systems, Voices and Faces, pages 172178, 1993.
[N IGAY & C OUTAZ 95] Laurence N IGAY et Joelle C OUTAZ. A generic platform for addressing the multimodal challenge . Dans Proceedings of ACM CHI95 Conference on Human Factors in Computing Systems,
volume 1 de Papers : Multimodal Interfaces, pages 98105, 1995.
[N ORMAN 81] D. A. N ORMAN. Categorization of action slips . Psychological Review, 1(88) :115, 1981.
[N ORMAN 02] Donald A. N ORMAN.
ISBN 0465067107.
[N ORMAN & D RAPER 86] D. A. N ORMAN et St.W. D RAPER. User Centered System design. Lawrence Earlbaum Assoc., Hillsdale, 1986. ISBN 0-89859-781.
[O PERA 03] Mouse gestures in opera . Opera Software ASA, 2003. http://www.opera.com/features/
mouse/.
[O RR & A BOWD 00] Robert J. O RR et Gregory D. A BOWD. The smart oor : a mechanism for natural user
identication and tracking . Dans CHI 00 extended abstracts on Human factors in computer systems, pages
275276. ACM Press, 2000.
[PALANQUE & BASTIDE 93] Philippe PALANQUE et Rmi BASTIDE. Interactive Cooperative Objects : an
Object-Oriented Formalism Based on Petri Nets for User Interface Design . Dans IEEE / System Man and
Cybernetics 93, pages 274285. Elsevier Science Publisher, octobre 1993.
[PALANQUE & BASTIDE 97] Philippe PALANQUE et Rmi BASTIDE. Synergistic modelling of tasks, users
and systems using formal specication techniques . Interacting with Computers, 9(2) :129153, 1997.
[PALAY et al. 88] Andrew J. PALAY, Wilfred J. H ANSEN, Mark S HERMAN, Maria G. WADLOW, Thomas P.
N EUENDORFFER, Zalman S TERN, Miles BADER, et Thom P ETERS. The Andrew Toolkit an overview . Dans USENIX A SSOCIATION, diteur, EUUG Conference Proceedings, Spring, 1988. London,
England, pages 311 ? ?, Buntingford, Herts, UK, Spring 1988. EUUG.
[PARADIGM 03] Vega prime . Multigen-Paradigm, Inc., 2003. http://www.paradigmsim.com.
[PARAGON 03] Penreader . Paragon Software, 2003. http://www.penreader.com.
[PARTRIDGE et al. 02] Kurt PARTRIDGE, Saurav C HATTERJEE, Vibha S AZAWAL, Gaetano B ORRIELLO, et
Roy WANT. TiltType : accelerometer-supported text entry for very small devices . Dans Proceedings
of the 15th annual ACM symposium on User interface software and technology (UIST-02), pages 201204,
New York, octobre 2730 2002. ACM Press.
245
BIBLIOGRAPHIE
[PATERN & FACONTI 92] F. PATERN et G. FACONTI. On the use of LOTOS to describe graphical interaction . Dans Proceedings of the HCI92 Conference on People and Computers VII, Graphics Design and
Techniques, pages 155173, 1992.
[PATRICK & S ACHS 94] Mark PATRICK et George S ACHS. X11 input extension library specication . X
Consortium Standard, X11R6, avril 1994.
[P EARSON & W EISER 86] Glenn P EARSON et Mark W EISER. Of moles and men : The design of foot
controls for workstations . Dans Proceedings of ACM CHI86 Conference on Human Factors in Computing
Systems, Haptic Techniques, pages 333339, 1986.
[P ERLIN 98] Ken P ERLIN. Quikwriting : Continuous stylus-based text entry . Dans Proceedings of the
ACM Symposium on User Interface Software and Technology, Fast Pen Input, pages 215216, 1998.
[P ETRI 62] C. A. P ETRI. Fundamentals of a theory of asynchronous information ow . Proc. IFIP
Congress, N-H, 1962.
[P FAFF 85] G. E. P FAFF, diteur. User Interface Management Systems : Proceedings of the Seeheim Workshop,
Berlin, 1985. Springer-Verlag. proceedings of the Workshop on User Interface Management Systems, held
in Seeheim, FRG, November 1-3, 1983.
[P IEPER & KOBSA 99] Michael P IEPER et Alfred KOBSA. Talking to the ceiling : an interface for bed-ridden
manually impaired users . Dans CHI 99 extended abstracts on Human factors in computer systems, pages
910. ACM Press, 1999.
[P IPER et al. 02] Ben P IPER, Carlo R ATTI, et Hiroshi I SHII. Illuminating clay : a 3-D tangible interface
for landscape analysis . Dans Loren T ERVEEN, Dennis W IXON, Elizabeth C OMSTOCK, et Angela S ASSE,
diteurs, Proceedings of the CHI 2002 Conference on Human Factors in Computing Systems (CHI-02), pages
355362, New York, avril 2025 2002. ACM Press.
[P OLLER & G ARTER 84] M.F. P OLLER et S. K. G ARTER. The effects of modes on text editing by experienced editor users . Human Factors, 26(4) :449462, 1984.
[P OUPYREV et al. 96] Ivan P OUPYREV, Mark B ILLINGHURST, Suzanne W EGHORST, et Tadao I CHIKAWA.
The go-go interaction technique : Non-linear mapping for direct manipulation in VR . Dans Proceedings
of the ACM Symposium on User Interface Software and Technology, Papers : Virtual Reality (TechNote),
pages 7980, 1996.
[P OYNER 96] Rick P OYNER. Wintab interface specication 1.1 : 16- and 32-bit API reference .
LCS/Telegraphics, mai 1996. http://www.pointing.com.
[P REECE et al. 94] Jenny P REECE, Yvonne ROGERS, Helen S HARP, David B ENYON, Simon H OLLAND, et
Tom C AREY. Human-Computer Interaction. Addison-Wesley Publishing, Reading, Mass., 1994. ISBN 0201-62769-8. OCLC 35598754.
[R AISAMO & R IH 96] Roope R AISAMO et Kari-Jouko R IH. A new direct manipulation technique for
aligning objects in drawing programs . Dans Proceedings of the Ninth Annual Symposium on User Interface
Software and Technogy, pages 157164, New York, novembre 68 1996. ACM Press.
[R EITMAYR & S CHMALSTIEG 01] Gerhard R EITMAYR et Dieter S CHMALSTIEG. An open software architecture for virtual reality interaction . Dans Chris S HAW et Wenping WANG, diteurs, Proceedings of the
ACM Symposium on Virtual Reality Software and Technology (VRST-01), pages 4754, New York, novembre
1517 2001. ACM Press.
[R EKIMOTO 96] Jun R EKIMOTO. Tilting operations for small screen interfaces . Dans Proceedings of the
Ninth Annual Symposium on User Interface Software and Technogy, pages 167168, New York, novembre 6
8 1996. ACM Press.
246
BIBLIOGRAPHIE
[R EKIMOTO 02] Jun R EKIMOTO. SmartSkin : an infrastructure for freehand manipulation on interactive
surfaces . Dans Loren T ERVEEN, Dennis W IXON, Elizabeth C OMSTOCK, et Angela S ASSE, diteurs,
Proceedings of the CHI 2002 Conference on Human Factors in Computing Systems (CHI-02), pages 113
120, New York, avril 2025 2002. ACM Press.
[ROOSENDAAL & WARTMANN 03] Ton ROOSENDAAL et Carsten WARTMANN. The Ofcial Blender Gamekit : Interactive 3-D for Artists. No Starch Press, mars 2003. ISBN 1593270046.
[ROUSSEL 02] Nicolas ROUSSEL. Videoworkspace : une bote outils pour lexploration de nouvelles
techniques de gestion de fentres . Dans Proceedings of the 14th French-speaking conference on Humancomputer interaction (Confrence Francophone sur lInteraction Homme-Machine), pages 271274. ACM
Press, 2002.
[S ALBER et al. 99] Daniel S ALBER, Anind K. D EY, et Gregory D. A BOWD. The context toolkit : Aiding
the development of context-enabled applications . Dans Marian G. W ILLIAMS, Mark W. A LTOM, Kate
E HRLICH, et William N EWMAN, diteurs, Proceedings of the Conference on Human Factors in Computing
Systems (CHI-99), pages 434441, New York, mai 1520 1999. ACM Press.
[S ALEM & Z HAI 97] Chris S ALEM et Shumin Z HAI. An isometric tongue pointing device . Dans Proceedings of ACM CHI 97 Conference on Human Factors in Computing Systems, volume 1 de TECHNICAL
NOTES : Input & Output in the Future, pages 538539, 1997.
[S ANTORI 90] Michael S ANTORI. An instrument that isnt really . IEEE Spectrum, 27(8) :3639, aot
1990.
[S CHMUCKER 86] K. S CHMUCKER. MacApp : an application framework . Byte Magazine, 11(8) :189193,
aot 1986.
[S CHWERDTFEGER 00] Richard S. S CHWERDTFEGER. IBM guidelines for writing accessible applications using 100% pure Java . IBM Accessibility Center, aot 2000. http://www-3.ibm.com/able/
guidelines/java/snsjavag.html.
[S CHYN et al. 03] Amlie S CHYN, David NAVARRE, et Philippe PALANQUE. Description formelle dune
technique dinteraction multimodale dans une application de ralit virtuelle immersive . Dans Actes de la
15me confrence francophone dInteraction Homme-Machine (IHM2003), novembre 2528 2003.
[S ENSE 8 03] WorldUp and WorldToolkit : Virtual reality support software . Sense8 Corp, 2003. http:
//www.sense8.com.
[S HNEIDERMAN 83] Ben S HNEIDERMAN. Direct manipulation : A step beyond programming languages .
IEEE Computer, 16(8) :5769, aot 1983.
[S HNEIDERMAN 98] Ben S HNEIDERMAN. Designing the User Interface. Addison Wesley Longman, 3e
dition, 1998.
[S MITH 88] David N. S MITH. Building interfaces interactively . Dans Proceedings of the ACM SIGGRAPH
Symposium on User Interface Software, pages 144151, 1988.
[S ONY 03] Eye toy . Sony Computer Entertainment, Inc., 2003. http://www.eyetoy.com.
[S TARNER & P ENTLAND 95] Thad S TARNER et Alex P ENTLAND. Visual recognition of american sign
language using hidden markov models . Dans International Workshop on Automatic Face and Gesture
Recognition, 1995.
[S TERIADIS & C ONSTANTINOU 03] Constantine E. S TERIADIS et Philip C ONSTANTINOU. Designing
human-computer interfaces for quadriplegic people . ACM Transactions on Computer-Human Interaction,
10(2) :87118, 2003.
247
BIBLIOGRAPHIE
[S TORK & H ENNECKE 96] D.G. S TORK et M.E. H ENNECKE. Speechreading : An overview of image processing, feature extraction, sensory integration and pattern recognition techniques . Dans Proceedings of
the 2nd International Conference on Automatic Face and Gesture Recognition (FG 96), pages xvixxvi.
IEEE, oct 1996.
[S TRAUSS & C AREY 92] Paul S. S TRAUSS et Rikk C AREY. An object-oriented 3D graphics toolkit . volume 26, pages 341349, juillet 1992.
[S UN 98] Java speech API specication v1.0 . Sun Microsystems, Inc., 1998. http://java.sun.com/
products/java-media/speech/.
[S UN 02] The java accessibility API . Sun Microsystems, Inc., 2002. http://www.sun.com/access/.
[TACTEX 03] MWK-02 : True multi-touch pressure sensing pad . Tactex Controls, Inc., 2003. Brevet CA.
2273113. http://www.tactex.com/.
[T YSON R. et al. 90] Henry T YSON R., Hudson S COTT E., et Newell G ARY L.. Integrating gesture and
snapping into a user interface toolkit . Dans Proceedings of the 3rd annual ACM SIGGRAPH symposium
on User interface software and technology, pages 112122. ACM Press, 1990.
[UIMS 92] A metamodel for the runtime architecture of an interactive system . ACM SIGCHI Bulletin,
24(1) :3237, 1992.
[USB/HID 01] Universal Serial Bus (USB) device class denition for Human Interface Devices (HID).
Firmware specication version 1.11 . Rapport Technique, juin 2001. http://www.usb.org/developers/
hidpage/.
[VAN DAM 88] Andries VAN DAM.
22(3) :125220, juillet 1988.
Computer Graphics,
[VAN K AMPEN 00] Kurtis J. VAN K AMPEN. The interface between humans and interactive kiosks . Input
Technologies, LLC, 2000. http://www.visi.com/~keefner/pdfs/focus1.pdf.
[V IRTOOLS 01] Virtools dev . Virtools SA, 2001. http://www.virtools.com/.
[WACOM 03] Wacom pentools 3.1 .
pentools/.
http://www.wacom.com/
[W EIMER & G ANAPATHY 89] D. W EIMER et S. K. G ANAPATHY. A synthetic visual environment with hand
gesturing and voice input . Dans Proceedings of the SIGCHI conference on Human factors in computing
systems, pages 235240. ACM Press, 1989.
[W EISER 91] Mark W EISER. The computer for the 21st century . Scientic American, pages 95104,
septembre 1991.
[W ERTH & M YERS 93] Andrew J. W ERTH et Brad A. M YERS. Tourmaline : Macrostyles by example .
Dans Stacey A SHLUND, Ken M ULLET, Austin H ENDERSON, Erik H OLLNAGEL, et Ted W HITE, diteurs,
Proceedings of the Conference on Human Factors in computing systems, pages 532532, New York, avril 24
29 1993. ACM Press.
[W ORDS P LUS 03] EZ Keys user manual . Words+, Inc., 2003. http://www.words-plus.com.
[YANG et al. 98] Jie YANG, Rainer S TIEFELHAGEN, Uwe M EIER, et Alex WAIBEL. Visual tracking for
multimodal human computer interaction . Dans Proceedings of the Conference on Human Factors in
Computing Systems (CHI-98) : Making the Impossible Possible, pages 140147, New York, avril 1823
1998. ACM Press.
248
BIBLIOGRAPHIE
[Z ANDEN & M YERS 95] Brad T. Vander Z ANDEN et Brad A. M YERS. Demonstrational and constraintbased techniques for pictorially specifying application objects and boundaries . ACM Transactions on
Computer-Human Interaction, 2(4) :308365, dcembre 1995.
[Z ELEZNIK et al. 91] Robert C. Z ELEZNIK, D. Brookshire C ONNER, Matthias M. W LOKA, Daniel G.
A LIAGA, Nathan T. H UANG, Philip M. H UBBARD, Brian K NEP, Henry K AUFMAN, John F. H UGHES, et
Andries van DAM. An object-oriented framework for the integration of interactive animation techniques .
Computer Graphics, 25(4) :105112, juillet 1991.
[Z HAI 98] Shumin Z HAI. User performance in relation to 3D input device design . Computer Graphics,
32(4) :5054, novembre 1998.
249
Rsum
Aujourdhui, les applications comme les outils de dveloppement demeurent cbls pour une utilisation exclusive et strotype du clavier et de la souris, et ignorent tout autre paradigme dinteraction.
Bien quavrs, les problmes lis ladaptabilit en entre ont encore fait lobjet de trs peu dtudes.
Dans cette thse, nous proposons un modle bas sur des congurations dentre, o des dispositifs
dentre sont librement connects aux applications travers des adaptateurs, et o la traditionnelle
le dvnements est remplace par un paradigme ot de donnes ractif. Ce modle a donn lieu
la bote outils en entres ICON (Input Congurator), qui permet de construire des applications
interactives entirement congurables en entre, capables dexploiter des dispositifs et des techniques
dinteraction non-standard. Son diteur visuel permet au dveloppeur de crer rapidement des congurations pour des entres appauvries ou enrichies, que les utilisateurs avancs peuvent ensuite adapter
leurs besoins.
Mots-cls : Interaction Homme-Machine, Priphriques dentre, Techniques dinteraction, Adaptabilit, Accessibilit, Interfaces Post-WIMP.
Abstract
Todays applications and tools exclusively rely on mice and keyboards and use them a stereotyped
way, and are still ignoring any other interaction paradigm. Though importance of input adaptability has
been widely recognized, its issues have been very little studied. We propose a new input model based
on input congurations. In this model, input devices are freely connected to applications through
adapters, and traditional event mechanisms have been replaced by a reactive data-ow paradigm.
Using this model, we developed the ICON (Input Congurator) input toolkit, which allows to build
interactive applications that are fully congurable and that can make use of alternative input device and
techniques. With its visual editor, developers can rapidly create by direct manipulation congurations
for impoverished or enriched input. Power users can then customize those congurations to suit their
specic needs.
Keywords : Human-Computer Interaction, Input devices, Interaction techniques, Adaptability,
Accessibility, Post-WIMP interfaces.