Académique Documents
Professionnel Documents
Culture Documents
Chap2 GomsKestroke
Chap2 GomsKestroke
2.1. Introduction
Le Modle du Processeur Humain nous prsente une image simplifie mais synthtique de notre structure mentale. Cette image repose sur des principes parmi lesquels nous retenons, pour les besoins de ce chapitre, le principe de rationalit. Selon ce principe, un individu s'efforce de s'adapter aux conditions de la tche qu'il s'est fix. Ceci signifie que le comportement est conditionn par l'environnement. Cette hypothse selon laquelle la complexit du comportement n'est pas due la complexit interne de l'individu mais celle de l'environnement, nous vient de Herbert Simon. Dans [Simon 84, p. 63-64], Simon nous fait observer que le cheminement sinueux de la fourmi sur le sable ne provient pas de la complexit de l'insecte mais bien du terrain tourment de la plage. Dans le domaine de l'dition de texte, nous faisons la mme constatation. Par exemple, pour reproduire deux mots quelques lignes plus bas, un utilisateur d'Emacs va taper une suite complexe de caractres magiques (par exemple, "Ctrl-@ Esc-f Esc-f Ctrlw Ctrl-y Ctrl-n Ctrl-n Ctrl-n Ctrl-y") alors que dans l'environnement Macwrite, il agira directement sur le document. La complexit apparente du comportement n'est plausible que lorsque le sujet est observ un niveau d'abstraction lev. Ce chapitre prsente GOMS [Card 83], un modle de description du comportement, qui prend comme hypothse le caractre adaptatif du sujet
25
humain. GOMS permet de modliser le comportement diffrents niveaux d'abstraction, depuis la tche jusqu'aux actions physiques. La premire partie du chapitre en prsente les lments gnraux ; la seconde dcrit le modle Keystroke [Card 83], une application de GOMS la reprsentation des actions physiques.
rpertoire des instructions d'une machine abstraite est assez claire : un oprateur se caractrise par des oprandes d'entre et de sortie et par le temps ncessaire son excution. De mme que l'unit d'excution d'une instruction dpend du niveau d'abstraction de la machine abstraite, de mme l'action dfinie par l'oprateur dpend du niveau de raffinement auquel la modlisation s'effectue. Lorsque l'analyse est fine, l'oprateur reflte des mcanismes psychologiques lmentaires (sensoriels, moteurs ou cognitifs). Lorsqu'elle s'effectue un niveau d'abstraction lev, les oprateurs sont des units d'action spcifiques l'environnement (par exemple les commandes du systme). Une mthode dcrit le procd qui permet d'atteindre un but. Elle s'exprime sous la forme d'une suite conditionnelle de buts et d'oprateurs o les conditions font rfrence au contenu de la mmoire court terme et l'tat de l'environnement. Les mthodes reprsentent un savoir-faire : elles constituent la connaissance procdurale. Elles ne sont pas des plans d'action construits dynamiquement pendant l'accomplissement de la tche. Elles sont le rsultat de l'exprience acquise. Une rgle de Slection exprime le choix d'une mthode lorsqu'il y a conflit, c'est--dire lorsque plusieurs mthodes conduisent au mme but. Une rgle est de la forme : si <condition-sur-la-situation-actuelle-est-vraie> alors utiliser la mthode M; Par exemple, pour un diteur pleine-page qui permet la fois les commandes la emacs et les commandes la Macwrite, il existe plusieurs faons de dplacer le curseur : soit avec la souris, soit avec le clavier, soit par une combinaison des deux techniques. Le choix entre les deux mthodes peut s'exprimer en fonction de la distance entre la position actuelle du curseur et la localisation vise : si le but atteindre est placer le curseur au bas de la fentre et si la position actuelle du curseur est loin du bas de la fentre alors utiliser la mthode M1; si le but atteindre est placer le curseur au bas de la fentre et
27
si la position actuelle du curseur est prs du bas de la fentre alors utiliser la mthode M2; avec, pour M1 : prendre la souris; dplacer la souris au point dsir; slectionner; et, pour M2 : tant que le curseur n'est pas sur la ligne dsire taper ctrl-n; tant que le curseur n'est pas au point dsir taper esc-f; M1 est adapte aux grands dplacements tandis que M2 l'est pour les trajets locaux. Nous verrons dans la seconde partie de ce chapitre comment le modle Keystroke confirme la validit de ces rgles. Paralllement aux notions de but, oprateur, mthode et rgle de slection, la notion de niveau de modlisation permet de considrer GOMS comme un gnrateur d'une famille de modles. Un niveau de modlisation se dfinit essentiellement par les temps d'excution des oprateurs. Dans la mesure du possible, ces temps sont du mme ordre de grandeur. Un modle de niveau "x secondes" peut tre raffin en un modle de niveau "y secondes" (avec y<x) en convertissant les oprateurs du niveau x en buts et en produisant des sous-buts jusqu' ce que ces sous-buts soient atteints par des oprateurs de y secondes. A l'inverse, il est possible de constituer un modle de niveau x par agrgation d'lments du niveau y. De toute vidence, GOMS applique la conception des interfaces, les mthodes de la programmation structure par raffinement et par abstraction. Card, Moran et Newell dfinissent quatre niveaux d'analyse : les niveaux tche, fonctionnel, argument et physique. Le niveau tche structure l'espace de travail en une hirarchie de sous-tches dont la nature dpend uniquement du domaine. Les lments terminaux de la dcomposition sont des tches conceptuelles lmentaires. L'analyse fonctionnelle modlise les tches lmentaires en termes de fonctions du systme. A ce niveau de modlisation, l'accomplissement d'une tche est dcrit par une suite de fonctions. Le niveau argument prcise, pour chaque fonction, sa ralisation par une suite de commandes. A ce niveau de modlisation, l'accomplissement d'une tche est dcrit par une suite de commandes. Le niveau physique dcrit en termes d'actions physiques la spcification des
28
commandes. Keystroke prsent au paragraphe 2.3 est une illustration de cette dernire classe de modlisation.
29
Le caractre quantitatif d'un modle donne une coloration "scientifique" la description d'un phnomne. Malheureusement, dans le cas de GOMS, le phnomne observ est l'accomplissement de tches de routine ralises sans la moindre erreur. Or, l'erreur est invitable et le traitement des erreurs est un cauchemar omniprsent y compris dans le cas simple des systmes dterministes. Dans le cas du sujet humain, le traitement d'une erreur peut se voir comme la ralisation d'une tche particulire. S'il s'agit d'une tche de routine, alors il lui correspond un plan qui peut tre greff sur l'arbre de rsolution. La question qui se pose maintenant est le lieu d'insertion du sous-plan. A ce problme, GOMS n'apporte aucun lment de rponse. Tout comme le Modle du Processeur Humain, GOMS est trop rducteur. Il ne dcrit qu'un aspect limit des mcanismes cognitifs : celui de la rsolution de problmes dj rsolus! La planification hirarchique introduite en intelligence artificielle [Sacerdoti 74] et reprise par GOMS, convient des domaines o la dynamique et les faits imprvus n'interviennent pas. La ralit d'un individu et de son environnement est diffrente : le raisonnement linaire de l'approche descendante s'applique lorsque les lments d'un problme sont parfaitement matriss. A la rencontre d'une difficult, le recours opportuniste l'observation de l'tat de l'environnement dclenche des "dviations ascendantes" qui viennent se greffer au schma descendant. Un courant important en intelligence artificielle illustr par les tudes sur la planification opportuniste [HayesRoth 79] s'intresse ces combinaisons de mthodes de rsolution. Moins ambitieux mais plus proche des propos de l'interaction homme-machine est le modle de Kieras et Polson [Kieras 85, Polson 85] qui, par extension des principes de GOMS, permet de prdire, pour des cas simples, les temps d'apprentissage de nouvelles mthodes ainsi que l'effet du transfert de connaissance. Etant donn les conditions restrictives de GOMS, il n'est pas tonnant que Keystroke soit la seule classe des modles GOMS applicable de manire raliste [Card 83].
Keystroke [Card 83] concerne les aspects syntaxiques et lexicaux de l'interaction. Ses lments relvent des actions physiques que l'utilisateur doit effectuer pour spcifier une commande.
D ("Drawing", action de dessiner), et M ("Mental activity", activit mentale). R ("Response time", temps de rponse du systme) Le temps d'excution Texec d'une tche est tout simplement la somme des temps passs excuter chaque classe d'oprateurs. Texec = TK + TP + TH + TD + TM + TR L'oprateur K reprsente la frappe d'une touche du clavier ou l'acte d'appuyer sur un bouton de la souris (ou tout autre dispositif de dsignation). La dtermination du temps tK ncessaire la frappe d'une touche est dlicate. Ce temps dpend de la touche, du clavier et de l'aptitude de l'utilisateur. Une approximation acceptable consiste soumettre un test une population d'individus dont les aptitudes sont similaires puis de dterminer tK en appliquant la formule suivante : tK = ( dure totale des tests) / (nombre touches frappes sans erreur) L'oprateur P reprsente le dplacement du curseur de la souris vers une cible. Le temps tp ncessaire ce placement est dtermin partir de la variante de la loi de FittsCette variante nous indique que le temps T pour slectionner une cible avec la souris s'exprime avec l'quation : T = K0 + I log2(D/L+0.5) secondes o K0 est une constante qui tient compte du temps ncessaire pour ajuster la saisie initiale de la souris et pour appuyer sur un bouton de slection. Les mesures exprimentales dcrites par Card, Moran et Newell indiquent que pour la souris K0 = 1.03 s [Card 83, p. 242], I est une constante value : I = 0.1 s, D est la distance entre la position actuelle de la souris et celle de la cible, L est la taille (par exemple la largeur) de la cible. Dans ces conditions, tp s'obtient en soustrayant de T le temps tK ncessaire la pression du bouton soit :
32
tp = (K0- tK ) + I log2(D/L+0.5) En remplaant K0, tK (de l'ordre de 0.2 s, [Card 83] p.266) et I par leur valeur dans l'quation, on obtient pour tp : borne infrieure : tp = 0.8 s, borne suprieure : tp =1.5 s (avec D/L=128), et moyenne : tp = 1.1 s, valeur cohrente avec plusieurs rsultats exprimentaux (voir Card 83, p. 237, o la figure 7.4 montre, pour la souris, une valeur moyenne de placement de 1.29 s laquelle il faut retrancher 0.2 s utilis pour appuyer sur le bouton de la souris). L'oprateur H reprsente les aspects pragmatiques de l'interaction hommemachine, en particulier le changement d'utilisation d'un dispositif physique. Les mesures effectues par Card, Moran et Newell indiquent que le temps tH ncessaire la main pour changer de dispositif et se placer correctement sur le nouveau dispositif est : tH = 0.4 s. L'oprateur D reprsente l'utilisation de la souris pour construire un dessin sur l'cran. Le temps tD ncessaire la construction d'un dessin dpend des fonctions disponibles. Si le trac de droite est la seule possibilit, alors tD est une fonction linaire du nombre n de segments tracs et de la somme l de leur longueur. En appliquant la technique des moindres carrs un ensemble de donnes exprimentales recueillies sur des tests de trac de segments de droite, Card, Moran et Newell ont obtenu : tD= 0.9 n + 0.16 l D reprsente un ensemble d'oprateurs graphiques. Si l'on a besoin d'effectuer une tude prcise, tD devrait tre raffine pour tenir compte de chaque cas. L'oprateur M reprsente l'activit mentale dont l'individu a besoin pour se prparer excuter un oprateur physique K, P, H ou D. Cette prparation revt plusieurs formes et son temps de ralisation tM peut de ce fait varier d'un cas l'autre. Comme pour l'valuation de tD, Card,
33
Moran et Newell simplifient dlibrment la situation et proposent une valeur unique pour tM: tM= 1.35 s L'oprateur R a trait aux temps de traitement des commandes par le systme. tR est le temps pendant lequel le systme fait attendre l'utilisateur. Sachant que : - n est le temps de traitement d'une commande par le systme, et que - t est le temps exploit par l'utilisateur pour excuter un oprateur pendant le traitement de la commande, tR vaut ceci : tR = 0 si n t, tR = n - t si n > t. 2.3.1.2. Codage des mthodes Une mthode s'exprime sous la forme d'une suite d'oprateurs. Par exemple, si l'utilisateur doit entrer la commande unix ls au clavier, la mthode correspondante s'crit : M K[l] K[s] K[retour-chariot] ou, de manire plus condense : M 3K[l s retour-chariot]. Si maintenant, la commande ls est spcifie avec la souris, la mthode devient : H[souris] M P[souris] K[bouton-souris] H[clavier] Les occurrences de M dans une mthode dpendent des oprateurs physiques et du savoir-faire de l'utilisateur. Le savoir-faire est une donne spcifique chaque utilisateur. Pour modliser cette spcificit aux caractristiques imprcises, Card, Moran et Newell utilisent des rgles heuristiques. La dfinition de ces rgles s'appuie sur la thorie suivante (confirme par des observations exprimentales) : l'utilisateur tend partitionner une mthode en sous-mthodes (c'est--dire en mnmes) et insrer une activit mentale entre chaque sous-mthode. Il se trouve que les mnmes d'une mthode correspondent essentiellement aux units syntaxiques d'une commande. Les rgles suivantes identifient la dcomposition d'une mthode en mnmes :
34
Rgle 0 Insrer M devant tous les K qui ne font pas partie de chanes argument. Insrer M devant un P qui correspond la dsignation d'un nom de commande. Rgle 1 Supprimer M si l'oprateur qui suit M peut tre anticip avec l'oprateur qui prcde M (par exemple, dans PMK, K reprsente l'acte d'appuyer sur un bouton de la souris. On considre que l'activit mentale pour K est anticipe dans P). Rgle 2 Si une chane de la forme MKMK.....MK, constitue un mnme, par exemple, le nom d'une commande, supprimer tous les M sauf le premier. Rgle 3 Si K est un symbole de terminaison redondant, supprimer le M qui le prcde. K est un symbole de terminaison redondant s'il suit un autre symbole de terminaison, par exemple s'il termine la commande et s'il est prcd d'un symbole de fin d'argument. Rgle 4 Si K termine une constante (par exemple un nom de commande, non pas un argument), supprimer le M qui le prcde. Si K termine une variable (par exemple, un argument), alors conserver M. Ces rgles dterminent de manire approximative les mnmes d'une mthode. Elles constituent une base laquelle il est possible d'ajouter des heuristiques plus prcises pour, par exemple, tenir compte des diffrences entre les classes d'utilisateurs, diffrences qui, entre experts et novices, se traduisent prcisment par la nature des mnmes. Voyons un exemple d'utilisation de ces rgles de base.
35
Soit la tche voque au paragraphe 2.2.1 qui consiste dplacer le curseur vers le bas de la fentre. Cette tche peut tre effectue selon deux mthodes M1 et M2. Le but est de prdire dans quelles conditions M1 est prfrable M2. Nous dirons que M1 est prfrable M2 si, pour un tat initial identique de l'environnement, TM1, le temps d'excution de M1 est infrieur au temps d'excution TM2 de M2. Le codage d'une mthode s'effectue en trois tapes : 1) Codage de la mthode avec les oprateurs physiques uniquement. 2) Application de la rgle 0 pour introduire M. 3) Application des rgles 1, 2, 3 et 4 pour liminer M. Soient M1 et M2 exprimes de manire informelle : Mthode M1 : prendre la souris; dplacer la souris au point dsir; slectionner; Mthode M2 : tant que le curseur n'est pas sur la ligne dsire taper ctrl-n; tant que le curseur n'est pas sur le mot dsir taper esc-f; M1 et M2 se transcrivent ainsi : Mthode M1 : - Etape 1 : H[souris] P[souris] K[bouton-souris] H[clavier] - Etape 2, rgle 0 : insertion de M devant les K et P H[souris] M P[souris] M K[bouton-souris] H[clavier] - Etape 3, rgle 1 : PMK = PK H[souris] M P[souris] K[bouton-souris] H[clavier] - On obtient pour TM1 TM1 = 2tH + tP + tK + tM
36
Mthode M2 : - Etape 1 : sachant que l'utilisateur a tap m fois ctrl-n et p fois esc-f K[touche control] m {K[touche n]} p {K[touche esc] K[touche f]} - Etape 2, rgle 0 : insertion de M devant les K M K[touche control] m {M K[touche n]} p {M K[touche esc] M K[touche f]} - Etape 3, rgle 2 : M K[touche control] m {K[touche n]} M p {K[touche esc] K[touche f]} - On obtient pour TM2 TM2 = 2tM + (m+ 2p +1) tK M1 est prfrable M2 si : TM1< TM2 c'est--dire si : 2tH + tP + tK + tM < 2tM + (m+ 2p +1) tK Nous connaissons les valeurs moyennes de tH, tP, tK et tM soit en moyenne : tH tP = tK tM = 0.4 s [Card 83, p. 263] 1.1 s [Card 83, p. 234, p. 262], = 0.2 s [Card 83, p. 266], = 1.35 s [Card 83, p. 263].
Il est intressant maintenant de dterminer les conditions sur m et p pour que l'utilisation de la souris devienne prfrable celle du clavier. Ces conditions s'expriment par la relation : 2tH + tP + tK + tM < 2tM + (m+ 2p +1) tK m+2p > (2tH + tP - tM) /tK m+2p > 2.75 (1) Ce rsultat indique que pour m=1 et p=1 (passer la ligne suivante puis au mot suivant), l'utilisation de la souris est mieux adapte. Cette conclusion
37
est un peu htive. En effet, dans la relation : m+2p > (2tH + tP - tM) /tK, le facteur influent est tM (1.35 s). Si l'on considre le cas d'un utilisateur expert en Emacs, tM est non seulement survalu mais il est trs probable que cet utilisateur ne marque pas de pause entre l'excution de la commande "ligne-suivante" et celle de "motsuivant". Si l'on considre que cette suite d'actions est une information compile donc un mnme unique, tM doit tre limin de la relation. On obtient alors : m+2p > (2tH + tP) /tK soit : m+2p > 9.5 (2) rsultat compatible avec le comportement que l'auteur a observ sur des utilisateurs expriments : par exemple, si le dplacement doit s'effectuer sur la mme ligne, il devient plus intressant d'utiliser la souris au-del de cinq mots. Si le dplacement est essentiellement vertical, le clavier reste l'organe privilgi dans les limites d'une dizaine de lignes. La diffrence entre les conclusions (1) et (2) rvle deux difficults : celle de dfinir une heuristique adapte et celle de dterminer la valeur des paramtres. Ces aspects interviennent dans l'valuation du modle.
38
dplacement du curseur prsente au paragraphe 2.3.2 montre que cette simplicit n'est qu'apparente. 2.3.3.2. Prcautions d'utilisation Le placement de l'oprateur M est une premire source de difficults : la notion d'opration mentale prsente par Keystroke comme "une pause entre deux mnmes", est trop imprcise. La nature des mnmes varie avec le temps et les individus, d'o l'cart des rsultats du paragraphe 2.3.2 entre l'heuristique "officielle" et la version "personnalise". L'ajustement des rgles gnrales au cas d'une tude particulire requiert des comptences que l'informaticien n'a gnralement pas. La seconde difficult provient de l'imprcision des valuations. Citons deux cas : le dplacement du curseur et le type de touche utilise. 1) Dans la modlisation du paragraphe 2.3.2, les temps de rponse du systme ont t ignors. Ceci suppose que le systme est suffisamment rapide pour ne pas faire attendre l'utilisateur. Dans le cas inverse, il faut tre capable de dterminer tR. Cette valuation est certainement imprcise dans le cas d'un systme en cours de conception. 2) Keystroke ne fait aucune distinction entre la saisie d'un texte ordinaire et la frappe des touches particulires comme les touches de contrle. L'exprience montre qu'il existe des diffrences de temps d'excution sensibles entre la frappe des touches usuelles et celle des touches particulires [John 87]. De mme, Keystroke ne tient pas compte de l'existence de schmas ou de programmes moteurs prcompils. Keystroke concentre l'analyse sur les aspects syntaxiques et lexicaux sans tenir compte de la problmatique gnrale de l'utilisateur. Buxton dans [Buxton 82] fait observer qu'un gain de performance au niveau lexical peut s'estomper dans le cadre gnral de l'accomplissement d'une tche. Le comportement de l'utilisateur n'est pas seulement dirig par des considrations d'efficacit lexicale locale. Il l'est aussi par une logique smantique globale. En consquence, il est ncessaire que les efforts de conception soient effectus diffrents niveaux de granularit et que les contradictions susceptibles de survenir entre les niveaux soient rsolues par des compromis.
39
40