Modèlisation par agents d’une interface INTELLIGENTE

Claude Duvallet, Hadhoum Boukachour
LIH, Université du Havre
25, rue Philippe Le Bon
76058 LE HAVRE
Claude.Duvallet@univ-lehavre.fr, Hadhoum.Boukachour@iut.univ-lehavre.fr
Résumé — Les systèmes informatiques pour l’aide à la décision doivent fournir de façon synthétique et simple les éléments nécessaires aux décideurs pour évaluer une situation. C’est pourquoi, il est indispensable de construire des Interfaces Homme-Machine (IHM) bien adaptées à la perception de chaque utilisateur. La nécessité de concevoir des applications informatiques munies de ce type d’IHM réside dans la possibilité de doter ces applications de la capacité à s’adapter à l’environnement et au comportement de l’utilisateur mais aussi de permettre l’ajout de composants sans remettre en question la conception de celles-ci. Afin de mettre en œuvre ce type d’IHM, une modélisation par agents semble bien adaptée car elle permet de prendre en compte la complexité des interactions présentes au sein de l’IHM. L’aboutissement de ces travaux permettra la conception d’IHM auto-adaptatives et intelligentes

1. Introduction

L’évolution des systèmes informatiques a été très rapide ces dernières années. Cette évolution est notamment perceptible au travers des IHM. Alors que les premiers systèmes informatiques ne disposaient, pour interagir avec l’utilisateur, uniquement que de systèmes de commandes en ligne, désormais les applications informatiques disposent de systèmes basés sur une représentation graphique des IHM (fenêtres, boîtes de dialogue, …). Cette évolution a représenté une transformation importante des systèmes informatiques, car elle a permis aux utilisateurs de ne plus devoir être des spécialistes des systèmes informatiques utilisés et de réduire leur temps de formation.
L’utilisation des systèmes informatiques s’est généralisée ces dernières années. Néanmoins elle reste, dans de nombreux cas, difficile pour les personnes n’ayant pas d’expérience dans le domaine informatique, car l’utilisation et la perception d’un système se fait différemment selon ces personnes. Il serait donc approprié d’avoir une IHM spécifique pour chaque utilisateur, ce qui est difficilement réalisable. La solution que nous avons retenue, pour répondre à ce nouveau besoin, est la conception d’IHM auto-adaptables basées sur une modélisation par organisations d’agents. Le principe de ce nouveau type d’IHM constituera certainement la prochaine grande évolution des Interactions Homme-Machine.
Les IHM doivent désormais s’appuyer sur une séparation des objets du domaine et des objets d’interface (cf. Figure 1), pour permettre de répondre aux besoins liés à la conception d’IHM interchangeables. Ces IHM s’adaptent à une application au moyen d’objets adaptateurs qui font le lien entre l’application et l’IHM. Pour cela nous nous inspirons du modèle MVC de SmallTalk [Briffault, Sabbah, 1996], qui est aussi décrit dans [Akoulchina 1998]. Dans ce modèle, le principe de base est le développement d’une interface utilisateur indépendante du domaine et où il doit être en particulier possible de modifier, en partie ou en totalité, la composition de l’interface sans changer les actions de l’application sous-jacente. Dans le cadre d’IHM auto-adaptative et intelligente, des modifications s’effectueront à la demande de l’utilisateur ou de façon automatique.
Dans cet article, nous proposons un modèle d’IHM auto-adaptative se basant sur une modélisation par agents.
Figure 1 — Modèle de conception d’IHM.
Dans la section 2, nous présenterons les raisons qui nous ont amené à concevoir une IHM intelligente. Ensuite, nous présenterons dans la section 3, la modélisation par agents que nous avons réalisée. Dans la section 4, nous présentons l’application de ces travaux au travers de deux systèmes, ainsi que la description des choix d’implémentation effectués. Nous concluons cet article par la possibilité d’étendre ces travaux et de les mettre en œuvre sur des applications industrielles.
2. Pourquoi une IHM intelligente ?
Nous avons commencé à aborder dans l’introduction de cet article les raisons qui rendent la conception d’IHM intelligentes et auto-adaptatives nécessaire.
Une première raison réside dans la constatation de l’inefficacité des IHM classiques face aux nouveaux besoins des applications qui doivent permettre aux utilisateurs d’avoir la meilleure compréhension possible du système informatique et de son fonctionnement.
Une bonne conception doit donc permettre d’obtenir des IHM répondant aux besoins spécifiques de chaque utilisateur tout en fournissant une application commune à tous les utilisateurs. C’est pourquoi une IHM qui s’adapterait au comportement de l’utilisateur semble adéquate.
De plus, la maintenance des IHM classiques nécessite l’intervention d’informaticiens pour reprendre entièrement la conception de celles-ci. Afin de réduire le coût de la maintenance, la conception d’interfaces pouvant être entièrement paramètrées par l’utilisateur et ayant donc une plus grande capacité d’évolution que les IHM classiques, semble indispensable. La réalisation de ce type d’interfaces peut être effectuée au moyen d’une IHM adaptative basée sur une modularité de ses composants. En effet, il doit être possible de modifier l’interface par ajout, suppression ou modification de composants sans, changer le cœur de l’application informatique.
La nécessité de concevoir des applications informatiques munies d'IHM intelligentes et auto­adaptatives semble donc être une solution adéquate. La complexité des interactions présentes dans une IHM intelligente rend adéquat l'utilisation des systèmes multiagents [Wooldridge, Jennings 1994]. En effet, il faut être en mesure de prendre en compte les différentes interactions de l'utilisateur avec le système et les modifications de l'IHM induite par l'évolution de l'application elle-même, ce qui est un processus dynamique. 
La modélisation d'IHM intelligentes et auto­adaptatives se fait, dans le cadre de nos travaux par le biais de systèmes multiagents. Ces systèmes se placent entre l'interface et l'application ; ils permettent d'interpréter les actions de l'utilisateur sur l'application et de réadapter l'IHM au comportement de l'utilisateur de façon à faciliter ses actions sur l'application. 
Un autre aspect pris en compte dans nos travaux est celui du retour de l'application vers l'IHM. Il s'agit de tenir compte des modifications de l'environnement de l'application et d'en informer l'utilisateur de la façon la plus expressive pour lui. 
3. Une modélisation par agents
Nous décrivons, dans cette section, la modélisation d’une IHM intelligente qui puisse s’adapter au comportement de chaque utilisateur au moyen de différentes organisations d’agents. Ces organisations peuvent être regroupées dans deux grandes catégories :
•	Les agents “ utilisateur ” : il s’agit d’une organisation d’agents permettant à chaque utilisateur de personnaliser directement son IHM et d’interagir au moyens d’agents intelligents avec celle-ci.
•	Les agents “ interface ” : Ces agents gèrent les différents éléments de l’interface, de façon à répondre aux besoins contextuels de l’application. Ils ne sont pas directement en relation avec l’utilisateur.

