• Aucun résultat trouvé

• le gestionnaire de l’adaptation COALA est le module d’application qui permet l’adaptation des application interactives pervasives aux contextes d’utilisation de mani `ere dynamique et instantan ´ee.

La figure 4.6 montre les principales fonctionnalit ´es de COALA que l’on peut d ´ecrire de la mani ´er ´e suivante :

Ê L’interface de l’application utilisateur qui permet `a la fois la collecte des pa- ram `etres de contexte au cours d’une situation d’utilisation et la visualisation de la liste des services adapt ´ees, suite `a une requ ˆete de recherche d’un service. Ë Une fois l’utilisateur connect ´e sur sa session, le gestionnaire COALA collecte

les param `etres et les traces de contexte des diff ´erentes situations courantes du contexte.

Ì Cette ´etape permet de g ´en ´erer automatiquement la carte de visite de la situa- tion contextuelle en cours.

Í La carte sous son format XML est envoy ´ee puis utilis ´ee par l’adaptateur COALA afin de permettre l’adaptation des besoins des utilisateurs par rapport

`a ses applications pervasives.

Î Au cours de cette ´etape, le noyau d’adaptation rec¸oit l’ensemble des traces li ´ees `a une situation d’utilisation de contexte, afin de les exploiter comme des param `etres contextuels r ´ecup ´er ´es par la CVCO.

Ï L’adaptateur, `a ce niveau, g `ere l’ontologie de la trac¸abilit ´e pour l’exploiter dans la t ˆache d’adaptation tout en la mettant en communication avec l’ontologie g ´en ´erale de contexte.

Ð Dans cette ´etape, comme les connaissances g ´en ´erales de contexte seront uti- lis ´ees dans la prise de d ´ecision des ´el ´ements d’adaptation, l’adaptateur met en relation les diff ´erentes connaissances situ ´ees dans l’ontologie de trac¸abilit ´e `a celles du contexte g ´en ´eral.

Ñ Au cours de cette ´etape, l’adaptateur interroge les ontologies en termes de connaissances selon les param `etres de contextes qu’il poss `ede pour une si- tuation courante, afin de g ´en ´erer les informations adapt ´ees `a ce contexte d’uti- lisation courant.

Ò `A ce stade, le gestionnaire de COALA rec¸oit l’ensemble des informations d’adaptation qui seront affich ´ees sous forme de services adapt ´es (service au- dio, service vid ´eo, . . .) sensibles au contexte d’utilisation.

4.3/

D ´

EVELOPPEMENT ET UTILISATION DE

COALA

Afin de tester les performances dans un contexte th ´eorique, nous avons impl ´ement ´e les diff ´erentes contributions dans des prototypes `a travers des sc ´enarios exp ´erimentaux qui permettent de tester la fonctionnalit ´e de notre plateforme COALA pour la mod ´elisation et l’adaptation des situations contextuelles. Nous avons impl ´ement ´e la gestion des in- formations des contextes `a travers la d ´efinition de nos diff ´erentes ontologies d ´edi ´ees `a cette t ˆache. Nous avons ´egalement mis en place notre plateforme COALA d’adaptation qui s’appuye sur des m ´ecanismes qui permettent de fournir les traces d’utilisation de contexte dans des situations courantes d’utilisation de ce contexte.

Nous avons impl ´ement ´e pour ce faire une carte de visite contextuelle qui permet de four- nir la trac¸abilit ´e de contexte lors de d’utilisation instantan ´ee tout en suivant le processus de Mapping qui permet de fournir au final une ontologie de trac¸abilit ´e qui sera en commu- nication avec l’ontologie g ´en ´erale de contexte et le processus d’adaptation dans COALA. Pour tester les diff ´erentes parties de la plateforme, nous avons impl ´ement ´e des proto- types permettant d’ ´evaluer les performances de nos contributions.

4.3.1/ CHOIX DES OUTILS D’IMPLEMENTATION´

Dans cette pr ´esente section, nous d ´ecrivons les choix des outils que nous avons utilis ´es pour d ´evelopper notre prototype de COALA. Pour la r ´ealisation de notre plateforme, nous avons utilis ´e diff ´erents outils. Ils permettent d’une part le d ´eveloppement de nos ontolo- gies, et d’autre part leur manipulation `a travers les requ ˆetes et leur communication. Nous avons choisi d’utiliser des outils qui permettent de r ´ealiser le processus de Map- ping du contenu XML r ´ecup ´er ´e dans la CVCO pour le transformer en une ontologie de trac¸abilit ´e de contexte. Ces diff ´erents outils sont pr ´esent ´es ci-dessous :

• Prot ´eg ´e 4.3 est un ´editeur d’ontologies et Framework de gestion des connais- sances et de d ´eveloppement des ontologies. Il a ´et ´e d ´evelopp ´e en open-source. Prot ´eg ´e permet de d ´evelopper une ontologie dans un domaine donn ´e (ontologie de domaine), de d ´efinir des formalit ´es d’entr ´ee des donn ´ees et de les acqu ´erir sous forme d’instances de cette ontologie. Pour cr ´eer de v ´eritables applications `a base de connaissances, il existe ´egalement une librairie Java qui peut ˆetre ´etendue pour cette t ˆache en utilisant un moteur d’inf ´erence pour le raisonnement et la d ´eduction de nouveaux faits par l’application de r `egles d’inf ´erences aux

instances de l’ontologie de domaine.

• Jena est une API Java open source qui contient des classes et des interfaces pour la manipulation des mod `eles d ´ecrits en RDF, RDFS et OWL. Jena permet ´egalement de stocker les connaissances et d’appliquer certains m ´ecanismes d’inf ´erences.

