• Aucun résultat trouvé

Étude comparative des approches de création d’applications sensibles au contexte

1.5 L’adaptation logicielle dans les environnements ubiquitaires

1.5.2 Les applications sensibles au contexte comme solution à l’adaptation dans les envi ronnements ubiquitaires

1.5.2.4 Étude comparative des approches de création d’applications sensibles au contexte

Afin d’étudier les approches de création d’applications sensibles au contexte, proposées dans la litté- rature, nous avons défini un certain nombre de critères de comparaison nous permettant de classifier les travaux existants.

Critères de comparaison des approches existantes Nous avons défini six critères de comparaisons pour classifier les approches de création d’applications sensibles au contexte :

• l’environnement d’exécution

De la même manière que nous l’avons vu pour les approches d’adaptation de composants et d’ap- plications conçues à base de composants, la sensibilisation au contexte dépend de l’environnement d’exécution de l’application. Ce dernier peut être un environnement mono-machine, un environ- nement distribué, un environnement mobile ou bien ubiquitaire ;

• le contenu du contexte

Comme nous l’avons dit précédemment, il n’existe pas de standard pour définir le contexte. De ce fait, les travaux menés dans le cadre d’adaptation à un contexte comme c’est le cas pour les ap- plications ubiquitaires, définissent eux même leur contexte et ce qu’il contient. Ainsi, le contexte peut contenir différents éléments tels que :

1. les caractéristiques techniques : elles regroupent l’ensemble des informations concernant le support d’exécution de l’application (par exemple, la puissance du processeur, capacité de stockage, bande passante du réseau, etc.) ;

2. l’environnement proche de l’interaction entre l’application et l’utilisateur : il regroupe toutes les informations concernant l’environnement d’exécution de l’application (par exemple, le bruit, température, luminosité, qualité de l’air, météo, humidité, etc.) ;

3. la localisation : elle regroupe toutes les informations concernant la position géographique de l’utilisateur suivant un référentiel préalablement défini (par exemple, GPS, RF, etc.) ; 4. le temps : il contient les informations relatives le moment d’utilisation de l’application (date,

heure, etc.) ;

5. le profil de l’utilisateur : il regroupe toutes les informations relatives à l’utilisateur de l’ap- plication telles que sa situation sociale, ses mesures physiologiques, ses activités, etc. ; 6. autres : d’autres éléments du contexte peuvent également être pris en compte tels que la vi-

tesse de l’utilisateur au moment de son interaction avec l’application, son accélération, son orientation, les évènements d’actualité, etc. Ces éléments sont généralement spécifiques à une application. Ils ne sont généralement pas pris en compte de manière automatique. • les propriétés de l’environnement prises en compte

caractéristiques spécifiques. Par exemple, concernant les environnements ubiquitaires, les appli- cations doivent être capable de fonctionner malgré les variations des ressources disponibles, les connexions/déconnections des machines de déploiement, etc. De ce fait, un critère de classifica- tion des approches de création d’applications sensible au contexte est relatif à la prise en compte des propriétés de l’environnement dans lequel ils se positionnent ;

• la modélisation du contexte

Le contexte d’une application peut être modélisé de différentes manières. Les techniques de mo- délisation les plus utilisées dans la littérature sont les suivantes :

1. données brutes acquises à la volée

Dans ce cas, les informations contextuelles sont directement accessibles à l’application (i.e. interrogation directe des capteurs). Aucun historique sur les données n’est conservé. Cette stratégie peut être utilisée pour la prise en compte de peu d’éléments contextuels et dont la prise en compte ne se fait que peu fréquemment. Ces données n’ont généralement pas besoin ni d’être interprétées, ni d’être agrégées ;

2. association (Description/Valeur)

L’une des premières manières de modéliser le contexte fut proposée par Schilit en 1993 [111]. Elle consiste à créer des associations contenant d’une part le nom de l’élément de contexte et d’autre part, sa valeur. Cette stratégie simpliste permet de stocker le contexte. Cependant, elle peut se révéler rapidement inutilisable dans le cas où le contexte contient un grand nombre d’éléments évoluant en permanence ;

3. arborescence

Les données contextuelles peuvent être représentées sous forme d’arbre. Cette stratégie per- met d’obtenir facilement des vues hiérarchiques sur le contexte. Les éléments sont regroupés en fonction de leur catégorie. Les feuilles représentent les valeurs des éléments de base acquis par l’intermédiaire de capteurs et les nœuds correspondent à des agrégats de données. Pour accéder à un élément du contexte, il suffit alors de fournir son chemin d’accès (i.e. branche de l’arbre de modélisation du contexte). Une des techniques couramment utilisée pour mettre en œuvre cette stratégie est la création de données XML interrogeables en utilisant des langages de type XPath [47] ;

4. architecture en couches

