Adaptation d’architectures logicielles collaboratives dans les environnements ubiquitaires

Qand, au XVe siècle, Gutenberg inventa l’imprimerie typographique moderne, il commença une révolution qui changea complètement la façon dont nous accédons à l’information. L’écrit commença à devenir de plus en plus présent dans la vie courante des personnes, jusqu’au point de devenir naturel, faisant partie de notre environnement. L’arrivée de l’informatique a donné un nouvel élan à cette révolution. Depuis les années 1940, l’informatique a accéléré de plus en plus la diffusion de l’information et des connaissances. L’invention du transistor, la démocratisation de l’ordinateur personnel, la révolution du Web ou l’accès aux réseaux sociaux depuis des terminaux mobiles, sont des étapes qui ont de plus en plus rapproché les technologies de l’information et de la communication de notre vie de tous les jours. Quelle serait l’étape suivante ? Weiser [Wei91] proposa une réponse au début des années 1990 : les ordinateurs doivent s’intégrer dans notre environnement et devenir omniprésents. Weiser appela son idée l’informatique ubiquitaire (Ubiquitous Computing). Le dictionnaire définit le terme ubiquitaire comme quelque chose « qui est ou semble être partout à la fois. » Dans le cas de l’informatique, cet adjectif traduit que les dispositifs informatiques, capables de nous assister dans nos tâches quotidiennes, vont continuer à nous entourer progressivement. Nous allons passer d’une interaction de type « bureau », un-vers-un, vers une autre de type ubiquitaire, plusieursvers-plusieurs. Au lieu de nous asseoir face à un ordinateur pour lui demander des actions, une multitude d’ordinateurs, de capteurs et d’actionneurs vont interagir autour et avec nous dans nos bâtiments, dans nos moyens de transport, dans nos rues, etc. Ces dispositifs vont devenir de plus en plus petits et nombreux, ce qui va changer radicalement notre façon de les utiliser. Pour désigner ces espaces riches en dispositifs et en interactions on parle par abus de langage d’environnements ubiquitaires. L’informatique ubiquitaire est aussi appelée informatique diffuse, informatique pervasive, intelligence ambiante, informatique omniprésente, ou encore l’internet des objets. Cette dernière appellation souligne le fait que les machines ne communiqueront pas seulement avec les utilisateurs humains, mais elles pourront aussi le faire directement entre elles afin de rendre un service encore plus satisfaisant. L’idée de Weiser a suscité de nombreuses recherches autour des réseaux mobiles, de la miniaturisation des dispositifs informatiques, des nouvelles interfaces homme-machine, des intergiciels spécifiques, etc.

L’un des aspects les plus novateurs de l’informatique ubiquitaire est qu’elle essaye d’interagir avec l’utilisateur de la façon la plus naturelle possible. Dans la communication entre personnes, beaucoup de messages sont transmis de façon non verbale. Par exemple, dans une conversation, nous nous aidons implicitement des gestes ou des relations qu’ont les personnes avec d’autres personnes ou avec les objets. Dans l’informatique classique, les ordinateurs et les personnes utilisent peu d’informations non explicites dans leurs communications. L’un des buts de l’informatique ubiquitaire est de profiter de ce type d’information implicite, que l’on appelle contexte, afin que les machines puissent apprendre les souhaits et les intentions des utilisateurs [TE01]. Cela permettrait d’anticiper leurs besoins et d’améliorer leur interaction avec l’environnement.

Dans ce nouveau panorama introduit par l’informatique ubiquitaire, il est intéressant d’étudier comment ces systèmes peuvent assister la collaboration entre groupes d’utilisateurs humains. Les systèmes qui soutiennent la collaboration, bien étudiés dans le cas de l’informatique classique, peuvent être adaptés au paradigme ubiquitaire afin de tirer profit, notamment, des informations implicites contenues dans le contexte. Par exemple, dans un hôpital doté d’informatique ubiquitaire, l’intelligence ambiante proposerait aux spécialistes qui travaillent avec des malades qui ont des maladies similaires de collaborer lorsqu’ils se croisent dans un couloir. Une fois que les médecins décident de collaborer, le système leur permettrait de partager leurs fichiers cliniques ou de rentrer dans un salon de discussion virtuel avec d’autres médecins ayant travaillé sur le même sujet. Les possibilités de ce type de systèmes sont très grandes, mais elles n’ont été explorées que partiellement dans l’état actuel de l’avancement des recherches.

Informatique ubiquitaire

Le concept d’informatique ubiquitaire a été introduit par Weiser en 1991 dans son article The computer for the 21st Century [Wei91], concept qu’il a raffiné par la suite [Wei93, Wei94, Wei99]. Dans ces articles, Weiser propose une révolution étonnante dans les technologies de l’information afin qu’elles développent complètement leur potentiel : les ordinateurs doivent devenir invisibles. La façon de rendre les ordinateurs invisibles consiste à les intégrer avec les objets et les endroits que nous utilisons dans la vie quotidienne. En effet, Weiser affirme :

« Les technologies les plus profondes sont celles qui disparaissent. Elles se mêlent dans le tissu de la vie de tous les jours jusqu’au point où elles en deviennent indiscernables. » .

