• Aucun résultat trouvé

Des taxonomies préexistantes pour la plasticité

Avant-propos

2. Des taxonomies préexistantes pour la plasticité

Pour construire mon espace problème, je prends comme point de départ les travaux de [Thevenin01] qui fondent la problématique de la plasticité des systèmes interactifs. Si mon sujet de thèse concerne les phases d’exécution des systèmes, ceux de [Thevenin01] sont résolument centrés sur les phases de conception. Dans ses travaux, il s’agissait de proposer un cadre conceptuel et des outils pour le développement de systèmes interactifs multicibles. [Thevenin01] construit un espace problème en deux parties: la première offre un point de vue système sur les IHM multicibles, et la seconde structure l’espace des outils impliqués dans la production d’IHM multicibles.

2.1 Une taxonomie préexistante pour les interfaces utilisateur multicibles

La première de ces deux parties concerne directement mes travaux de thèse : elle permet de poser les bases de ma réflexion. [Thevenin01] construit cette première partie consacrée au point de vue système en adoptant comme référence structurelle le modèle Arch [uims92] et en s’appuyant sur les axes centrés « système » d’un éventail de taxonomies préexistantes. Ainsi, il articule sa taxonomie autour de deux axes : les constituants logiciels adaptés et les instants d’adaptation. Dans son approche, les constituants

logiciels correspondent aux différents niveaux du modèle Arch. [Thevenin01] motive ce choix par le fait que le modèle Arch est une référence dans la communauté de l’ingénierie de l’interaction homme-machine. Ainsi, il constitue une base commune d’analyse. Son association aux constituants logiciels adaptés permet de jeter un pont entre l’adaptation et l’architecture logicielle.

Selon cet axe, l’adaptation de l’IHM peut avoir lieu à tous les niveaux du modèle Arch. Une adaptation de la présentation physique (PP) conserve la nature des interacteurs physiques, mais leur rendu peut-être différent d’une plate-forme élémentaire à l’autre. L’adaptation de la présentation logique (PL) change la nature des interacteurs mais pas leurs capacités représentationnelles et fonctionnelles. Ainsi, ce type d’adaptation peut ajouter ou supprimer des tâches articulatoires, mais ne modifie pas le contrôleur de dialogue. L’adaptation au niveau contrôleur de dialogue (CD) change l’ordonnancement des tâches mais pas leur nature. En revanche, l’adaptation au niveau de l’adaptateur de noyau fonctionnel (ANF), conséquence du changement de nature des concepts et des fonctions exportées par le noyau fonctionnel, change la nature des tâches et des concepts qu’elles manipulent. Une fois les différents constituants logiciels adaptables définis, [Thevenin01] décrit les moments clés, d’un point de vue système, où l’adaptation peut avoir lieu.

Trois moments clés sont identifiés : le développement, l’exécution et l’installation. L’adaptation au développement est réalisée par les concepteurs et développeurs du système interactif. Ce moment d’adaptation impose de prévoir dès la conception l’ensemble des cas d’adaptation. L’adaptation à l’exécution permet une adaptation de l’IHM à la volée, sans qu’il soit nécessaire d’arrêter l’exécution du système interactif. Enfin, l’adaptation à l’installation consiste à adapter ou à configurer le logiciel pour une cible donnée lors de l’installation. Ces trois instants d’adaptation conduisent [Thevenin01] à distinguer trois classes d’IHM exécutables : les IHM précalculées, les IHM calculées dynamiquement et les IHM hybrides.

Les IHM multicibles précalculées sont le résultat d’adaptation réalisées avant l’exécution du logiciel, soit lors de son développement, soit à son installation. Ces IHM sont en mesure de gérer un ensemble de plates-formes cibles identifiées par avance. Les IHM multicibles calculées dynamiquement s’adaptent à la volée, au cours de l’exécution, suite à la réception d’un événement ou d’une condition d’adaptation qui devient vraie. Enfin, les IHM multicibles hybrides sont une combinaison des deux approches précédentes : ces IHM peuvent être précalculées pour une classe donnée de plates-formes élémentaires, par exemple la classe des PC, et se transforment à la volée pour s’adapter à la plate-forme élémentaire effective, par exemple un PalmPilot ou un Pocket PC.

2.2 Des taxonomies pour systèmes adaptables D’autres taxonomies, sur lesquelles [Thevenin01] s’appuie dans sa thèse, sont plus précisément axées sur l’adaptation à l’exécution. Notamment [Totterdell90] définit six niveaux de sophistication croissante pour les mécanismes d’adaptation à l’exécution. Le niveau le plus bas constitue les systèmes câblés dont le comportement est fixé à la conception et ne permet aucune adaptation à l’exécution. Ensuite, les systèmes adaptables sont personnalisables par l’utilisateur dans la limite des degrés de liberté définis par le concepteur. Plus perfectionnés, les systèmes adaptatifs sont capables de reconnaître des situations prédéterminées par le concepteur et réagissent en fonction de recommandations spécifiées par le concepteur. Les systèmes autorégulateurs ont les mêmes propriétés que les systèmes adaptatifs mais sont en plus capables d’évaluer, a posteriori, l’effet de leur réaction. Le niveau de sophistication supérieur regroupe les systèmes automédiateurs, qui, en plus des capacités des systèmes autorégulateurs, peuvent évaluer a priori l’effet de leur réaction. Enfin, les systèmes automodificateurs peuplent le niveau le plus abouti de cette classification. Ces systèmes ont la capacité de reconnaître et d’apprendre de nouvelles situations, et de définir de nouvelles réactions.

