Thèse soutenue

AxSeL : un intergiciel pour le déploiement contextuel et autonome de services dans les environnements pervasifs

FR  |  
EN
Auteur / Autrice : Amira Ben Hamida
Direction : Mohamed Ben AhmedFrédéric Le MouëlStéphane Ubeda
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2010
Etablissement(s) : Lyon, INSA en cotutelle avec Université Manouba. Ecole Nationale des Sciences informatiques, Tunis
Ecole(s) doctorale(s) : Ecole doctorale Informatique et Information Pour La Societe. 1992-2009 (Lyon ; 1992-2008)
Partenaire(s) de recherche : Laboratoire : Institut national de recherche en informatique et en automatique. Centre de recherche de l'université Grenoble Alpes (France) - CITI - Centre d'Innovation en Télécommunications et Intégration de services (Lyon, INSA) - Laboratoire RIADI (La Manouba)

Mots clés

FR

Mots clés contrôlés

Résumé

FR  |  
EN

Les environnements pervasifs sont apparus avec l'essor des technologies de communication couplé avec celui des terminaux mobiles. Parallèlement à cela, une évolution logicielle s'est effectuée en passant de l'informatique systémique globale à une approche modulaire et granulaire. Déployer une application sur un dispositif mobile reste toutefois une problématique ouverte, à cause de l'inadéquation de celle-ci aux contraintes matérielles et contextuelles de tels environnements. En effet, les applications usuelles nécessitent plus de ressources que ne peuvent fournir les terminaux mobiles. Pour pallier cela, nous proposons une solution qui s'inscrit à la frontière de ces deux mondes : celui des environnements pervasifs contraints et celui des applications orientées services. Dans cette thèse nous présentons une approche pour le déploiement contextuel et autonome d'applications orientées services dans des environnements contraints : AxSeL -A conteXtual SErvice Loader- adapte le déploiement des applications en prenant en compte le contexte des services, la mémoire d'exécution disponible sur le dispositif et les préférences utilisateur. Dans les environnements pervasifs, les services fournis sont disséminés sur les dispositifs mobiles ou des serveurs de dépôts. L'accès à ceux-ci se fait grâce à des descripteurs de services intégrant l'ensemble des dépendances d'un service et sa localisation. Pour déployer une application il est nécessaire de résoudre l'ensemble de ses dépendances en termes de services. A partir de l'agrégation des descripteurs des services AxSeL construit sa propre représentation de l'application sous la forme d'un graphe de dépendances logiques de services. Les nœuds de ce graphe représentent les services et les composants les implantant et les arcs les dépendances d'exécution et de déploiement entre ceux-ci. Le graphe fournit une représentation intuitive et flexible des dépendances et nous permet de distinguer le niveau de l'exécution (services) de celui du déploiement (composants). AxSeL opère à la suite un processus de décision du chargement prenant en compte les caractéristiques des services, celles de la plate-forme matérielle et enfin les préférences utilisateurs. La décision est prise grâce à une technique de coloration sous contraintes du graphe de dépendances des services. En cas de changement du contexte, par exemple modification du dépôt ou des caractéristiques des services, de la mémoire disponible sur la machine ou des préférences utilisateurs, AxSeL le détecte et déclenche un processus d'adaptation qui intègre les changements perçus dans le processus décisionnel du déploiement. Ainsi, AxSeL propose une représentation globale et flexible pour les applications orientées services et des heuristiques permettant leur déploiement contextuel et autonome. Nous avons validé les concepts de notre approche à travers un prototype AxSeL4OSGi en utilisant une machine virtuelle java comme support d'exécution et OSGi comme plate-forme de développement et d'exécution de services. Les performances de notre plate-forme sont évaluées et comparés à une approche similaire à travers des tests réalisés dans des contextes de variation de la structure des graphes applicatifs, de la mémoire disponible sur la machine, des caractéristiques des services et des préférences utilisateurs.