• Aucun résultat trouvé

Présentation de quatre modèles représentatifs

Chapitre 1. Etat de l'art sur le domaine de recherche

1.3. Modèles d'architecture de l'interface homme-machine

1.3.1. Présentation de quatre modèles représentatifs

On distingue dans la littérature de nombreux modèles d'architecture. Sans souci d'exhaustivité, mais plutôt de représentativité, et en s'inspirant des études à ce sujet de COUTAZ (1990) et de DUVAL (1993), seront présentés successivement les principes de quatre modèles parmi les plus cités et étudiés actuellement. Les trois premiers appartiennent à "la famille SEEHEIM". Le quatrième modèle est MVC, lié à Smalltalk. Ils constituent une source considérable d'idées.

1.3.1.1. Le modèle LANGAGE

Le modèle LANGAGE a été proposé par FOLEY et VAN DAM en 1982. Ce modèle part sur l'hypothèse que l'application et l'interface utilisateur peuvent se décomposer de la même façon qu'un langage. Cette décomposition s'effectue selon quatre niveaux (figure 1.17) :

• Le niveau conceptuel : à ce niveau, les objets de l'application sont recensés, ainsi que leurs attributs, leurs relations et les actions qu'il est possible d'effectuer sur ces objets. Ce niveau correspond à l'application.

• Le niveau sémantique : on y retrouve la description des fonctionnalités du système, en précisant l'ensemble des actions possibles sur les différents objets de l'application, sans se préoccuper des liens séquentiels entre actions.

• Le niveau syntaxique : on y définit les séquencements des actions de l'utilisateur en termes d'entrées/sorties, et leur format afin de réaliser les fonctionnalités spécifiées au niveau supérieur. Ce niveau doit donc se baser sur un vocabulaire de description et une grammaire.

• Le niveau lexical : on y retrouve des primitives permettant de gérer les événements d'entrée et d'assurer l'affichage des sorties.

Niveau conceptuel

Niveau syntaxique

Niveau lexical Utilisateur système interactif

Niveau sémantique

Figure 1.17 : Modèle LANGAGE

Les principes de base du modèle ont été exploités par de nombreux chercheurs, et ont influencé la définition de plusieurs modèles génériques. Le plus connu est sans doute le modèle de SEEHEIM.

1.3.1.2. Le modèle de SEEHEIM

Au milieu des années 80, un groupe de travail SIGGRAPH définit un modèle d'interaction homme-ordinateur appelé modèle de SEEHEIM (PFAFF, 1985), prenant son nom du lieu où il a été défini, à SEEHEIM en RFA à l'occasion d'un séminaire sur les systèmes de gestion des interfaces utilisateur. Ce modèle comprend trois composants logiques (figure 1.18) :

Utilisateur Contrôleur du dialogue Système interactif Présentation Interface avec l'application Application

Figure 1.18 : Modèle de SEEHEIM

• La présentation est la partie visible par l'utilisateur, et gère les entrées/sorties. Par rapport au modèle Langage, elle correspond globalement au niveau lexical.

• Le contrôleur du dialogue est responsable de la structure du dialogue entre l'utilisateur et le système interactif. Il peut être vu comme le niveau syntaxique du modèle LANGAGE. Ainsi, comme l'explique COUTAZ (1990), les phrases syntaxiquement correctes correspondent à des requêtes et des données que l'utilisateur souhaite transmettre à l'application, et dans le sens inverse, le contrôleur reçoit des phrases de sortie abstraites qui sont ventilées vers les éléments spécialisés de la présentation.

• L'interface avec l'application est chargée de la communication des données entre l'interface et l'application, et ceci tout en respectant la sémantique des données et du dialogue. Elle correspond au niveau sémantique du modèle Langage.

Remarquons que l'application correspond au niveau conceptuel du modèle Langage.

D'après COUTAZ (1990), ce modèle, bien que possédant des limites liées à sa généralité, offre plusieurs avantages, tels que (i) proposer un cadre de pensée pour jeter les bases structurelles d'un système à construire, (ii) faciliter la conception itérative des interfaces dans la mesure où il est possible de modifier la partie présentation indépendamment des autres, (iii) ne pas être lié à une technique particulière de réalisation, (iv) servir de point de départ à la proposition d'outils de génération automatique d'interface spécialisés sur chacun des trois niveaux de description (lexical, syntaxique et sémantique). D'après BEAUDOUIN-LAFON (1991), l'interprétation linguistique du modèle de SEEHEIM est correcte pour décrire un dialogue de haut niveau, mais n'est pas appropriée si l'on veut concevoir des applications à manipulation directe.

Ce modèle d'architecture est la référence pour les applications interactives. Il a fait l'objet de dérivés, tels le modèle de SEEHEIM modifié (DANCE et al., 1987) visant à étendre le niveau sémantique de l'architecture, le modèle de SEEHEIM étendu (KARSENTY et WEIKART, 1991) qui vise à inclure complètement l'application dans le modèle par des composants supplémentaires, ou encore le modèle ARCH (BASS et al., 1991) qui divise une application interactive en cinq composants : boîte à outils et présentation (correspondant à une décomposition physique et logique de la présentation), dialogue, adaptateur de domaine et domaine. Le modèle PAC présenté ci-dessous est également inspiré du modèle de SEEHEIM.

1.3.1.3. Le modèle PAC

