Intergiciels et algorithmique pour les environnements ubiquitaires

  • Membres : Djamel Belaïd, Guy Bernard (HDR, jusqu’au 1/1/2011, retraité), Sophie Chabridon, Denis Conan, Claire Lecocq, Sébastien Leriche (jusqu’au 1/2/2013, mutation à l’ENAC), Chantal Taconet (HDR) ;
  • Doctorants : 9 dont 5 soutenues
  • Post-doctorants : Zakia Iman Kazi Aoul (mai 2008 à février 2009), Alain Ozanne (décembre 2008 à mars 2011)
  • Ingénieurs de recherche : Cao-Cuong Ngo (décembre 2009 à décembre 2010), Cong Kinh Nguyen (novembre 2008 à décembre 2010 )

Nous nous intéressons aux algorithmes et services intergiciels pour les environnements mobiles (équipements,composants logiciels et utilisateurs mobiles), ouverts (arrivée et départ de nouveaux équipements et services), ambiants (adaptation du système à l’environnement ambiant) et diffus (les dispositifs et systèmes informatiques disparaissent). Les contributions sur la période s’articulent en quatre points : algorithmique répartie pour réseaux très dynamiques, services intergiciels répartis pour l’observation du système et de son environnement ambiant, intergiciels et algorithmes répartis pour les adaptations dynamiques, et déploiement autonomique.

Algorithmique répartie pour réseaux très dynamiques

En vue de la fiabilisation des applications réparties en environnement ubiquitaire, nous nous intéressons à la problématique de la tolérance aux entraves spécifiques à ces environnements, plus précisément les déconnexions et les partitionnements, en plus des défaillances. Nos travaux sur cette problématique ciblent la construction de solutions algorithmiques pour les services intergiciels de communication de groupe. Nous avons commencé par étudier plus particulièrement la partie gérant la formation des groupes. Par analogie avec l’approche que nous suivons en matière d’adaptation dynamique en cours d’exécution des applications ubiquitaires sensibles au contexte, les solutions algorithmiques que nous développons font collaborer les algorithmes des services intergiciels avec ceux de la partie applicative : c’est l’approche collaborative mise en avant dans [1][Satyanarayanan, 1996] et [Satyanarayanan, 2001] [2]. Notamment, le résultat d’impossibilité de la gestion de groupe démontré dans [Fischer et al., 1985] [3] et [Chandra et al., 1996] [4implique que le service de gestion de groupe ne peut pas fournir seul (comme dans une approche par « transparence ») des informations de qualité suffisante sur les défaillances, les déconnexions, et les partitionnements
dans les réseaux très dynamiques.

Nous avons commencé par étudier la différence entre la détection de défaillances et la détection de déconnexions, puis de partitionnements [254, 182]. Ensuite, nous avons travaillé à l’uniformisation du traitement de la détection de ces trois types d’entraves pour construire un service de gestion de groupe partitionnable pour systèmes répartis très fortement dynamiques. Comme montré dans [Pleish et al., 2008] [5], aucune des spécifications existantes dans la littérature ne satisfait les deux exigences antagonistes suivantes : 1) être assez forte pour fournir des garanties utiles aux applications réparties dans les systèmes partitionnables, 2) être assez faible pour être résoluble. Dans
nos travaux, nous fournissons à notre connaissance la première spécification respectant ces deux exigences [122, 272, 309]. Nous commençons par définir un modèle de système réparti adapté aux caractéristiques des réseaux mobiles spontanés. Concernant la première exigence, notre spécification de gestion de groupe partitionnable évite l’apparition de vues dites capricieuses : l’apparition ou la disparition d’un processus d’un groupe est la conséquence d’un événement effectivement survenu dans le monde réel. Pour montrer le respect de la seconde exigence, nous implantons la spécification en transformant le problème en une séquence de consensus dits abandonnables, chaque consensus étant constitué d’un détecteur ultime des - participants d’une partition et d’un registre ultime par partition. Une thèse a été soutenue en 2012 (Léon Lim) et 4 publications ont été effectuées sur la période.

Services intergiciels répartis pour l’observation du système et de son environnement ambiant

