FR 2847691 A1 20040528 FR 0215012 A 20021126 La présente invention concerne un procédé et un dispositif destiné à optimiser la gestion des différents états successifs d'un processus en évolution lors de ses différents états, tel que notamment un équipement électronique ou un système mécanique, en fonction du choix par un utilisateur de diverses options opérationnelles qui lui sont proposées par un système, et de retours d'information d'état fournies à ce dernier. Elle concerne plus particulièrement un procédé et un dispositif d'interaction entre un utilisateur et un système quelconque (processus à contrôler) par l'intermédiaire d'une interface dite "procédurale". On sait qu'une interface procédurale permet aux utilisateurs de se concentrer sur la tâche qu'ils sont en train d'accomplir et d'éviter la surcharge inutile causée par l'utilisation des interfaces bureautiques (dont les procédures implicites relèvent précisément de tâches bureautiques le plus souvent inadaptées à d'autres domaines d'application) . Elle se reconfigure automatiquement en fonction du contexte d'utilisation, prenant en compte trois types de fonctions cognitives: anticipation, interaction et récupération. Le procédé est mis en oeuvre par l'intermédiaire des blocs d'interaction procéduraux (BIPs) qui constituent un langage de spécification des interfaces procédurales. La création et la modification progressive de diagrammes de BIPs permettent d'optimiser une interface procédurale en fonction de principes de base:simplicité, observabilité/communicabilité, redondance, stabilité cognitive et l'appui cognitif sous-jacent des interfaces homme-machine. L'invention concerne un procédé de gestion d'une interface homme-machine. La plupart des ustensiles électroniques exigent très peu de commandes, de présentations et de champs d'entrée dont les utilisateurs ont besoin. Les présentations et les commandes peuvent immédiatement suggérer les bonnes actions à leurs utilisateurs. Dans la mesure o les utilisateurs n'ont pas à se focaliser sur des questions d'interaction telles que chercher la bonne commande cachée quelque part dans un menu " pop-up ", ils peuvent porter plus d'attention à la tâche qu'ils doivent accomplir. Les interfaces procédurales sont conçues pour assurer cet objectif. L'invention s'applique plus particulièrement, à des systèmes dans lesquels la sécurité joue un rôle prépondérant. Dans de tels systèmes, la question de l'économie de l'interaction d'un l'utilisateur est essentielle pour permettre des temps de réponse adaptés à la tâche qu'il est en train d'exécuter. Pour ce faire, l'interface que nous qualifions de "procédurale" dispose d'un logiciel interne prenant en compte les procédures habituellement dévolues aux utilisateurs. Le processus à contrôler peut être n'importe quel système. Il est généralement reconnu que les interfaces bureautiques (dites " desktop ") ont tendance à devenir un standard pour une grande majorité d'interfaces homme-machine. Le développement d'ustensiles électroniques pour la communication, le contrôle de processus, la conduite d'engin, la gestion de systèmes dynamiques, complexes et souvent à risques ou la domotique par exemple, passe par des interfaces adaptées à l'exécution des tâches correspondantes. Les interfaces bureautiques ont commencé à être développées en 1981 et ont a révélé au grand public ce type d'interaction. Cette évolution a été un grand tournant dans l'utilisation des ordinateurs et l'industrie informatique. Les interfaces procédurales constituent un nouveau tournant. Elles permettent un paramétrage en fonction de la tâche et du domaine d'application. La métaphore du bureau est très limitée et inadéquate lorsque les utilisateurs doivent exécuter des tâches complexes, en temps réel et à forte demande attentionnelle. Les gens n'ont pas le temps de chercher les commandes cachées d'un menu lorsqu'ils doivent répondre en urgence. Les utilisateurs doivent pouvoir manipuler le bon objet d'interface à la bonne place et au bon moment. Les interfaces procédurales permettent d'automatiser le processus à contrôler en fonction de ce principe. Cette exigence est reconnue depuis longtemps dans la conception de systèmes à risques. Aujourd'hui, avec le développement des moyens électroniques, de nouveaux besoins émergent. Pour que l'utilisation de ces moyens soit efficace et la plus naturelle possible, l'utilisateur ne doit pas percevoir les couches informatiques qu'ils incluent; l'ordinateur doit être invisible. la place, la tâche doit être suggérée par l'interface, et donc visible à tout instant. C'est précisément la raison d'être des interfaces procédurales. Un langage de spécification des interfaces procédurales est donné. Il s'agit des blocs d'interaction procéduraux. Un bloc d'interaction procédural (BIP) est une représentation d'une procédure. Il est défini par les attributs suivants: un algorithme d'actions; une forme de situation qui inclut des préconditions de déclenchement et une forme contextuelle (ou contexte d'utilisation ou de validité); des post-conditions qui incluent un but (postconditions normales) et des (post)conditions anormales qui caractérisent des états de non terminaison de la procédure associée. La normalité est (faiblement) définie comme ce qui est préféré de faire dans un contexte donné, et est associée à ce qui est fréquemment fait. Il convient de préciser que certaines pré-conditions de déclenchement sont associées à des objets d'interface ou apparences. Par exemple, un objet d'interface peut être un bouton ou une zone sélectionnable sur un écran d'ordinateur. En fonction du contexte, un objet d'interface peut avoir une forme ou une couleur spécifique correspondant au contexte de son utilisation. Les BIPs peuvent être chaînés entre eux pour constituer un ensemble cohérent, appelé contexte de BIPs, pour lequel leur utilisation correspond à des objectifs globaux et un contexte commun. Par ailleurs, les conditions anormales peuvent être faibles (dans ce cas, elles conservent le contexte courant) ou fortes (dans ce cas, elles conduisent à un contexte différent).Du point de vue de la programmation d'une interface procédurale, chaque contexte définit un écran (ou page) spécifique. Un diagramme de BIPs permet de se rendre compte de façon explicite de l'enchaînement des actions qu'un utilisateur pourra exécuter en utilisant l'interface procédurale correspondante. Il permet en particulier de se rendre compte de l'organisation contextuelle des BIPs et donc de diverses mises en oeuvre possibles pour une interaction simple et efficace. La présente invention a pour objet un procédé destiné à optimiser la gestion des différents états successifs d'un processus en évolution lors de ses différentes étapes, tel que notamment un équipement électronique ou un système mécanique, en fonction du choix par un utilisateur de diverses options opérationnelles qui lui sont proposées par un système, et de retours d'information d'état fournies à ce dernier, caractérisé en ce qu'il consiste: - à prendre en compte uniquement les informations d'état qui sont pertinentes, compte tenu de l'étape du processus concerné, - à rendre inaccessible à l'utilisateur les commandes des options opérationnelles non pertinentes pour cette étape et/ou cet état, - à gérer lesdites prise en compte et non accessibilité au moyen d'une procédure prenant en compte l'état du système et l'étape en cours du processus. La présente invention a également pour objet un dispositif destiné à optimiser la gestion des différents états successifs d'un processus en évolution lors de ses différentes étapes, tel que notamment un équipement électronique ou un système mécanique, en fonction du choix par un utilisateur de diverses options opérationnelles qui lui sont proposées par un système, et de retours d'information d'état fournies à ce dernier, caractérisé en ce qu'il comporte: - des moyens aptes à prendre en compte uniquement les informations d'état qui sont pertinentes, compte tenu de l'étape du processus concerné, - des moyens aptes à rendre inaccessible à l'utilisateur les commandes des options opérationnelles non pertinentes pour cette étape et/ou cet état, - des moyens aptes à gérer lesdites prise en compte et non accessibilité à l'aide d'une procédure prenant en compte l'état du système et l'étape en cours du processus. On décrira ci-après, à titre d'exemple non limitatif, une forme d'exécution de la présente invention, en référence au dessin annexé sur lequel: La figure 1 est un schéma illustrant l'architecture donnant lieu à une interaction homme-machine guidée par des procédures (interaction procédurale), qui doivent être mises en oeuvre par l'utilisateur afin d'utiliser l'interface du processus à contrôler. La figure 2 est un schéma illustrant l'architecture donnant lieu à une interaction dite "naturelle" par l'utilisation d'une interface procédurale incluant certaines procédures que l'utilisateur devait gérer dans le cas précédent. La figure 3 est un schéma représentant un exemple de bloc d'interprétation procédural (dénommé par la suite BIP). La figure 4 est un diagramme représentant une association de BIPs. On a ainsi représenté sur la figure 4 un exemple de diagramme de BIPs. Les entrées 1 et 6 correspondent à des objets d'interface sélectionnables par l'utilisateur, mais peuvent aussi être des états internes à la procédure correspondant au contexte Cx. Le contexte de BIPs Cx est luimême un BIP. La représentation par BIP permet ainsi de prendre en compte la récursivité des procédures. Les sorties 2 et 3 correspondent à des buts possibles du contexte de BIPs Cx. La sortie 4 correspond à une condition anormale forte parce qu'elle conduit à un contexte de BIPs différent de Cx. La sortie 5, quant à elle, correspond à une condition anormale faible parce qu'elle conduit à un BIP du même contexte Cx. La sortie 7 correspond à un branchement arrière (boucle). La sortie 8 correspond à un branchement avant. Puisqu'une interface procédurale est développée en utilisant des procédures particulières, elle est forcément limitée à des tâches spécifiques pour un ustensile donné. Le diagramme des BIPs est progressivement conçu de façon que le nombre d'objets d'interface pour un contexte donné soit minimum. Ces objets doivent être visibles et saillants afin de suggérer les bonnes actions à leur utilisateur. Il convient de noter qu'un diagramme de BIPs peut être représenté sous une forme hypertextuelle, ce qui en permet la programmation aisée. L'optimisation d'un diagramme de BIPs se fait typiquement en considérant deux questions. Ql (aptitude à être observé) L'interface procédurale proposée rend-t-elle le processus à contrôler observable, c'est-à-dire les informations proposées à l'utilisateur représentées par les buts et les conditions anomales disponibles sont-elles nécessaires et suffisantes pour que l'utilisateur comprenne ce que le système a fait ou est en train de faire ? Q2 (aptitude à être commandé): L'interface procédurale proposée rend-elle le processus à contrôler apte à être commandé, c'est-à- dire les entrées représentées par les conditions de déclenchement disponibles sont-elles nécessaires et suffisantes pour agir correctement sur l'état global du processus à contrôler? L'optimisation de l'interface procédurale correspondante se fait en minimisant le nombre d'objets d'interface (les informations ou sorties, et les entrées) pour un contexte de BIPs donné. L'interface d'un système est caractérisée par un ensemble de n états observables ou sorties {S1, S2, ? Sn} et un ensemble de m états aptes à être ou entrées {El, E2, ? Em}. L'interface est redondante s'il y a p sorties (p l'utilisateur en situations normales, anormales et d'urgence. Dans les cockpits d'avion, par exemple, plusieurs instruments sont dupliqués, un pour le commandant de bord, un autre pour le copilote. De plus, des états observables présentés sur des instruments digitaux sont aussi présentés sur des instruments traditionnels redondants. Contrôler un système état par état en utilisant des informations redondantes appropriées est très différent de déléguer l'activité de contrôle à un automate. De nouvelles formes de redondance émergent de l'utilisation des systèmes hautement automatisés. Le fait d'être observable et l'aptitude à être commandé des systèmes sont habituellement centrée sur le Quoi des états du système à contrôler. La supervision des systèmes hautement automatisés nécessite des informations redondantes sur le "pourquoi", le "comment", le "avec quoi" et le "quand" afin d'augmenter 1' " insight ", la confiance et la fiabilité : Pourquoi le système fait ce qu'il fait? Comment agir sur le système pour le mettre dans un certain état en utilisant les commandes disponibles ? Avec quelles autres présentations et commandes les entrées/sorties courantes devraient être associées ? Quand une information devrait être envoyée ou acquise ? Une interface procédurale doit permettre une bonne stabilité cognitive. La stabilité cognitive est analysée en utilisant la métaphore de la stabilité en physique. La stabilité peut être statique ou dynamique. La stabilité statique est liée aux degrés de liberté; en d'autres termes un objet dans un monde tridimensionnel est habituellement défini par trois degré de liberté. Une chaise est stable lorsqu'elle a (au moins) trois pieds. Les êtres humains sont stables sur deux jambes, mais c'est à cause de la stabilité dynamique parce qu'ils ont appris à compenser, souvent inconsciemment, leur instabilité. Lorsqu'un objet est perturbé par un événement externe, il y a habituellement deux cas: l'objet revient à sa position initiale, nous disons que l'objet est dans un état stable; et l'objet diverge de sa position initiale, nous disons que l'objet est dans un état instable. Lorsqu'un utilisateur agit de façon erronée, deux cas se présentent: l'utilisateur récupère de son action erronée, nous disons que l'utilisateur est dans un état stable et l'utilisateur ne récupère pas de son action erronée, nous disons que l'utilisateur est dans un état instable. Les BIPs doivent être définis et organisés de façon que la stabilité cognitive soit constamment assurée. Il existe des actions humaines erronées qui peuvent être tolérées, et d'autres qui doivent être bloquées. Les systèmes de tolérance et de résistance à l'erreur sont habituellement des redondances utiles. La tolérance à l'erreur est toujours associée à la récupération de l'erreur. Il y a des erreurs bonnes à faire parce qu'elles encouragent la prise de conscience de la situation et la récupération. Cependant, la récupération est souvent difficile, et souvent impossible, lorsque les ressources nécessaires ne sont pas disponibles. On propose ici le concept de réversibilité de l'action chaque fois qu'un utilisateur peut revenir en arrière à partir d'une action erronée, et agir correctement. La fonction UNDO (défaire) disponible sur la plupart des applications logicielles aujourd'hui offre une redondance aux utilisateurs qui détectent les fautes d'orthographe et décident de les corriger. Alors, faire des fautes d'orthographe est toléré, et une ressource de récupération est disponible. La résistance à l'erreur est, ou devrait être, associée au risque. Les ressources de résistance à l'erreur sont utiles dans les systèmes à risques lorsque des hauts risques sont possibles. Ils ne peuvent pas être pertinents dans les environnements à bas risques parce qu'ils perturbent habituellement l'exécution de la tâche. Par exemple, les outils de traitement de texte qui offrent la correction automatique d'orthographe peuvent perturber la tâche principale de génération d'idées. Un apprentissage et une formation inadaptés, une faible vigilance, une fatigue et une grande charge de travail constituent les influences principales adverses à la stabilité cognitive. La stabilité cognitive est favorisée par la simplicité, la redondance ainsi qu'une aptitude à être observé et à être commandé appropriées de l'interface utilisateur. Les utilisateurs tendent à utiliser des sources redondantes d'information, qu'elles soient personnellement construites ou délibérément données pour maintenir une stabilité cognitive raisonnable. De telles sources redondantes d'information sont appelées fonctions cognitives stabilisantes."Que se passera-t-il si je fais cela?" Toute ressource redondante qui contribue à répondre à une telle question de l'utilisateur est susceptible de contribuer à la stabilité cognitive d'un système donné. Tout utilisateur emploie au moins les trois fonctions cognitives suivantes pour maintenir sa propre stabilité cognitive dans l'exécution d'une tâche donnée: 1. L'anticipation est une fonction qui met en jeu la prise en compte d'événements en avance et la préparation d'une "réaction" en focalisant la mémoire de travail sur un ensemble approprié de formes relatives à la situation (ensemble de conditions sur la situation qui sont corrélées ou non entre elles). Ces formes sont acquises pas à pas par la formation et la pratique, articulées et accumulées dans la mémoire à long terme. 2. L'interaction est une fonction qui met en jeu des réactions directes à des événements autant que des actions articulées à partir d'une intention. L'interaction est typiquement opportuniste dans le sens o un être humain peut commencer à développer un ensemble d'actions intentionnelles, être perturbé par un événement non prévu, réagir à celui-ci, et éventuellement oublier les actions initialement planifiées. On peut donc dire que toute interaction est une réaction à un stimulus externe ou à une intention de l'utilisateur. 3. La récupération est une fonction qui met en jeu des ensembles d'actions consciemment construits et articulés (plans d'actions) suite au diagnostic d'une situation. Habituellement une telle situation est provoquée par un événement qui n'était pas attendu dans l'ensemble initial des actions à exécuter. La récupération est basée sur la reconstruction causale de sens afin de construire un plan d'actions. Pour optimiser le diagramme de BIPs d'une interface procédurale, il convient de conserver à l'esprit, tout au long de son développement, que pour chacune des trois fonctions cognitives cidessus, les utilisateurs développent des ensembles appropriés d'actions pour résoudre un problème. La nature de l'expertise se traduit par la façon dont les gens anticipent, interagissent ou récupèrent. Les gens anticipent en faisant des prédictions du futur afin de sélectionner les bonnes formes situationnelles d'actions prêtes à utiliser le moment venu. Lorsque les gens interagissent, la nature de l'interface est cruciale puisque les gens répondent à des stimuli qui leur sont immédiatement perceptibles et font sens par rapport à leurs intentions et leurs plans. Lorsque les gens récupèrent d'une situation non anticipée ou anormale, le diagnostic est crucial puisque les plans d'actions subséquents sont basés sur une conscience appropriée de la situation et des événements passés significatifs.- La notion d'appui en physique est transposée dans le domaine de l'ingénierie cognitive. Les gens s'appuient sur des artefacts cognitifs comme ils s'appuient sur des objets physiques. En particulier, les gens améliorent leurs fonctions cognitives d'anticipation, d'interaction et de récupération par l'utilisation de diverses catégories d'appuis cognitifs. Ces catégories peuvent être liées à l'outil physique utilisé, les capacités de l'utilisateur, la tâche à accomplir, et leur environnement relatif à l'organisation. Par exemple, la redondance est un appui cognitif. L'utilisation simultanée de couleurs, de formes et de groupements d'états reliés est un exemple classique de redondance de l'interface utilisateur. Les gens perçoivent à la fois les contrastes et les similarités. L'information improbable devrait être soulignée afin d'anticiper les surprises possibles. Le retour redondant d'information sur les actions de l'utilisateur est susceptible d'améliorer l'interaction. Une assistance additionnelle à l'action devrait améliorer la récupération. Dans tous les cas, l'aptitude à être observé et l'aptitude à être commandé de façon redondante, telles que définies plus haut, sont susceptibles d'améliorer la stabilité cognitive. Le développement de formes relatives à la situation et d'habitudes de traitement comme la vérification croisée systématique est susceptible d'améliorer l'anticipation, l'interaction ou la récupération. La formation à la récupération d'erreur est susceptible d'améliorer la stabilité cognitive. Les gens qui agissent cherchent habituellement des appuis cognitifs que ce soit consciemment ou inconsciemment. Lorsqu'un tel appui n'est pas disponible, les gens le construisent soit comme une bonne pratique soit comme des outils externes servant de support à leurs activités. Les gens qui utilisent un environnement pour des réunions assistées par ordinateur ont besoin de règles (souvent appelées procédures) pour communiquer efficacement avec les autres. Plus généralement, toute coopération efficace nécessite des formes d'interaction mises en procédures. Ces formes d'interaction incluent des informations redondantes servant d'appui cognitif à leurs utilisateurs. Les tâches de communication peuvent être représentées comme des algorithmes d'actions. Puisque de tels algorithmes sont répartis parmi les gens et la technologie. Les gens ont besoin d'utiliser des cartes cognitives servant de support à leurs activités. Les fonctions cognitives d'anticipation, d'interaction et de récupération peuvent être améliorées lorsque ces cartes cognitives sont disponibles au sein de l'interface utilisateur. En aéronautique, comme dans beaucoup d'autres domaines industriels, le codage couleur est systématiquement utilisé pour maximiser la capacité suggestive d'action des objets d'interface (entrées ou sorties) au bon moment. Le codage couleur est une information redondante qui améliore la capacité à être observé et à être commandé. Plus le codage couleur est universel, plus les gens sont susceptibles de l'utiliser efficacement et en toute sécurité. C'est une difficulté parce que la signification des couleurs dépend fortement de la culture. Le rouge n'a pas la même signification en France et en Chine par exemple. Cependant, il y a diverses catégories de significations des couleurs liées à la pratique. Une fois que les gens les ont apprises, ils les utilisent correctement. Le nombre de couleurs doit généralement être suffisamment faible pour que les gens se souviennent de leurs significations. Il est communément admis que les significations de 7 2 couleurs sont facilement mémorisées. Le procédé de développement d'une interface procédurale est le suivant: 1. Développer un premier diagramme de BIPs avec les objets d'interface correspondant présentés sur différentes pages d'une application hypermedia. 2.Optimiser le diagramme de BIPs (en utilisant la représentation de la Figure 3, un exemple de diagramme de BIPs étant présenté sur la Figure 4). L'optimisation est réalisée en réduisant le nombre de BIPs dont la responsabilité incombe à l'utilisateur et des objets d'interface correspondants en utilisant les principes de simplicité, observabilité/communicabilité, stabilité cognitive et appui cognitif défini ci-dessus. Des utilisateurs-testeurs sont mis à contribution pour la génération de données sources à cette optimisation 3. L'optimisation repose sur les compromis entre l'affectation des BIPs d'interaction pure à la machine et des BIPs relatifs à la tâche à effectuer à l'utilisateur. Certains BIPs relatifs à la tâche pourront être confiés à la machine en prenant soin de vérifier que cette "automatisation" n'enlève pas des éléments importants permettant à l'utilisateur de conserver une bonne conscience de la situation en cours 4. Etant donné que le nombre d'objets d'interface doit diminuer en utilisant les points 1, 2 et 3 du procédé cidessus, ne pas hésiter à créer des redondances lorsque cellesci contribuent à simplifier l'interaction et la stabilité cognitive de l'utilisateur. Ces redondances peuvent, par exemple, prendre la forme la duplication d'entrées parce que la distance entre la dernière action et la suivante est trop distante sur l'écran. Une autre forme de redondance concerne la coloration de certaines zones pour attirer l'attention de l'utilisateur sur ce qui est à faire, ce qui est en cours, ce qui est déjà fait, par exemple. REVENDICATIONS 1.- Procédé destiné à optimiser la gestion des différents états successifs d'un processus en évolution lors de ses différentes étapes, tel que notamment un équipement électronique ou un système mécanique, en fonction du choix par un utilisateur de diverses options opérationnelles qui lui sont proposées par un système, et de retours d'information d'état fournies à ce dernier, caractérisé en ce qu'il consiste: - à prendre en compte uniquement les informations d'état qui sont pertinentes, compte tenu de l'étape du processus concerné, - à rendre inaccessible à l'utilisateur les commandes des options opérationnelles non pertinentes pour cette étape et/ou cet état, - à gérer lesdites prise en compte et non accessibilité au moyen d'une procédure prenant en compte l'état du système et l'étape en cours du processus. 2.- Dispositif destiné à optimiser la gestion des différents états successifs d'un processus en évolution lors de ses différentes étapes, tel que notamment un équipement électronique ou un système mécanique, en fonction du choix par un utilisateur de diverses options opérationnelles qui lui sont proposées par un système, et de retours d'information d'état fournies à ce dernier, caractérisé en ce qu'il comporte: - des moyens aptes à prendre en compte uniquement les informations d'état qui sont pertinentes, compte tenu de l'étape du processus concerné, - des moyens aptes à rendre inaccessible à l'utilisateur les commandes des options opérationnelles non pertinentes pour cette étape et/ou cet état, - des moyens aptes à gérer lesdites prise en compte et non accessibilité à l'aide d'une procédure prenant en compte l'état du système et l'étape en cours du processus.