• Aucun résultat trouvé

L’attention au contexte (context-awareness) est un thème de recherche partagé par un grand nombre de travaux tant dans le Génie Logiciel que dans les sciences humaines. Anind K. Dey est probablement l’auteur le plus cité de la littérature technico-scientifique associée.

Dey [DSA01] définit le contexte, c.-à-d. le contexte applicatif, selon trois catégories : les personnes, les objets, les lieux. La définition tripartite suivante du contexte est similaire :

• Le contexte de l’utilisateur : activité, localisation, préférences, liens sociétaux, description physique et médicale, humeur, etc.

• Le contexte du réseau d’équipements : présence, localisation, paramètres réseaux, fonctionnalités, qualités de service disponibles, etc.

• Le contexte physique : lieu, date, paramètres météorologiques, etc. 5.1.1 Le contexte de l'utilisateur

La satisfaction de l'utilisateur est souvent l'objectif premier des applications dans les environnements pervasifs tels que le réseau domestique. Satisfaire l'utilisateur est l'assister dans ses activités avec le service le plus approprié. Afin qu'un système puisse décider quel service est le plus approprié, le système nécessite la connaissance de paramètres dont la pertinence varie selon l'application.

L'application de messagerie ambiante est une des applications pervasives les plus représentatives [CSLB06] (cf. section 5.2.1). Cette application nécessite la connaissance de l'activité de l'utilisateur afin de lui procurer le service du niveau d'attention souhaité. La localisation dans la maison ou à l'extérieur est un des critères les plus importants afin que l'utilisateur puisse suivre les échanges à l'endroit où il se trouve. Les préférences de l'utilisateur influent sur le choix du meilleur équipement de restitution et le choix du rendu sensoriel. Les liens sociétaux permettent de donner des priorités d'une activité par rapport à une autre et des règles pour le partage du système par les utilisateurs. Par exemple, si l'utilisateur laisse entrer un voisin qu'il connaît peu, le système pourra supprimer l'affichage des échanges de la messagerie ou si l'utilisateur accueille un ami connaissant l'interlocuteur de la messagerie, le système pourra inviter l'ami dans la conversation et gérer ce second utilisateur comme le premier.

Ce contexte repose sur la remontée d'informations captées par différents équipements. Le clavier et la souris peuvent être d'excellents capteurs de contexte dans des applications classiques où ils sont utilisés. Dans une vision puriste de l'Informatique Pervasive – voire de l'Informatique Ambiante – ces interfaces classiques ne doivent pas être les interfaces d'entrées principales puisqu'elles sont l'exemple des interfaces génériques, localisées et complexes d'aujourd'hui. Afin que la remontée d'information soit plus "ambiante", l'information doit être captée par des équipements complémentaires : capteurs de pression, interfaces tactiles, micros, cameras, etc.

5.1.2 Le contexte de l'équipement

Le paramètre le plus important à prendre en compte dans un système composant les fonctions de plusieurs équipements est la présence de ceux-ci. Dans un système distribué, la possibilité que les équipements puissent ne pas être accessibles rend nécessaire des mécanismes détection de panne et de reconfiguration dans les applications. L'Informatique Pervasive prend pour hypothèse que toute entité peut se connecter et quitter le réseau à tout moment. Des protocoles de découverte complètent alors les mécanismes applicatifs afin de renseigner l'application sur l'état de présence des équipements [ZMN05].

Ensuite, les paramètres utiles pour la composition applicative sont le type de fonctions et de protocoles que fournit l'équipement. Ceux-ci ne varient habituellement pas au cours de l'utilisation de l'équipement, contrairement aux paramètres de présence et aux autres paramètres techniques comme ceux de qualité de services, de réseau, etc. Les paramètres mesurant la qualité de service – bande passante utilisée, niveau d'utilisation des capacités de calcul, etc. – sont l'objet de négociation de la qualité du service que doit fournir l'équipement à l'application demandeuse.

5.1.3 Le contexte physique

Le contexte physique comporte les paramètres qui n'appartiennent à aucun utilisateur et à aucun équipement. Les paramètres caractérisant les lieux où se situent l'action, les paramètres météorologiques, les objets non-électroniques, etc. peuvent être des informations pertinentes pour caractériser des situations applicatives.

5.2 Scénarios

Plusieurs scénarios illustrent les objectifs de reconfiguration dynamique. Ils s’appliquent à des situations où le service proposé à l’utilisateur est une composition de fonctionnalités procurés par des entités présentes dans l’environnement.

5.2.1 Scénarios domestiques

Les applications de Suivez-Moi (Follow-Me) audio-vidéo consistent à changer dynamiquement de lecteur multimédia au fur et à mesure que l’utilisateur change de position dans la maison (cf. Figure 15). [KiN05] définit une architecture simple d’application attentive à la localisation de l’utilisateur. Un point de contrôle lie une source auditive donnée au puits auditif – players de la Figure 16 – le plus proche de l’utilisateur. Les auteurs ont inventés leurs propres interfaces protocolaires pour les puits et les sources multimédia alors que le standard UPnP AV [UAV02] connaissait déjà un certain succès sur le marché des équipements électroniques.

Figure 15 Une radio qui suit l'utilisateur lorsqu'il change de pièce

remote control remote control player 2 player 2 streaming source streaming source geolocalization geolocalization player 1 player 1 player 3 player 3 control point Yellow pages

Figure 16 Architecture d’une radio qui suit l’utilisateur dans la maison Une application pervasive plus complète est la messagerie ambiante, c'est-à-dire la messagerie instantanée attentive au contexte. La messagerie ambiante adapte dynamiquement