Que ce soit pour l’informatique mobile (besoin d’identifier des situations dans des environnement d’exécution instables), pour l’informatique diffuse (besoin d’analyser les informations en provenance de l’environnement ambiant) ou pour l’informatique autonomique (besoin d’observation et d’analyse du système), la prise de décision pour le déclenchement d’adaptations repose sur des services intergiciels qui fournissent au système des informations de contexte pertinentes et de haut niveau d’abstraction. Nous avons proposé une approche impérative pour d’une part formuler des expressions de contexte et d’autre part les transformer en un graphe d’assemblage de composants de contexte [69]. Ces travaux ont été effectués dans le cadre du développement du cadriciel COSMOS. Sur cette période, nous avons proposé un langage dédié (COSMOS DSL) pour décrire les expressions de contexte. Nous avons suivi l’approche transformation de modèle pour produire des artefacts logiciels de gestion de contexte à partir des expressions de contexte. En collaboration avec l’axe « Intelligence Collective et social », nous avons comparé les approches impérative d’une part et par inférence d’autre part pour l’obtention d’informations de contexte de haut niveau d’abstraction. En outre, les informations de contexte étant par nature imprécises et parfois incohérentes, nous avons proposé des algorithmes afin d’extraire, interpréter et analyser la qualité des informations de contexte.
Enfin, nous nous sommes attachés à proposer des solutions intergicielles permettant de libérer le concepteur d’applications des aspects liés à la gestion de contexte en lui proposant d’exprimer des contrats d’observation de contexte.
L’ensemble de ces travaux ont donné lieu à plusieurs publications [49, 247, 293, 153, 186, 2, 65]. Une thèse a été soutenue sur la période (Zied Abid) et trois thèses sont en cours sur le sujet (Nadia Masmoudi, Samer Machara Marquez et Sam Rottenberg). Un projet ANR INFRA a démarré en 2012 (INCOME, INfrastructure de gestion de COntexte Multi-échelle pour l’Internet des Objets avec l’IRIT Toulouse et la société ARTAL).

Intergiciels et algorithmes répartis pour adaptations dynamiques de systèmes répartis

Dans un premier temps, nos travaux sur l’adaptation dynamique ont porté sur la phase de déploiement. Nous avons proposé le concept d’assemblage de composants sensible à son contexte d’exécution. Le résultat étant la construction dynamique d’un assemblage adapté à la fois aux caractéristiques logicielles et matérielles des terminaux et serveurs ainsi qu’aux caractéristiques de l’environnement ambiant (utilisation des contrats lors du déploiement [48]). Durant cette période, nous avons proposé d’étendre la phase d’adaptation du système lors de son exécution. Pour cela, nous avons proposé d’ajouter une préoccupation de sensibilité au contexte dans le processus de conception des applications [64, 292]). Le résultat du processus de conception est un modèle d’adaptation qui dirige les adaptations à l’exécution. La définition de modèles d’adaptation va de pair avec des intergiciels qui mettent en oeuvre les adaptations à l’exécution. Nous avons proposé des intergiciels pour la sélection dynamique d’algorithmes de synchronisation de données [197], pour la sélection de terminaux [242] et de composants [228], pour la reconfiguration dynamique de composants [65], pour la sélection de patrons d’adaptation [60], ainsi que pour la composition de services [229, 32]. Trois thèses ont été soutenues sur le sujet dans la période (Hamid Mukhtar, Abdul Malik Khan et Imen Ben Lahmar).

Déploiement autonomique de systèmes répartis

Nous nous sommes intéressés à l’automatisation du déploiement de logiciels répartis dans des environnements ouverts et des systèmes grande échelle (tels les grilles et les systèmes P2P). Ces environnements sont par nature distribués, hétérogènes et de nature instable. Nos propositions concernent le déploiement décentralisé de composants logiciels en environnement instable. Pour un certain nombre de cadriciels de déploiement distribué, le domaine de déploiement doit être connu à l’avance. Dans nos travaux, nous nous intéressons à un domaine de déploiement découvert dynamiquement et potentiellement instable. Nous avons proposé un langage dédié au déploiement autonomique pour exprimer des contraintes de déploiement sans connaissance préalable du domaine de déploiement.
Nous avons conçu une infrastructure répartie pour découvrir le domaine de déploiement, collecter les propriétés des sites cibles afin de résoudre les contraintes de déploiement. Enfin, nous proposons un intergiciel à base d’agents mobiles pour la réalisation et la supervision du déploiement autonomique. Ces travaux ont donné lieu à deux publications sur la période [124, 267]. Une thèse est en cours sur ce sujet (Mohamed Amine Matougui).

Références

[1Satyanarayanan, M. (1996). Fundamental Challenges in Mobile Computing. In Proc. 15th ACM Symposium on Principles of Distributing Computing, pages 1–7, Philadelphia, USA.

[2Satyanarayanan, M. (2001). Pervasive Computing : Vison and Challenges. IEEE Personal Communications, 8(4) :10–17.

[3Fischer, M. J., Lynch, N. A., and Paterson, M. S. (1985). Impossibility of distributed consensus with one faulty process. Journal of the ACM, 32(2) :374–382.

[4Chandra, T., Hadzilacos, V., Toueg, S., and Charron-Bost, B. (1996). On the Impossibility of Group Membership. In Proc. 15th ACM Symposium on Principles of Distributing Computing, Philadelphia, USA.

[5Pleish, S. and Rutti, O. and Schiper, A. (2008). On the Specification of Partitionable Group Membership. In Proc. 7th European Dependable Computing Conference, Kaunas, Lithuania, pages 37–45