Le modèle PAC (Présentation Abstraction Contrôle), proposé par COUTAZ (1987 ; 1990), part sur l'hypothèse qu'une application et son interface homme-machine peuvent être décomposées en une hiérarchie d'agents interactifs. Les niveaux sémantiques, syntaxiques et lexicaux se retrouvent donc distribués dans des entités de base appelées objets interactifs. Chaque entité se compose de trois composants (figure 1.19) :

• Le composant Présentation : celui-ci définit la syntaxe concrète de l'application, c'est-à-dire l'aspect visuel des objets, de même que les comportements d'entrée/sortie sur les objets, et ceci vis-à-vis de l'utilisateur.

• Le composant Abstraction : il désigne la sémantique, c'est-à-dire les fonctionnalités de l'application.

• Le composant Contrôle : celui-ci maintient la cohérence entre les aspects de présentation et d'abstraction. Il fait office d'arbitre et de centre de décisions, et décide des techniques de traduction entre les formes abstraites et concrètes d'un objet PAC.

A A A A A C C C C C P P P P P système interactif Utilisateur

Figure 1.19 : Structuration d'un système interactif en objets PAC

Le modèle PAC correspond en fait à une répartition distribuée des composants du modèle SEEHEIM, en s'appuyant sur la notion d'agent. En ce sens, il peut bénéficier des avantages de cette notion : grande modularité, perception de l'application à différents niveaux d'abstraction, et parallélisation éventuelle des entrées/sorties. Plusieurs recherches visent actuellement à exploiter au maximum les intérêts d'une telle approche d'architecture répartie, par exemple :

• COUTAZ et NIGAY (1991) proposent un modèle hybride appelé PAC-SEEHEIM, combinant le modèle de SEEHEIM et les principes multi-agent de PAC. En particulier, le contrôleur de dialogue du modèle de SEEHEIM peut être composé d'agents PAC.

• DUVAL (1993) combine les principes des modèles de SEEHEIM, PAC et ARCH pour proposer un modèle unifié appelé SPA. Un système interactif se compose alors d'une hiérarchie d'objets SPA, composés chacun de six composants : présentation, interface présentation, contrôle, interface contrôle, application et interface application.

1.3.1.4. Le modèle MVC

Contrairement aux modèles précédents qui restent pour l'instant conceptuels, le modèle MVC (Modèle, Vue, Contrôleur) est le modèle d'architecture logicielle du langage orienté objet Smalltalk, où toute entité est un objet (GOLDBERG, 1984). Ce modèle permet de gérer la cohérence globale d'une application interactive en assurant la cohérence entre les différentes vues d'un même objet.

Cette responsabilité est partagée entre trois objets (figure 1.20) : (i) le modèle réunit l'ensemble des fonctions abstraites, et représente les structures de données de l'application, (ii) la vue définit la présentation en sortie, en gérant les tâches graphiques, (iii) le contrôleur est chargé de la gestion des interactions avec l'utilisateur, en étant capable d'interpréter les entrées en provenance de l'utilisateur.

En comparant le modèle MVC à PAC, COUTAZ (1990) met en évidence trois différences fondamentales : (i) MVC au contraire de PAC est très lié aux techniques de programmation par objets, (ii) MVC utilise les objets Vue et Contrôleur pour réaliser la notion équivalente de Présentation dans PAC, et enfin (iii) dans MVC le contrôle au sens PAC est inexistant et ses fonctions sont diluées entre le modèle, la vue et le contrôleur. Il est important de souligner qu'une mise en oeuvre rigoureuse du modèle MVC exige un long apprentissage de la programmation objet en Smalltalk.

Utilisateur Contrôleur Vue Modèle Affichages evénements physiques Application Figure 1.20 : Modèle MVC

1.3.1.5. Conclusion sur les modèles décrits

Les principes de base de quatre modèles d'architectures d'interfaces, LANGAGE, SEEHEIM, PAC et MVC, ont été décrits. Ils constituent une avancée très importante dans l'étude et la mise en oeuvre des systèmes interactifs. Cependant, ils ne s'intéressent qu'aux aspects purement logiciels de l'interface. Ainsi, ils répondent à un ensemble de critères du génie logiciel, par des aspects de modularité ou encore de réutilisabilité, mais ne prennent pas en compte explicitement certains aspects pourtant fondamentaux des interactions homme-machine, liés aux facteurs humains.

Au vu des progrès technologiques réalisés au niveau des aspects graphiques interactifs, l'architecture logicielle des systèmes interactifs peut progressivement s'organiser autour de de l'intégration de l'utilisateur. Nous avons vu précédemment que celui-ci doit être beaucoup plus considéré comme un composant à part entière du système homme-machine et, que dans le cycle de développement du système interactif, de nouvelles notions doivent apparaître : les tâches à réaliser par l'utilisateur, les objectifs à atteindre, la prise en compte de l'environnement de travail, les connaissances nécessaires pour utiliser le système, l'ergonomie de présentation d'information, etc, conduisant progressivement à des aspects de modélisation de l'utilisateur

et des tâches.

C'est pourquoi des recherches visent actuellement à proposer des architectures d'interface et les tâches intégrant explicitement des connaissances sur l'utilisateur. Même si ces recherches n'en sont qu'à leurs premiers balbutiements en raison de leurs objectifs ambitieux, des concepts et des modèles particulièrement prometteurs commencent à voir le jour. Ils font l'objet de la partie suivante.

1.3.2. Positionnement de concepts d'interfaces "intelligentes" dans le modèle