Weiser donne l’exemple de l’écriture : nous n’avons pas des textes seulement dans les livres ; presque tous les objets et endroits que nous côtoyons contiennent des mots écrits. La puissance de la « technologie de l’écriture » vient du fait qu’elle est parfaitement intégrée à notre vie et qu’elle devient omniprésente, à tel point que nous ne la remarquons plus. Dans le cas des ordinateurs, Weiser propose une démarche équivalente : ils doivent s’intégrer dans notre environnement de telle façon que nous ne soyons plus conscients ni de leur présence ni de leur fonctionnement. Les personnes pourront ainsi se concentrer sur leurs tâches tout en restant inconsciemment assistées par les machines. Les ordinateurs deviendront une aide, un moyen de réaliser des buts de haut niveau, sans devenir un but eux-mêmes. La mobilité et la miniaturisation des ordinateurs ne suffisent pas pour les rendre « invisibles », et l’évolution ne se réduit pas à un problème d’interface utilisateur ; elle implique des changements dans la conception même que nous avons des ordinateurs et dans la façon dont nous interagissons avec eux.

Dans ses travaux initiaux, Weiser a proposé quelques prototypes de dispositifs ubiquitaires appelés tabs, pads et boards. Les tabs sont l’équivalent électronique des petites notes papier que nous utilisons pour nous rappeler des choses. Les pads sont les équivalents des cahiers, des feuilles ou des magazines. Les boards sont des tableaux électroniques sur lesquels plusieurs personnes peuvent travailler ensemble. On peut considérer ces dispositifs comme les précurseurs des téléphones intelligents et des tablettes électroniques si populaires aujourd’hui. La vision révolutionnaire de Weiser a inspiré de nombreux travaux dans des domaines divers tels que les communications sans fil, les systèmes distribués, les architectures matérielles et logicielles, la mobilité, la domotique, etc. Bien que beaucoup de progrès aient été accomplis, de nombreuses études et expérimentations restent encore à faire pour poursuivre l’exploration de l’informatique ubiquitaire. Satyanarayanan a enrichi la vision de Weiser en faisant une étude des possibilités offertes par l’informatique ubiquitaire et des défis de recherche de ce domaine [Sat01]. Dans ce travail, Satyanarayanan explique que l’informatique ubiquitaire se base sur les systèmes distribués et sur l’informatique mobile, mais qu’elle y ajoute des caractéristiques comme les espaces intelligents, l’invisibilité, le passage à l’échelle localisé et la prise en compte des hétérogénéités. Les espaces intelligents mélangent deux mondes différents : les environnements physiques et les infrastructures de traitement de l’information. Dans les espaces intelligents, ces deux mondes peuvent s’influencer entre eux : par exemple, l’éclairage d’une pièce peut dépendre du profil électronique d’un utilisateur, et inversement un logiciel embarqué dans un dispositif personnel peut se comporter différemment en fonction de la situation géographique de l’appareil. Satyanarayanan propose le concept de distraction minimale comme approximation de l’invisibilité introduite par Weiser. L’idée est d’anticiper les besoins de l’utilisateur afin de lui demander explicitement des informations le moins de fois possible. Cela permet aux utilisateurs d’interagir avec les systèmes ubiquitaires au niveau du subconscient ; ils y prêteront attention seulement quand ce sera nécessaire. Le passage à l’échelle localisé est nécessaire car le nombre d’interactions dans les espaces intelligents fait que l’utilisation des ressources (par exemple l’énergie, la bande passante ou l’attention de l’utilisateur) devient critique. Les études existantes sur le passage à l’échelle ne considèrent pas la localisation des entités ; par exemple dans un serveur web, on essaie de servir le plus de clients possible indépendamment de leur situation géographique. Dans le cas des systèmes ubiquitaires, la plupart des interactions ont lieu entre des entités proches, ce qui peut être exploité pour améliorer le passage à l’échelle. En effet, quand un utilisateur s’éloigne d’un certain environnement ubiquitaire, on pourra réduire le nombre d’interactions qu’il a avec les éléments de cet environnement, car elles seront moins pertinentes.