les services d’entrée-sortie – clavier, souris, écran, haut-parleurs, microphone – les plus adéquats à l’activité de l’utilisateur. Lorsque ce dernier est assis devant la télévision, le système redirige la communication sur une partie de la télévision en utilisant un système Picture-Into-Picture. S’il fait une sieste sur le canapé, l’état des communications lui est transmis sous forme d’indications lumineuses et colorées sur une lampe ambiante. S’il vient à prendre une boisson dans le réfrigérateur, le système abandonne la télévision pour diffuser les messages écrits de ses interlocuteurs par les haut-parleurs via un système de diction de texte (text-to-speech) si aucun écran n’est disponible dans la cuisine. Lorsqu’il vient à son bureau, la messagerie instantanée lui est à nouveau visible par des interfaces habituelles.

La complexité de ces applications de communication ambiante se mesure à la variété des interfaces d’entrée-sortie gérées par le système et à la variété des situations que reconnaît le système [CSLB06]. La conception de la messagerie instantanée devient encore plus difficile si l’on ajoute une adaptation dynamique au nombre et à la qualité des utilisateurs présents. D'autres travaux montrent des scénarios domestiques simples, par exemple un système de suivi de taches quotidiennes et d'alerte de l'utilisateur en cas de situations dangereuses [VFL05].

5.2.2 Les décisions de reliaison proactive dans ces scénarios

Dans ce type de scénarios, les décisions du système sont des réactions aux changements de localisation et de la propension de l’utilisateur à communiquer.

La localisation de l’utilisateur peut être représentée sous des formes différentes selon l’application, par exemple une pièce d’un bâtiment ou la position géométrique dans un référentiel donné. La localisation des équipements suit aussi cette logique. La forme et l’orientation de ceux-ci ont aussi leur importance. En effet, un écran est dans le voisinage de l’utilisateur si l’utilisateur est localisé dans une zone définie devant lui. Les niveaux d’adéquation se mesurent dans ce cas par la distance de l’utilisateur à l’écran, l’orientation de celui-ci et la capacité visuelle de l’utilisateur.

La propension à communiquer de l’utilisateur est un paramètre-clef que tentent de mesurer les systèmes de messagerie ambiante par la détection de l’activité de l’utilisateur et par raisonnement sur ces préférences. Malheureusement, ce critère est très difficile à mesurer. Il n’est effectivement pas une conséquence directe des actes de l’utilisateur. Ce critère ne peut être évalué aujourd’hui que par des informations partielles. Le service IBM Grapevine [CSLB06] est un exemple de messagerie ambiante. Ces concepteurs notent de manière éloquente qu’il existe un fossé sémantique entre l’information que les capteurs de bas niveau et les programmes peuvent détecter et l’information de haut niveau qui caractérise la capacité et la propension de la personne à communiquer avec une autre personne.

Des conflits avec d’autres utilisateurs présents peuvent aussi intervenir. Les liens sociétaux entre les différents utilisateurs et la possibilité de coexistence des activités de chacun entrent dans la liste des préoccupations du système.

L’activité de communication débute lorsque le système est actif et qu’un utilisateur local ou distant tente d’entrer en communication par un des modes permis par l’application. Tant qu’elle est active, l’application évalue la localisation et la propension à communiquer de l’utilisateur grâce à un réseau de capteurs distribué dans la maison. Les capteurs de localisation peuvent être des caméras, des détecteurs infrarouges, des antennes wifi, des tapis RFID, etc. Les capteurs d’activité peuvent être des caméras, des surfaces sensitives dissimulées sur les portes et meubles que l’utilisateur touche fréquemment. Des capacités d’analyse importantes doivent être attachées à ce réseau de capteurs. Des règles complexes sont à définir afin d’évaluer l’activité et par inférence, la propension à communiquer de l’utilisateur.

Les événements pertinents provenant de la collecte de ces informations déclenchent la reconfiguration de l’application. Dans les situations visées par cette thèse, la reconfiguration est la liaison des meilleurs équipements d’entrée-sorties à l’application de communication vers l’extérieur. Dès que la localisation de l’utilisateur change au point qu’un équipement devienne plus pertinent qu’un autre, le système réagit pour lier l’équipement le plus proche. Dès que l’utilisateur change d’activité et qu’un seuil de propension à communiquer est franchi, l’équipement le plus adéquat remplace l’équipement en cours. 5.2.3 Autres scenarios

Les Environnements de Développement Intégrés (IDE en anglais) – comme le célèbre environnement eclipse – sont des sources de scénarios où de nombreuses taches de reconfiguration sont effectuées pour assister l’activité de l’utilisateur. Par exemple, eclipse définit la notion d’espace de travail (workspace) à partir d’une liste de documents visible selon un certain filtre et selon différents arrangements de fenêtres appelés perspectives. Toute perspective peut être considérée comme une composition de services, toute vue (fenêtre) comme un composant offrant des services. Le passage d’une perspective à une autre est alors une tache de reliaison. Un utilisateur d’eclipse tel qu’un développeur Java demande fréquemment le changement de vues et de perspectives afin de visualiser de la meilleure façon les projets à télécharger d’un répertoire SVN, les fichiers Java à éditer dans son projet de développement, les fichiers XML de configuration de son application, les étapes d’un déverminage pas à pas, etc. Une tache de reliaison intervient dès que l’utilisateur lance une action qui est vue d’une meilleure manière après un changement de perspective.

Posséder un système qui évalue et adopte le meilleur contrat d’accès téléphonique disponible à tout moment de son abonnement est un autre scénario qui demande la reliaison dynamique d’un client et d’un service. Le service recherché est qualifié selon des critères comme le prix, la durée d’abonnement minimale, etc. Les préférences de l’utilisateur sont la durée moyenne des appels passés dans les mois précédents, l’horaire habituel des appels passés, etc. [BFTZ05] décrit un tel scenario.