Le contexte peut également être modélisé sous la forme d’une architecture en couches [112]. La couche la plus basse est la couche matérielle. Elle contient les capteurs qui vont permettre l’acquisition du contexte. Les autres couches sont chargées d’obtenir des vues plus abstraites sur le contexte de par la mise en œuvre d’outils d’interprétation ou d’agrégation de données qui vont traiter les signaux provenant des couches les plus basses ;

5. orientée objet

Dans le cadre d’une modélisation orientée objet [65], chaque élément du contexte est re- présenté par un objet. Les attributs de cet objet correspondent aux propriétés de l’élément concerné. De plus, les différents objets peuvent être reliés entre eux grâce aux relations d’as-

sociation, d’héritage, etc. Ainsi, le contexte pourra être structuré en fonction des dépendances entre ses éléments ;

6. ontologie

Les ontologies peuvent également être utilisées pour modéliser le contexte d’exécution d’une application. Une ontologie est un ensemble de termes hiérarchiquement structurés pour dé- crire un domaine et pouvant être utilisés comme squelette pour une base de connaissance [122]. Ainsi, une ontologie est un formalisme de représentation permettant de modéliser des entités ainsi que leur relation sémantique. Cette stratégie permet de faciliter la recherche d’information sur le contexte de par l’utilisation de techniques définies dans la communauté web sémantique [66].

La modélisation du contexte est primordiale dans la conception d’applications sensibles au contexte. Cependant, étant donnée la grande diversité des éléments mis en jeu, il est impossible de fournir une modélisation générique du contexte. En fait, le choix de la modélisation du contexte est adapté au domaine d’utilisation de ces données ;

• le type de sensibilisation au contexte

La sensibilisation d’une application à son contexte peut être réalisée de différentes manières. Ainsi, trois types de sensibilisations peuvent être référencés [11] :

1. le context-aware actif : l’application change automatiquement de comportement en fonction des informations captées. Ce type de sensibilisation est notamment utilisé dans le cadre d’ap- proche d’auto-adaptation ;

2. le context-aware passif : l’application présente à l’utilisateur une mise à jour du contexte ou bien des informations sur l’environnement et laisse à l’utilisateur le choix de décider ce que l’application doit faire ;

3. la personnalisation : l’utilisateur spécifie lui-même ses propres paramètres pour que l’appli- cation sache ce que faire si elle est dans telle ou telle situation.

• le type d’applications cibles

Enfin, le dernier critère de comparaison que nous avons choisi est relatif au type d’application destinée à acquérir et à traiter des informations sur le contexte. Ces dernières peuvent être conçues en utilisant différentes technologies telles que l’orienté objet, les composants logiciels, etc.

Étude comparative des approches existantes Nous avons pu constater que la majorité des travaux existants relatifs à la conception d’applications sensibles au contexte (voir Tableau 1.11) laisse entière- ment à la charge de l’administrateur de l’application la définition du contexte dit pertinent (i.e. ayant un impact sur l’application) bien que le type de sensibilisation reste du « context-aware » actif. Cette straté- gie est notamment due aux approches d’adaptation qui permettent pour la plupart uniquement d’adapter le comportement comme nous l’avons vue dans la section précédente. En effet, le comportement d’une application étant spécifique à celle-ci, il est impossible de prévoir de manière générique les évènements

qui vont l’influencer. Cependant, concernant la structure d’une application, il est possible de déterminer de manière générique certains éléments du contexte qui peuvent l’influencer (voir Chapitre 4).

Travaux Environnement Éléments du contexte Propriétés prises en compte Modélisation du contexte Applications cibles

ACEEL [44] Ubiquitaire Caractéristiques techniques Variation des ressources disponibles Modélisation objet Composants logiciels Mobile

Cyberguide [1] Mobile Localisation Variation de la localisation de l’utilisateur Données brutes n.s. Context-Fabric [68] n.s. n.s. - Modèle spécifique n.s. Context-Toolkit [110] n.s. n.s. - Modèle en couches n.s.

Wildcat [47] Ubiquitaire n.s. - Arborescence XML Composants logiciels Casa [95] Ubiquitaire Caractéristiques techniques Variation des caractéristiques du terminal Modèle en couches Composants logiciels

Mobile

Plasma [81] Ubiquitaire Caractéristiques techniques Variation des caractéristiques du terminal Données brutes Composants logiciels Mobile Variation de sa connexion réseau

Molène [114] Mobile Caractéristiques techniques Variation des caractéristiques du réseau Modèle en couches Composants logiciels CADeComp [3] Mobile Utilisateur Variation de la localisation de l’utilisateur Arborescence XML Composants logiciels

Caractéristiques techniques Variation de sa connexion réseau Autres Variation des caractéristiques du terminal

Variation de l’environnement

Concerto [46] Systèmes distribués Caractéristiques techniques Variation des ressources disponibles Modélisation objet Composants logiciels Grids

Rossi et al [107] Mobile Utilisateur Variation de la position de l’utilisateur Données brutes Objets Environnement Variation de l’environnement

Localisation Temps

Table 1.11 – Tableau comparatif des approches de création d’applications sensibles au contexte

Outline

Documents relatifs