Ingénierie agile et logiciels : Thomas Georges nous présente sa thèse
Parcours avant ma thèse
J’ai d’abord obtenu un DUT en informatique à l’IUT de Rodez, avant d’être diplômé d’un Master en ingénierie du logiciel à la Faculté des Sciences de Montpellier, au cours duquel j’ai effectué un semestre en Erasmus à l’université d’Helsinki (Figure 1).
Au cours de mes études, j’ai en tout effectué quatre stages afin d’améliorer mes compétences et mes pratiques professionnelles. Le premier correspondait à un stage de fin d’études du DUT Informatique. Il s’est déroulé au Canada, au Québec, et consistait en l’aide au développement et à la gestion de différents projets en informatique.
J’ai ensuite passé 8 semaines au sein du Laboratoire d’Informatique, de Robotique et de Micro-électronique de Montpellier (LIRMM) à la fin de mon année de Licence afin de développer un outil de visualisation de graphes basés sur un réseau lexical et sémantique du Français (rezoJDM).
Puis j’ai travaillé un été en Indonésie en partenariat avec le CIRAD pour ma première année de Master afin d’aider un syndicat d’agriculteurs à visualiser des résultats d’enquêtes.
Enfin, j’ai terminé mon Master par un stage de fin d’études de 6 mois à ITK sur le développement d’un outil facilitant les interactions entre le support et les développeurs.
Présentation de ma thèse
ITK possède une collection de logiciels ayant des caractéristiques communes et spécifiques. Ces logiciels basés sur différents simulateurs permettent de prédire le cycle de vie et/ou les risques futurs des plantes (stress, maladies, météo).
Dans ce contexte, cette thèse cherche à mettre en place un ensemble de méthodes permettant le développement de logiciels de manière rapide, efficace et spécifique aux différentes applications d’ITK : une ligne de produits logiciels. La mise en place de cette ligne de produits est basée sur l’ingénierie des connaissances et la réutilisation logicielle. D’où l’intitulé de ma thèse : « Ingénierie agile de lignes de produits logiciels pour des applications d’aide à la décision pour l’agriculture ».
Mes travaux ont débuté en septembre 2020 avec un CDD permettant de clôturer le sujet et ses thématiques. Ma thèse a officiellement commencé le 1er janvier 2021. Chouki Tibermacine, responsable de l’équipe MaREL (Models and Reuse Engineering, Languages) au LIRMM (Laboratoire d’Informatique, de Robotique et de Micro-électronique de Montpellier), dirige ma thèse. Marianne Huchard et Clémentine Nebut de l’équipe MaREL co-encadrent ma thèse pour la partie recherche. Mélanie König (ITK) encadre quant à elle la partie opérationnelle.
Avancée des travaux de thèse
Pendant la première année de thèse, j’ai pu me familiariser avec le domaine et commencer à participer à diverses activités en lien avec mes recherches. J’ai participé à un doctoral symposium lors de la conférence ICSR 2020 (the 19th International Conference on Software and Systems Reuse) afin de présenter mon sujet à la communauté scientifique, de le faire connaître et de discuter de mes futurs axes de recherche.
J’ai ainsi pu établir mes 3 axes de recherche :
- La migration de la collection de logiciels existante vers une ligne de produits logiciels.
- L’adoption de la ligne de produits.
- Le maintien de cette ligne.
La migration est un aspect qui doit être pris en compte tout au long des différents travaux. Afin de migrer les logiciels et les processus existant, j’ai commencé par m’intéresser aux simulateurs. Ce sont en effet la base de chacune des applications d’ITK, et en extraire la variabilité est une première étape afin de comprendre la construction de ces dernières. Ces travaux m’ont permis de rédiger ma première publication [1].
Pour extraire la variabilité des simulateurs, j’ai construit un processus entièrement automatisé, de la récupération des schémas de description des simulateurs au traitement de ces données, puis à l’utilisation de l’analyse formelle de concepts (Figure 2). Tout ceci permet d’obtenir une représentation claire et complète des points communs et des spécificités de chacun des simulateurs : un AOC Poset (Figure 3) J’ai présenté ces travaux dans le workshop FC4IA (What can FCA do for Artificial Intelligence?”) au sein de la conférence IJCAI 2021 (the 30th International Joint Conference on Artificial Intelligence).
L’axe de l’adoption, traité en continu tout au long de la thèse, est également démarré. Une série d’interviews avec chacun des membres d’ITK ayant un lien avec le projet a été réalisée afin de comprendre leur fonctionnement et prendre en compte leurs craintes ou remarques envers le projet. Une seconde série d’interviews est prévue une fois la ligne migrée afin d’évaluer les apports et les faiblesses de la nouvelle façon de fonctionner.
Pour la maintenance de la ligne, j’ai pu discuter lors d’interviews avec les membres de l’équipe. Il en est ressorti un ensemble de contraintes que celle-ci devra respecter afin d’être utilisée, améliorée, et corrigée de façon pérenne.
Ma thèse est également l’opportunité pour moi de découvrir l’enseignement en étant chargé de TP et de TD :
- en programmation fonctionnelle à des élèves de 1ère année de Licence.
- en programmation orientée objet à des élèves de 2ème année de la classe préparatoire intégrée à une école d’ingénieur.
J’ai également préparé et présenté un cours de conduite de projet en informatique via l’utilisation de Gitlab grâce à mon expérience à ITK.
Thomas Georges
[1] : Thomas Georges, Marianne Huchard, Mélanie König, Clémentine Nebut, Chouki Tibermacine. Variability Extraction from Simulator I/O Data Schemata in Agriculture Decision-Support Software. 9th International Workshop « What can FCA do for Artificial Intelligence? » (FCA4AI 2021), 2021, pp.59-70. ⟨hal-03375570⟩