Figure 2 — Modélisation multiagent d’une IHM intelligente.
3.1. Les agents “ utilisateur ”
La personnalisation des IHM par des agents permet d’introduire une plus grande souplesse dans celles-ci. En effet, il est alors possible pour l’utilisateur de faire appel à des agents qui se chargeront de personnaliser son interface automatiquement, de façon à répondre à ses besoins. Il s’agit de concevoir des IHM qui sont entièrement paramétrables par n’importe quel utilisateur, sans que celui-ci n’ait à faire d’efforts importants et coûteux en temps.
La possibilité d’augmenter le nombre d’agents et d’en inclure de nouveaux afin de disposer de nouveaux moyens d’interaction avec l’application informatique constitue une des caractéristiques essentielles qui nous amène à avoir recours à une organisation d’agents.
Les agents “ utilisateur ” sont des agents réactifs qui possèdent très peu de connaissances mais peuvent faire appel à certains agents d’Interface que nous décrivons dans le paragraphe suivant. 
3.2. Les agents “ interface ”
Les agents d’interface, comme nous avons commencé à le décrire dans le début de cette section, ont en charge la gestion de l’ensemble de l’Interface et notamment la modélisation de l’utilisateur. Nous distinguons quatre grandes catégories d’agents d’Interface que nous allons décrire dans la suite de ce paragraphe.
3.2.1. Les agents de maintenance de l’interface
Cette première organisation d’agents est caractérisée par des agents de type réactif [Drogoul 1993]. Leur rôle se limite à l’exploitation et à l’organisation des différents composants d’interface pour gérer l’IHM. Ils sont en mesure d’ajouter, de modifier, ou de supprimer des composants au sein de l’IHM. De nouveaux composants peuvent apparaître au sein du système par composition de composants existant. Tout composant étant géré par un agent de maintenance, l’arrivée d’un nouveau composant se fera par création d’un nouvel agent dont la structure sera prédéfinie au moyen d’une architecture d’agent de maintenance générique.
Les agents de maintenance peuvent être amenés à collaborer avec les agents “ utilisateur ” et les agents de construction de l’interface que nous décrivons dans le prochain paragraphe.
3.2.2. Les agents de construction
Il s’agit d’agents cognitifs [Wooldridge, Jennings 1994] qui possèdent une connaissance du domaine leur permettant de construire une IHM correspond aux besoins de représentation de ce domaine. Ils gèrent les éléments représentatifs des résultats de l’application mais aussi la structuration des différents éléments permettant les Interactions Homme-Machine.
Ils sont chargés, de façon globale, de l’interprétation graphique de l’état de l’application et de la représentativité expressive de cet état.
Leur interaction est essentiellement présente au sein de leur propre organisation, mais il existe aussi des interactions avec l’organisation d’agents de maintenance et l’organisation d’agents d’interface.
3.2.3. Les agents de capture 
Ces agents, que nous qualifions d’agents de capture, ont pour rôle de prendre en charge les demandes des utilisateurs destinées au système informatique. C’est pourquoi, ils “ capturent ” des éléments transmis par le biais de l’interface, pour en faire des éléments qui sont compréhensibles par le système informatique.
Ces agents sont qualifiés de cognitifs, car ils possèdent de la connaissance permettant d’effectuer la transformation précédemment décrite. Cette connaissance est acquise par le système lors de sa conception, par la constitution d’une ontologie.
3.2.4. Les agents de suivi de l’évolution de la situation
Ces agents sont chargés de présenter le suivi de l’application à l’utilisateur. Ils permettent d’informer ce dernier des changements brusques de la situation. Il faut rappeler que nous nous plaçons, pour nos travaux, dans le cadre d’applications conçues pour l’aide à la décision. Par exemple, dans une application où il existe une surveillance d’une courbe de température, il est parfois nécessaire d’informer en urgence l’utilisateur lors du dépassement d’un seuil.
L’organisation d’agents de suivi de la situation permet à partir d’une connaissance acquise à conception du système, de construire une analyse de l’évolution de la situation.
4. Implémentation et applications
La mise en œuvre du modèle précédemment décrit se fait au sein de deux applications : la première concerne la conception d’une application pour l’aide à la gestion de marché électronique; la seconde concerne la conception d’une application pour la surveillance de sites industriels à haut risques technologiques. Nous commençons dans cette section par présenter les choix d’implémentation que nous avons fait pour ces deux applications.
4.1. Les choix d’implémentation
La conception de ces deux applications nécessite la mise en œuvre d’une architecture distribuée, car il s’agit d’applications multi-utilisateurs opérant sur des sites géographiquement distants Ces utilisateurs interagissent au travers de différentes interfaces qui sont connectés à un système informatique basé sur une architecture supportant la norme CORBA. La plate-forme de développement de systèmes multiagents MadKit [Gutkneco, Ferber 1999] a été choisie pour sa souplesse d’utilisation et sa portabilité sur différents système d’exploitation. Cette plate-forme a été développée au sein du LIRMN à l’université de Montpellier dans le langage Java.
4.2. Application à la gestion de commerce électronique
Dans le cadre d’application d’aide au commerce par le biais de systèmes informatiques, les utilisateurs doivent pouvoir disposer d’un système leur permettant d’obtenir des informations de façon à les aider dans leurs prises de décision, c’est-à-dire de vendre ou d’acheter des produits dans les meilleures conditions. De même, l’IHM doit leur permettre d’effectuer des transactions d’achat et de ventes. Une dernière fonctionnalité de cette IHM est de pouvoir avertir l’utilisateur lorsque la situation subit un changement significatif qui peut l’intéresser. Pour mettre en œuvre ce dernier caractère, il est nécessaire de disposer d’un modèle de l’utilisateur et de ses habitudes.
4.3. Application à la surveillance de site industriel à risques
L’implantation de sites industriels à hauts risques technologiques (usines chimiques et pétrolières …) en milieu urbain rend nécessaire l’installation d’un réseau de sirènes d’alerte pour le confinement des populations [Durand 1999]. Le déclenchement de ces sirènes doit s’effectuer suite à l’occurrence d’un incident grave. Afin de permettre cette détection, il est souhaitable de disposer d’un système informatique permettant la surveillance des sites industriels dangereux. Ce système devra rendre compte de la situation au moyen d’IHM. Cette IHM devra permettre à l’opérateur d’appréhender rapidement la gravité de la situation. Elle doit être en mesure de présenter et de mettre en évidence les éléments pertinents de toute situation courante. Cette application sera mise en œuvre dans le cadre d’un projet ayant pour objectif l’installation d’un réseau de sirènes pour la ville du Havre.
5. Conclusion et perspectives
Dans cet article, nous avons présenté la conception d’une IHM intelligente et auto-adaptative basée sur le paradigme multi-agents. Ces travaux sont effectués dans un cadre plus large de la conception de système d’aide à la décision en partie décrits dans la section 4.
Nous mettons actuellement en œuvre ces applications. Nos futurs travaux sur l’IHM se focaliseront sur la prise en compte d’un modèle utilisateur doté de capacités d’apprentissage, lui permettant une plus grande adéquation avec la personnalité et les habitudes de chaque utilisateur.
Bibliographie
[Akoulchina 1998] 	Akoulchina I., SAGE: un agent intelligent d’interface pour un hypermédia à base de connaissances taxinomiques fonctionnant dans l’environnement du Web, Thése de doctorat de l’Université de PARIS 6, Octobre 1998.
[Briffault, Sabah 1996] Briffault X., Sabah G., SmallTalk, programmation orientée objet et développement d’applications, Editions Eyrolles 1996.
[Drogoul 1993] Drogoul A., De La Simulation Multi-Agents A La Resolution Collective de Problèmes, novembre 1993.
[Durand 1999] Durand S., Représentation des points de vue multiples dans une situation d’urgence : une modèlisation par organisation, Thése de doctorat de l’Université du Havre, décembre 1999.
[Gutkneco, Ferber 1999] 	Gutkneco O. and Ferber J., MadKit: Organizing heterogeneity with groups in a platform for multiple multi-agent systems, Technical report, LIRMN, UMR 9928, Université de Montpellier II, 1999.
[MadKit] 	MadKit, http://www.lirmn.fr/~gutkneco/madkit.
[Moulin 1998] 	Moulin I., Adaptation dynamique d’un système d’aide à l’apprentissage de la géométrie : Modèlisation par un système multiagents, Thése de doctorat de l’Université de Rouen, juin 1998.
[Wooldridge, Jennings 1994] 	Wooldridge M. and Jennings N.R., Agent theories, architectures and language: a survey., in M. Wooldridge and N. Jennings, (ed.), Intelligents Agents, ECAI, volume LNAI 890, 1994, 1:32.