Tableau II-A Taxonomie des systèmes adaptatifs de [Totterdell90] Niveau des mécanismes

d’adaptation Identification des déclencheurs Choix des réactions Evaluation des réaction Câblé Concepteur Concepteur Concepteur Adaptable Concepteur Utilisateur Concepteur Adaptatif Concepteur Système Concepteur Autorégulateur Concepteur Système Système Automédiateur Concepteur Système Système Automodificateur Système Système Système

Le Tableau II-A synthétise la taxonomie de [Totterdell90] et explicite les rôles des différents acteurs : le concepteur, l’utilisateur et le système. De manière complémentaire, [Dieterich93] découpe le processus d’adaptation en quatre étapes successives : initiative, suggestion, décision et exécution. Chez [Dieterich93], chaque étape peut être réalisée soit par l’utilisateur soit par le système de manière autonome. Des seize combinaisons possibles, [Dieterich93] extrait six combinaisons qu’il juge les plus intéressantes (voir Figure II-4). Ces six combinaisons déterminent six classes d’adaptation qui s’inscrivent dans un gradient allant de l’adaptation totalement mise en œuvre par l’utilisateur jusqu’à l’adaptation totalement automatique.

Figure II-4 Classification de [Dieterich93] : les six combinaisons les plus dignes d'intérêt.

Entre ces deux extrêmes, se situent les quatre autres classes d’adaptation. La première classe est celle de l’adaptation initiée par le système où le système est capable d’informer l’utilisateur de l’opportunité de réaliser une adaptation, l’utilisateur étant chargé de la mettre en œuvre. La deuxième classe concerne l’adaptation assistée par l’ordinateur où l’utilisateur est à l’initiative du processus et décide de l’adaptation parmi les propositions établies par le système. La troisième classe a trait à l’adaptation contrôlée par l’utilisateur où le système prend l’initiative de l’adaptation et propose à l’utilisateur un ensemble de solutions parmi lesquelles il devra faire son choix. Enfin, la quatrième classe est celle de l’auto-adaptation initiée par l’utilisateur où l’utilisateur voit son rôle réduit à celui de l’initiateur de l’adaptation, le reste du processus étant entièrement conduit par le système.

2.3 Des taxonomies pour l’informatique ubiquitaire Parmi les travaux plus récents, on trouve dans la littérature quelques taxonomies à propos des systèmes d’information pour l’informatique ubiquitaire. Notamment [Pousman06] recense et analyse un ensemble de travaux réalisés entre les années 2001 et 2004 sur les systèmes ambiants. Cependant, ces taxonomies s’intéressent plutôt à classer les systèmes interactifs pour l’informatique ubiquitaire en termes de types d’interaction homme-machine proposées à l’utilisateur, plutôt qu’en termes d’adaptation au contexte de l’interaction. En guise de synthèse des travaux qu’il recense, [Pousman06] propose une taxonomie en quatre axes : la capacité à transmettre de l’information à l’utilisateur, le niveau de notification, la fidélité dans la représentation et l’attractivité de l’IHM. Ces quatre axes sont tous gradués en cinq niveaux : bas, plutôt bas, moyen, plutôt haut et haut.

Dans l’approche de [Pousman06] le premier axe, qui représente la capacité à transmettre l’information, caractérise le nombre de sources d’information discrètes que le système peut présenter à l’utilisateur. Par exemple, certains systèmes sont capables de n’afficher que le prix d’un élément en stock, alors que d’autres peuvent afficher des valeurs pour plus de vingt informations différentes sur le même écran. Le deuxième axe, qui représente le niveau de notification, qualifie la manière avec laquelle un système interactif alerte un utilisateur. Certains peuvent être discrets et non-intrusifs, alors que d’autres peuvent aller jusqu’à interrompre l’utilisateur dans son activité courante. Le troisième axe, qui mesure la fidélité dans la représentation, décrit de quelle manière un système interactif transmet des informations à l’utilisateur. Par exemple, certains systèmes interactifs reproduisent à l’utilisateur l’information de manière très directe telle l’image vidéo d’une personne distante, alors que d’autres utilisent des représentations plus abstraites comme le niveau de disponibilité de cette personne. Le dernier axe traite de l’importance accordée par les concepteurs du système à l’attractivité de l’interface utilisateur. Pour certains systèmes, un objectif prioritaire peut être que la perception de l’IHM par l’utilisateur soit plaisante. D’autres attacheront moins d’importance à l’attractivité de l’IHM pour se concentrer sur la capacité à communiquer l’information.

