Adaptation Dynamique Par Tissage D'aspects D'assemblage
Total Page:16
File Type:pdf, Size:1020Kb
Adaptation dynamique par tissage d'aspects d'assemblage Daniel Cheung-Foo-Wo To cite this version: Daniel Cheung-Foo-Wo. Adaptation dynamique par tissage d'aspects d'assemblage. G´enie logiciel [cs.SE]. Universit´ede Nice Sophia Antipolis, 2009. Fran¸cais. <tel-00460159> HAL Id: tel-00460159 https://tel.archives-ouvertes.fr/tel-00460159 Submitted on 26 Feb 2010 HAL is a multi-disciplinary open access L'archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destin´eeau d´ep^otet `ala diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publi´esou non, lished or not. The documents may come from ´emanant des ´etablissements d'enseignement et de teaching and research institutions in France or recherche fran¸caisou ´etrangers,des laboratoires abroad, or from public or private research centers. publics ou priv´es. UNIVERSITE DE NICE-SOPHIA ANTIPOLIS ECOLE DOCTORALE STIC SCIENCES ET TECHNOLOGIES DE L’INFORMATION ET DE LA COMMUNICATION THESE pour obtenir le titre de Docteur en Sciences de l’Université de Nice-Sophia Antipolis Mention : Informatique présentée et soutenu par Daniel CHEUNG-FOO-WO ADAPTATION DYNAMIQUE PAR TISSAGE D’ASPECTS D’ASSEMBLAGE Thèse dirigée par Michel RIVEILL soutenue le 5 mars 2009 Jury : Mme Noëmie SIMONI Professeur Présidente M. Lionel SEINTURIER Professeur Rapporteur M. Didier DONSEZ Professeur Rapporteur M. Michel RIVEILL Professeur Directeur M. Jean-Yves TIGLI Docteur Co-Directeur M. Stéphane LAVIROTTE Docteur Invité M. Eric PASCUAL Ingénieur Invité Université de Nice-Sophia Antipolis - UFR Sciences ÉCOLE DOCTORALE STIC SCIENCES ET TECHNOLOGIES DE L’INFORMATION ET DE LA COMMUNICATION Thèse pour obtenir le grade de Docteur en Sciences de l’université de Nice-Sophia Antipolis Mention : Informatique présentée par Daniel CHEUNG-FOO-WO Adaptation dynamique par tissage d’aspects d’assemblage Professeur Noëmie SIMONI Présidente du jury Professeur Lionel SEINTURIER Rapporteur Professeur Didier DONSEZ Rapporteur Professeur Michel RIVEILL Directeur Docteur Jean-Yves TIGLI Co-directeur Docteur Stéphane LAVIROTTE Invité Ingénieur Éric PASCUAL Invité 2 Table des matières I Introduction 7 1 Introduction 9 1.1 De l’informatique à l’intelligence ambiante . 10 1.2 L’intelligence ambiante (IAm) . 11 1.2.1 L’IAm regroupe divers domaines informatiques . 11 1.2.2 Quelques scénarios . 11 1.2.3 Particularité technologique . 14 1.3 Conséquences sur l’architecture des systèmes . 14 1.3.1 Les contraintes imposées par l’IAm . 15 1.3.2 Les enjeux . 17 1.4 Bilan . 19 1.4.1 Objectifs de la thèse . 19 1.4.2 Points-clés . 21 1.4.3 Contexte de recherche . 23 II État de l’art 25 2 Composants, Services et Aspects 27 2.1 Analyse de l’adaptation des assemblages . 29 2.1.1 Description d’entités logicielles ultérieurement assemblées . 29 2.1.2 Comment assembler des entités logicielles (services, composants) ? . 30 2.1.3 Synthèse des propriétés étudiées . 33 2.2 Plates-formes pour l’adaptation dynamique . 34 2.2.1 Aura : minimisation de l’intervention de l’utilisateur . 34 2.2.2 ExORB : reconfiguration dynamique pendant l’exécution . 35 2.2.3 DoAmI : automatisation de la reconfiguration logicielle . 36 2.2.4 Gaia : gestion de l’hétérogénéité des dispositifs . 37 2.2.5 CORTEX : généralisation de la notion d’événement . 38 2.2.6 K-Component : propriétés et mécanismes de reconfiguration . 39 2.2.7 SmartSpace : modélisation de l’infrastructure de dispositifs . 40 2.2.8 Autres approches . 41 2.2.9 Synthèse et conclusion . 42 2.3 Plates-formes à composants . 43 2.3.1 mKernel : administration en EJB en environnement changeant . 44 2.3.2 CORBA “Connector” Model : interactions en CCM . 45 2.3.3 SOFA 2.0 : Rééquilibrage des fonctionnalités avancées . 46 2.3.4 Fractal : un modèle de composant ouvert . 47 2.3.5 ArchJava : une extension de Java ........................ 48 2.3.6 SystemC : une extension de C++ ......................... 49 2.3.7 Autres approches . 50 3 2.3.8 Synthèse et conclusion . 51 2.4 Plates-formes à services et composition de services . 53 2.4.1 ContextBox : notion de service pour un modèle de composant . 53 2.4.2 OSGi . 53 2.4.3 Jini : services dynamiques en environnement changeant. 54 2.4.4 Composition de services . 55 2.4.5 Synthèse et conclusion . 56 2.5 Plates-formes utilisant des aspects et gestion des interférences . 58 2.5.1 FAC : sûreté d’utilisation d’aspects dans un modèle de composant . 59 2.5.2 Safran : composants adaptatifs et aspect d’adaptation . 59 2.5.3 Gestion des interférences . 61 2.5.4 Autres approches . 64 2.5.5 Synthèse et conclusion . 65 3 Synthèse générale et objectifs 67 3.1 Les contraintes de l’IAm . 68 3.1.1 Grande diversité des dispositifs . 69 3.1.2 Un espace ambiant intrinsèquement réactif . 70 3.2 Besoins en adaptation logicielle . 71 3.2.1 L’adaptation et l’IAm . 71 3.2.2 De l’adaptabilité à l’adaptativité . 72 3.3 Synthèse et critique de l’existant . 74 3.3.1 Principes de la littérature . 74 3.3.2 Principes de notre approche . 75 3.4 Notre approche . 76 3.4.1 Modèle de service composite . 76 3.4.2 Modèle de composant . 76 3.4.3 Modèle d’adaptativité transverse . 77 III Modèle de composition d’adaptations 79 4 Modèle de service composite pour l’IAm 81 4.1 Service pour l’informatique ambiante . 82 4.1.1 Service et composant . 82 4.1.2 Caractéristiques conférées aux services . 83 4.1.3 Modèle de service pour l’IAm . 84 4.1.4 Système informatique ambiant . 85 4.2 Service composite . 86 4.2.1 Composition de services . 86 4.2.2 Plusieurs approches dans la littérature . 86 4.2.3 Notre modèle de composant léger LCA . 87 4.3 Service composite SLCA . 90 4.3.1 Composants spécialisés dans l’interaction avec les autres services . 90 4.3.2 Interface de contrôle pour les modifications . 92 4.3.3 Système informatique ambiant . 93 5 Aspects d’assemblage 95 5.1 Introduction . 96 5.2 Comparatifs des aspects . 96 5.2.1 Programmation orientée aspect classique . 96 5.2.2 Aspects pour la reconfiguration . 97 5.3 Les aspects d’assemblage . 98 5.3.1 Modèle d’adaptativité . 99 4 5.3.2 Tisseur d’aspects d’assemblage . 103 5.4 Gestion des conflits d’aspects . 108 5.4.1 Les conflits entre les aspects dans la littérature . 109 5.4.2 Gestion des conflits d’aspects d’assemblage . 109 5.5 Aspects d’assemblage et informatique ambiante . 113 5.6 Conclusion . 113 6 Plate-forme WComp et Expérimentations 115 6.1 Présentation de la plate-forme WComp . 117 6.2 WComp et LCA . 117 6.2.1 Container WComp/LCA . 117 6.2.2 Designers de base WComp . 117 6.2.3 Les implémentations WComp/LCA (Java, C#/SharpDevelop) . 118 6.3 WComp et SLCA . 119 6.3.1 Infrastructure de Services pour Dispositif de type UPnP . 119 6.3.2 Container WComp/SLCA . 121 6.4 WComp et AA . 121 6.4.1 Les designers AA . 122 6.4.2 Composants génériques pour les opérateurs d’AAs . 126 6.4.3 Cycle d’adaptativité dans WComp . 128 6.5 Mise en œuvre en espace ambiant de Services pour Dispositifs . 128 6.5.1 Contexte expérimental . 129 6.5.2 Scénarios et mise en œuvre de WComp . 129 6.6 Mise en œuvre dans un Bâtiment Haute Technologie . 132 6.6.1 Contexte expérimental . 133 6.6.2 Scénarios et mise en œuvre de WComp . 133 6.7 Conclusion et retour sur expérience . 137 7 Évaluation des aspects d’assemblage 139 7.1 Le tissage . ..