Adding Spatial Information to Software Component Model. The Localization Effect
Les Environnements Hautement Distribués (HDEs) sont des environnements de déploiement de logiciels qui incluent des machines très diverses comme de gros serveurs mais aussi des appareils mobiles avec des ressources limitées comme les ordinateurs portables, les assistants numériques personnels (ou PDA), les téléphones intelligents, les appareils GPS, des capteurs, etc. Le développement de logiciels pour les HDEs est fondamentalement différent du développement des systèmes centralisés ou des systèmes distribués fermés. Cet argument est discuté en détail tout au long de cette thèse. Les HDEs posent deux problèmes principaux : des réseaux non fiables et l'hétérogénéité des matériels et logiciels. Ces deux défis nécessitent un traitement minutieux pour permettre aux systèmes de continuer à fonctionner en fournissant la qualité de service (QoS) attendue aux utilisateurs. Cette thèse est une réponse directe aux défis mentionnés des HDEs. La contribution de cette thèse est le modèle de composant Cloud Component (CC). Nous présentons cette contribution en proposant 7 axes : (1) Un changement de paradigme pour passer de la transparence de la distribution à la reconnaissance de la localisation comme une préoccupation de première classe. (2) Un modèle de composant nommé Cloud Component (CC) pour réaliser ce changement avec (3) une nouvelle approche pour assembler ces composants pas de connexions distantes. (4) Un processus de développement des Cloud Components où (5) la modélisation et la prise en compte de la localisation, et donc de l'hétérogénéité, sont la clé de notre contribution. (6) Un langage formel pour décrire les composants, vérifier leurs assemblages et décrire leur processus de développement. Enfin, nous présentons (7) les outils développés : le Cloud Component Management System (CCMS) qui déploie les variantes logicielles adaptées aux cibles matérielles en s'appuyant sur des descriptions ontologiques des logiciels et de leur cible, l'annuaire (Registry) et le vérificateur d'assemblage. Pour répondre aux défis posés par HDEs et maintenir la qualité de service prévue aux utilisateurs, nous défendons la thèse d'un "changement de paradigme" dans la façon dont le logiciel est conçu et mis en oeuvre. Pour appliquer ce changement, notre contribution présente plusieurs aspects ; chacun forme une contribution partielle qui ne peut être isolée des autres et dont l'union forme un tout cohérent. Notre contribution couvre le processus complet de développement logiciel pour HDEs : des spécifications au déploiement et à la gestion de l'exécution.