• SPARQL est un langage de requ ˆetes orient ´e donn ´ees. Il permet d’interroger les informations d ´etenues dans les ontologies. SPARQL prend la description de ce que l’application souhaite, sous forme de requ ˆetes et retourne ces informations sous la forme d’un ensemble de liaisons ou d’un graphe RDF.

• Java est une plateforme open-source bien connue qui nous a permis, en parti- culier dans le cadre de cette th `ese de manipuler de nombreux langages pour les ontologies (comme jena), et de r ´ealiser nos interfaces de communication,. . . • Trang est une API java open-source qui est construite autour d’un mod `ele d’objet

RELAX conc¸u pour soutenir la transformation de sch ´ema(XSD) d’un document XML. La sortie fournie par Trang donne un sch ´ema compr ´ehensif y compris les d ´efinitions, la fac¸on dont le sch ´ema a ´et ´e divis ´e dans le fichier, les annotations et les commentaires.

• XSOM : Xml Schema Object Model est une biblioth `eque Java qui permet aux applications d’analyser facilement des documents XML Schema et inspecte les informations contenues. Il permet de prendre sch ´ema XML en entr ´ee(input). • La derni `ere version d’Apache Maven 3.3.9 qui utilise un paradigme connu sous

le nom de Project Object Model (POM) ainsi que la distribution automatique de modules jar, a ´et ´e utilis ´ee.

Pour conclure, nous avons utilis ´e l’API du web s ´emantique Jena, le raisonneur Pellet et l’ ´editeur Prot ´eg ´e. Nous utilisons dans l’impl ´ementation de nos ontologies le langage OWL et l’ ´editeur Prot ´eg ´e car il poss `ede une interface utile pour d ´efinir l’ensemble des r `egles qui sont ensuite incluses dans le fichier de l’ontologie OWL. Quant `a Jena, c’ est une API Java qui contient des classes et des interfaces pour l’interaction avec les mod `eles RDF et OWL et les raisonneurs comme Pellet [Pars04]. Mapping XSD2OWL permet de g ´en ´erer automatiquement notre ontologie de trac¸abilit ´e `a partir du contenu des param `etres de contexte r ´ecup ´er ´es dans la CVCO. Nous avons suivi le processus de cartographie tout en utilisant l’ensemble des outils correspondants. En effet, nous avons commenc ´e par l’utilisation de l’API java Trang. Cet API, comme nous l’avons expliqu ´e pr ´ec ´edemment, permet de valider le contenu sous son format XML : XML-Sch ´ema (XSD). Nous utilisons la biblioth `eque Java XSOM (XML Sch ´ema Object Model) afin d’analyser par la suite le contenu XSD. La sortie g ´en ´er ´ee par XSOM est utilis ´ee comme une entr ´ee pour r ´ealiser la cartographie java XSD2OWL.

Suivant l’enchaˆınement de l’ensemble des ´etapes dans le processus de g ´en ´eration de l’ontologie de trac¸abilit ´e, nous utilisons l’API Jena pour les sorties de SXD2OWLMapping avec le serveur Apache Maven pour la production de s ´emantique suppl ´ementaire des donn ´ees RDF.

4.3.2/ IMPLEMENTATION DES ONTOLOGIES DANS´ COALA

L’impl ´ementation de nos ontologies (ontologie g ´en ´erale de contexte et l’ontologie de trac¸abilit ´e de ce contexte) dans COALA consiste tout d’abord `a l’ ´edition, sous Prot ´eg ´e 4.3, de ces ontologies avec le langage OWL. L’ontologie de trac¸abilit ´e a ´et ´e aliment ´ee par les traces de contexte r ´ecup ´er ´es dans la CVCO. Nous avons ´egalement utilis ´e les requ ˆetes SPARQL afin de r ´epondre aux requ ˆetes faites par les utilisateurs (staff hospi- talier par exemple) afin d’adapter les formes d’affichage dans interfaces g ´en ´er ´ees dans COALA. Cette organisation est repr ´esent ´ee dans la figure 4.7.