En analysant près d’une vingtaine de systèmes interactifs au regard de ces quatre axes, [Pousman06] extrait quatre patrons de conception : l’afficheur symbolique sculptural (représente peu d’information, mais de manière symbolique par des objets physiques à vocation décorative), le consolidateur de sources d’information (intègre quelques sources d’information, souvent de manière esthétique et non intrusive), le moniteur d’informations (tels les écrans annexes d’une station de travail), et l’afficheur à forte densité informationnelle.

Les travaux et taxonomies analysés dans cette section offrent des éléments utiles à la structuration de l’espace problème de la plasticité à l’exécution. J’analyse maintenant comment ils peuvent s’appliquer à mon sujet d’étude.

2.4 Analyse des taxonomies précédentes

L’axe des constituants logiciels adaptés dans la taxonomie de [Thevenin01] reste valide pour la problématique qui m’occupe. Dans son deuxième axe, qui concerne les instants de l’adaptation, [Thevenin01] se situe au niveau de l’adaptation au développement et de l’adaptation à l’installation. En revanche, mes travaux de thèse se situent au niveau de l’adaptation à l’exécution. Si ces deux axes restent pertinents dans le cadre de la plasticité à l’exécution des systèmes interactifs, les classes d’IHM exécutables doivent être revues. En effet, ces trois classes d’IHM

exécutables (précalculées, dynamiques et hybrides) ne semblent valides que si l’on considère deux hypothèses : d’une part, que le seul moyen d’adaptation de l’interface utilisateur consiste en son remodelage et, d’autre part, que le code du système interactif soit constitué d’un seul composant.

En considérant ces deux hypothèses, si le contexte de l’interaction rencontré n’a pas été prévu lors de la conception, comme le constate [Thevenin01], seule une génération à la volée d’une nouvelle interface utilisateur peut permettre d’adapter le système interactif. Or, une de mes hypothèses de travail concerne la distributivité de l’interface utilisateur sur un ensemble de plates-formes élémentaires. Cette hypothèse supplémentaire a deux conséquences. D’une part, elle fait apparaître un autre moyen d’adaptation : la redistribution de l’IHM. D’autre part, si l’on écarte la solution d’un intergiciel unique masquant la distribution au code d’un système interactif, elle remet en question le développement monolithique du code. Dans ce cas de figure, pour être distribuable, un système interactif doit être constitué de différents éléments logiciels interconnectables.

Du fait de la grande hétérogénéité potentielle de la plate-forme, comme nous le verrons au chapitre suivant, du foisonnement d’intergiciels consacrés à la question, il semble raisonnable d’écarter la solution d’un intergiciel unique pour masquer la distribution ou l’hétérogénéité de la plate-forme. En conséquence, la propriété de plasticité d’un système interactif impose une structure modulaire du code, où les différentes entités logicielles mises en jeu devront avoir la capacité d’être connectées ou déconnectées à l’exécution. Ainsi, une adaptation calculée dynamiquement n’implique pas forcément une génération à la volée d’une IHM au sens où l’entend [Thevenin01], mais peut résulter d’une nouvelle configuration d’entités logicielles, chacune mettant en œuvre un morceau d’IHM précalculée couplé éventuellement à des morceaux d’IHM générées à la volée.

De la même manière, la taxonomie proposée par [Totterdell90] ne convient plus. Dans le cas de la plasticité à l’exécution, la part belle est faite à l’utilisateur, qui voit ses prérogatives bien étendues. Ainsi, si le système peut prendre des initiatives quant à son adaptation, l’utilisateur doit également être en mesure de pouvoir initier une adaptation et de contrôler le déroulement de toute adaptation, afin de façonner l’espace interactif selon ses préférences. Dans la taxonomie de [Totterdell90], l’utilisateur semble relégué au second plan. Seuls les systèmes adaptables de cette taxonomie accordent à l’utilisateur un pouvoir de décision sur l’adaptation. En revanche, aucun ne lui permet d’être à l’initiative. Ainsi, il n’est pas possible de classer dans cette taxonomie les systèmes interactifs plastiques.

Au contraire de [Totterdell90], la taxonomie de [Dieterich93] reste totalement valide pour la plasticité à l’exécution. Notamment, les classes d’adaptation « adaptation assistée par ordinateur », « auto-adaptation contrôlée par l’utilisateur » et « auto-adaptation initiée par l’utilisateur » sont particulièrement pertinentes. Si la classe « auto-adaptation » reste intéressante pour certaines situations où la charge de l’utilisateur est importante, elle ne représente qu’un ensemble marginal de cas d’adaptation dans ma problématique.

Enfin, la taxonomie de [Pousman06] ne prend pas du tout en compte la question de l’adaptation des systèmes interactifs. Inversement, chaque patron de conception repéré par [Pousman06] peut être utilisé pour concevoir et adapter un système interactif plastique. Dans la section suivante, je présente une taxonomie qui décrit l’espace problème de la plasticité à l’exécution. Cette taxonomie est reprise par Calvary qui l’intègre dans une vision plus globale centrée sur la notion de directive d’adaptation non pas sur la préoccupation logicielle [Calvary07].