Lors des premières étapes du déploiement de l’informatique ubiquitaire, les divers espaces intelligents restent très différents et cloisonnés entre eux en termes des possibilités qu’ils offrent. Par exemple, les réseaux sans fil seront disponibles dans certains de ces espaces, mais pas dans tous. La prise en compte des hétérogénéités est donc nécessaire, selon Satyanarayanan, afin de limiter l’impact que ces différences ont sur l’expérience des utilisateurs. Leurs dispositifs personnels devront s’adapter à ces hétérogénéités et les masquer autant que possible. Saha et Mukherjee ont également approfondi la description de l’informatique ubiquitaire [SM03]. Selon leur opinion, les capteurs fournissent des informations sur le contexte des systèmes ubiquitaires, ce qui rend ces derniers différents des systèmes classiques. Ces données facilitent une interaction plus naturelle avec les utilisateurs. Pour ces auteurs, l’informatique ubiquitaire suppose une étape supplémentaire dans l’évolution initiée avec l’informatique distribuée et poursuivie avec l’informatique mobile. Ils proposent également un modèle des environnements ubiquitaires qui inclut quatre domaines : les dispositifs, les réseaux, les intergiciels et les applications. En plus des innovations dans la mobilité et dans la capacité des dispositifs et des réseaux, l’évolution des logiciels, tant au niveau intergiciel qu’au niveau application, est nécessaire. L’intergiciel doit être capable d’interagir avec les réseaux environnants sans l’intervention de l’utilisateur afin de faciliter l’interconnexion des applications. Il doit aussi être capable de masquer l’hétérogénéité des réseaux disponibles. Les applications ubiquitaires mettront l’accent sur l’environnement et l’information contextuelle plutôt que sur la mobilité ou sur le Web. Dans leur travail, Saha et Mukerjee identifient quelques points clés de l’informatique ubiquitaire : en plus des concepts déjà mentionnés comme le passage à l’échelle, l’invisibilité et l’hétérogénéité, ils rajoutent l’intégration, la perception et l’intelligence. L’intégration est importante car, bien que beaucoup d’éléments de l’informatique ubiquitaire existent déjà et sont déployés dans des environnements réels, il ne suffit pas de les mettre ensemble pour créer un environnement ubiquitaire. Plus ces éléments sont nombreux, et plus l’intégration devient complexe. Il faut prendre en compte des aspects tels que la qualité de service, la sécurité, l’invisibilité ou la fiabilité. Saha et Mukherjee signalent que l’informatique autonome (autonomic computic), introduite par Kephart et Chess [KC03] pour la gestion de systèmes complexes, est nécessaire pour faciliter cette intégration.

La perception (ou sensibilité au contexte) est nécessaire afin de fournir un service satisfaisant et proactif aux utilisateurs. Cependant, elle introduit beaucoup de complexité. Par exemple, il faut pouvoir gérer l’incertitude, fusionner des données fournies par des capteurs différents (et qui parfois seront contradictoires), traiter ces informations en temps réel, etc. L’intelligence des systèmes dépendra de leur façon d’exploiter les données de contexte acquises. Ces données doivent être interprétées pour exécuter les actions adéquates. Des techniques de contrôle sont nécessaires pour adapter les actions du système aux informations perçues de l’environnement et de l’utilisateur.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1 Introduction
1.1 Contributions apportées dans ce mémoire
1.2 Organisation du mémoire
2 État de l’art et synthèse
2.1 Informatique ubiquitaire
2.2 Collaboration
2.2.1 Sessions
2.2.2 Gestion des sessions et déploiement
2.2.3 Collaboration et informatique ubiquitaire
2.3 La notion de contexte
2.3.1 Définition
2.3.2 Taxonomie des données contextuelles
2.3.3 Sensibilité au contexte
2.3.4 Solutions pour la prise en compte du contexte
2.4 Adaptation
2.4.1 Définition
2.4.2 Types d’adaptation
2.5 Intelligence artificielle et sémantique
2.5.1 Petit historique de l’intelligence artificielle
2.5.2 Champs d’étude de l’IA
2.5.3 Représentation des connaissances
2.5.4 Le Web Sémantique
2.6 Synthèse des travaux existants et positionnement
2.6.1 Gestion de la collaboration avec des ontologies
2.6.2 Systèmes collaboratifs pour les environnements ubiquitaires
Conclusion
3 Ontologie Générique de la Collaboration (GCO)
3.1 Introduction aux ontologies OWL
3.1.1 Définition des éléments d’une ontologie OWL
3.1.2 Raisonnement avec OWL
3.1.3 Règles SWRL
3.1.4 Outils pour le traitement des ontologies OWL et des règles SWRL
3.2 Description de GCO
3.2.1 Vue d’ensemble du modèle
3.2.2 Description détaillée
3.3 Règles associées à GCO et raisonnement
3.3.1 Règles associées à GCO
3.3.2 Inférence et traitement des règles
3.4 Principes de conception et propriétés de GCO
3.4.1 Langage
3.4.2 Contenu de l’ontologie
3.4.3 Généricité et extensibilité
3.4.4 Utilisation dans des architectures multi-niveaux
3.4.5 Simplicité et performances
3.4.6 Nomenclature
3.4.7 Autres principes suivis
3.5 Utilisation de GCO dans un système runtime
Conclusion
4 Facus : un Framework Adaptatif pour les SCUs
4.1 Approche d’adaptation multi-niveaux pour les SCUs
4.1.1 Approche multi-niveaux générique
4.1.2 Application de l’approche aux SCUs
4.2 Modèles et transformations de Facus
4.2.1 Modèles des niveaux
4.2.2 Transformations entre niveaux
4.3 Conception et implantation de Facus
4.3.1 Architecture de Facus
4.3.2 Acquisition des données de contexte
4.3.3 Service de déploiement de composants
4.3.4 Outils, langages et technologies utilisés dans Facus
4.3.5 Utilisation de Facus
4.3.6 Fonctionnement de Facus et processus d’adaptation
Conclusion
5 Conclusion

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *