Le débogage à distance et la réflexion dans les dispositifs à ressources limitées
Auteur / Autrice : | Nikolaos Papoulias |
Direction : | Stéphane Ducasse, Noury Bouraqadi, Marcus Denker, Luc Fabresse |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 19/12/2013 |
Etablissement(s) : | Lille 1 |
Ecole(s) doctorale(s) : | École doctorale Sciences pour l'ingénieur (Lille) |
Partenaire(s) de recherche : | Laboratoire : École nationale supérieure des techniques industrielles et des mines (Douai, Nord). Département Informatique et Automatique |
École d'ingénieurs : École nationale supérieure des techniques industrielles et des mines (Douai, Nord ; 1878-2016) |
Mots clés
Résumé
La construction de logiciels pour des appareils qui ne peuvent pas accueillir localement des outils de développement peut être difficile. Ces appareils ont soit une puissance de calcul trop limitée pour exécuter un IDE, ou manque des interfaces d’entrée / sortie appropriées pour la programmation ou sont tout simplement inaccessibles pour des développements locaux. Dans ces situations, les développeurs ont besoin d’une infrastructure appropriée pour développer et déboguer des applications distantes. Dans cette thèse nous identifions d’abord quatre propriétés désirables qu’une solution idéale pour le débogage à distance doit présenter : l’ interactivité, l’instrumentation, la distribution et la sécurité. Compte tenu de ces propriétés, nous proposons Mercury, un modèle de débogage à distance et une architecture pour des langues réfléxifs à objets. Mercury ouvre (1) l’interactivité grâce à un méta-niveau à distance miroir basé sur un lien de causalité avec sa cible, (2) l’instrumentation à travers une intercession réflective basée sur la réification de l’environnement d’exécution sous-jacent, (3) la distribution grâce à un middleware adaptable et (4) la sécurité par la décomposition et l’authentification de l’accès aux aspects réflexifs. Nous validons notre proposition à travers un prototype dans le langage de programmation Pharo à l’aide d’un cadre expérimental diversifié de multiples dispositifs contraints. Nous illustrons des techniques de débogage à distance soutenus par les propriétés de Mercury, tels que distance agile débogage et instrumentation objet à distance et montrons comment ils peuvent résoudre dans la pratique, les problèmes que nous avons identifiés.