• Aucun résultat trouvé

Pour la mod ´elisation de la sensibilit ´e au contexte des applications r ´eparties orient ´ees ob- jet, Stephen et al. [Yau01] ont propos ´e une grammaire permettant la description d’inter- faces sensibles au contexte baptis ´ee CA-IDL (Context Aware-Interface Description Lan- guage. Ce langage permet de d ´ecrire les contextes (cf figure 1.8) auxquels l’application est sensible, les situations pertinentes et les actions d’adaptation d’une telle application

orient ´ee objet. Pour le d ´eveloppeur, au lieu d’utiliser des m ´ecanismes de transformation statiques de contexte, il suffit de sp ´ecifier l’interface `a mod ´eliser dans un fichier CA-IDL, et ce dernier permet la g ´en ´eration de la sensibilit ´e au contexte de l’interface d ´esign ´ee dans son ADC (Adaptive Object container).

La plateforme, qui fournit le langage CA-IDL [Tsel04], organise l’environnement de tra- vail `a travers la d ´efinition principalement de trois cat ´egories de contexte observable (cf figure 1.9). Chaque cat ´egorie est constitu ´ee d’un nombre limit ´e de types de contexte. La cat ´egorie DeviceSpecificContext permet de d ´ecrire des informations de contexte sp ´ecifiques `a une machine. La cat ´egorie EnvironmentSpecificContext permet de d ´ecrire des informations de contexte sp ´ecifiques `a l’environnement qui entoure l’application. En- fin, la cat ´egorie UserSpecificContext permet de d ´ecrire des informations de contexte sp ´ecifiques `a l’utilisateur.

Par rapport aux approches paires/triplets, les approches orient ´ees mod `ele uti- lisent un support formel plus riche pour d ´ecrire le contexte. En effet, ces approches orient ´ees mod `ele sont des approches prometteuses car elles uti- lisent non seulement un mod `ele formel pour d ´ecrire le contexte, mais elle offrent ´egalement un m ´eta-mod `ele de description qui peut ˆetre r ´eutilis ´e par plu- sieurs applications. Cela offre aux d ´eveloppeurs d’applications la possibilit ´e de r ´eutiliser le mod `ele pour d’autres applications.

Pour les mod ´elisations existantes bas ´ees sur UML (comme ContextUML par exemple) la description des relations entre les informations de contexte est une ´etape indispensable dans le processus de mod ´elisation, mais en revanche elles ne prennent pas en compte la description des d ´ependances entre ces infor- mations, ni la qualit ´e ou la validit ´e temporelle des donn ´ees d ´ecrites. Dans le m ˆeme cercle des approches orient ´ees mod `ele, CML est venu rem ´edier `a cer- tains de ces manques en proposant un mod `ele avec visualisation graphique qui permet de typer le contexte, et de d ´ecrire un ensemble de relations entre plu- sieurs contextes observables.

Les mod ´elisations bas ´ees sur un langage de balises permettent, quant `a elles, de fournir une description des contextes simples, sans offrir la possibilit ´e de d ´ecrire des relations de d ´erivation et de d ´ependance entre ces diff ´erentes infor- mations.

Enfin le langage CA-IDL permet non seulement la description des situations per- tinentes de l’application sensible au contexte mais ´egalement l’ensemble d’ac- tions d’adaptation avec les conditions de leur d ´eclenchement. G ´en ´eralement, ces diff ´erentes conditions repr ´esentent des expressions r ´eguli `eres entre les si- tuations pertinentes. De ce fait, CA-IDL offre une grammaire qui permet de d ´ecrire la sensibilit ´e au contexte, mais cette grammaire reste limit ´ee dans la me- sure o `u elle n’offre pas la possibilit ´e d’ajouter de nouvelles sources de contexte et de nouveaux observables sans modifier la grammaire de CA-IDL, ni le moyen de d ´ecrire l’interpr ´etation d’un contexte de haut niveau.

Discussion

Le tableau suivant donne un r ´ecapitulatif sur les approches orient ´ees mod `ele formel. En effet, pour cette ´etude des mod `eles formels en termes de mod ´elisation du contexte,

une comparaison est faite sur leurs ´el ´ements fondamentaux. Notre comparaison porte particuli `erement sur :

• Cat ´egorie du contexte :

Une cat ´egorie de l’information de contexte est distingu ´ee selon Utilisateur (U), Physique (P), Spatio-Temporel (ST) et Organisationnel (O). Pour chaque travail, les cat ´egories de contexte consid ´er ´ees sont v ´erifi ´ees.

• La base de mod ´elisation :

Elle permet de d ´ecrire le langage utilis ´e par chaque approche d’adaptation au contexte.

• Le type de mod ´elisation :

Il permet la description des situations pertinentes, `a travers les diff ´erentes m ´ethodes d’adaptation au contexte, de mod ´elisation des relations de d ´ependance (RD), des r `egles d’adaptation (RA) et des sources du contexte (SC) qui semblent

ˆetre tr `es int ´eressantes pour automatiser le processus d’adaptation au contexte. • Le type d’adaptation :

Une adaptation au contexte peut ˆetre diff ´erenci ´ee selon une r ´eaction ou une int ´egration.

• La qualit ´e :

Elle permet de d ´eterminer la qualit ´e des informations de contexte donn ´ees dans l’ensemble de l’approche d’adaptation : chaque approche ayant son propre mod ´ele formel.

D’apr `es le r ´esum ´e de l’ensemble de caract ´eristiques des approches orient ´ees mod `eles formels (cf table 1.1), nous constatons que la plupart des mod `eles ne permettent pas de d ´ecrire les ´etats du contexte qui n ´ecessitent une adaptation de l’application. Les mod ´elisations `a base de ContextUML, CML et CA-IDL se distinguent par le fait qu’elles permettent la description des situations pertinentes `a travers la mod ´elisation des m ´ethodes d’adaptation, la mod ´elisation des relations de d ´ependance, des r `egles d’adaptation et des sources du contexte que semblent ˆetre int ´eressantes pour automa- tiser le processus d’adaptation au contexte. Mais malheureusement, ces m ´ethodes ne permettent pas de d ´ecrire la mani `ere d’interpr ´eter un contexte de haut niveau. De plus, les mod ´elisations CA-IDL n’offrent pas la possibilit ´e de d ´ecrire les sources de contexte.

1.2.5/ LES APPROCHES DE LA SENSIBILISATION AU CONTEXTE ORIENTEES´ PROFILS

LE LANGAGECOMPOSITE CAPABILITY/PREFERENCE PROFILE

La premi `ere d ´efinition de profils de contexte a ´et ´e r ´ealis ´ee `a l’aide du langage Composite Capabilities/Preference Profiles : nomm ´e CC/PP. En effet, CC/PP est une recommanda- tion du W3C (World Wide Web Consortium) bas ´ee sur RDF (Resource Description Fra- mework) pour la repr ´esentation de profils qui permet de d ´ecrire les capacit ´es d’un dispo- sitif mobile ainsi que les pr ´ef ´erences de l’utilisateur. CC/PP est utilis ´e pour personnaliser le contenu sur la base des capacit ´es d’un terminal et des pr ´ef ´erences de l’utilisateur `a travers une structure compos ´ee d’une hi ´erarchie `a deux niveaux : des composants (en- tit ´es observables) et des ´etiquettes (observations). Cette structure de profil est constitu ´ee de :

• Une description en RDF avec une grammaire XML pour une repr ´esentation par graphes orient ´es ´etiquet ´es.

• Un regroupement de diff ´erentes caract ´eristiques du terminal et de pr ´ef ´erences utilisateurs.

• Une hi ´erarchisation de description des deux niveaux (composants et ´etiquettes). Dans cette structure, chaque profil a un certain nombre de composants et chaque com- posant poss `ede des caract ´eristiques qui repr ´esentent une description de profil d’une per- sonne (client).

La structure de profil CC/PP est tr `es descriptive, mais il manque la structuration. En effet, ce langage limite la description de profils complexes notamment en contraignant une hi ´erarchie stricte `a deux niveaux. De plus, ce langage ne permet pas la description de relations et de contraintes complexes entre les informations de contexte . Enfin, pour int ´egrer de nouveaux ´el ´ements, il est n ´ecessaire d’ ´etendre le vocabulaire de CC/PP car il n’est pas riche et il est restreint `a la description de profil.

Certaines tentatives d’extension de CC/PP ont ´et ´e effectu ´ees par Held et al. Dans [Held02], les auteurs ont propos ´e le Comprehensive Structured Context Profile (CSCP) qui permet d’avoir une description du contexte qui ne se limite pas seulement `a deux niveaux hi ´erarchiques.

LE LANGAGE DE DESCRIPTIONUser Agent Profile

UAProf (User Agent Profile d ´ecrit dans [Chan11] propose une extension du langage CC/PP dans lequel Les ´el ´ements de vocabulaire dans UAProf sont utilis ´es dans la m ˆeme structure de base que celle employ ´ee pour CC/PP. En effet, UAProf permet une descrip- tion pr ´ecise des capacit ´es des dispositifs sans fil. Entre autres, il d ´ecrit des ´el ´ements tels que la taille de l’ ´ecran, les capacit ´es multim ´edias, . . ..

UAProf est un standard exploit ´e par des milliers d’applications mobiles mais ce langage se limite exclusivement `a la description de caract ´eristiques mat ´erielles des applications sans fils.

LE LANGAGE DE DESCRIPTIONComprehensive Structured Context Profile

Le langage de description Comprehensive Structured Context Profiles (CSCP) est une extension qui a ´et ´e propos ´ee pour r ´esoudre les probl `emes de Composite Capabi- lity/Preference Profile. En effet, contrairement `a CC/PP, CSCP permet de sp ´ecifier une description du contexte non limit ´ee `a deux niveaux hi ´erarchiques.

CSCP se base ´egalement sur le formalisme RDF (cf [Buch03]). Ce langage permet de d ´ecrire la localisation, les caract ´eristiques du r ´eseau et les d ´ependances des applica- tions. Il pr ´esente ´egalement une structure multi-niveaux qui est extensible. Il n’impose pas de structure hi ´erarchique fixe pour la notion de contexte. Ainsi, il permet la fusion des fragments de profil qui sont dynamiquement r ´ecup ´er ´es. Comme l’illustre la figure 1.10, ce langage de description exprime les informations de contexte au moyen d’un ensemble de sessions de profils (cf [Ach12]) :

• La session de profil de utilisateur :

Cette session est compos ´ee de caract ´eristiques statiques de l’utilisateur (nom, pr ´enom, . . . ) et de ses caract ´eristiques ´evolutives qui sont d ´efinies par son envi- ronnement (lieu, temps, . . . ) ainsi que de ses pr ´ef ´erences.

• La session de profil de l’appareil :

Cette session int `egre le contexte mat ´eriel (le type de dispositif, la taille de l’ ´ecran, . . . ), ainsi que le contexte du logiciel de syst `eme d’exploitation, la version, . . . • La session de profil de connectivit ´e :

Cette session d ´ecrit la connexion pr ´esent ´ee par l’utilisateur du syst `eme (la dur ´ee de connexion, la date de connexion, . . . ).