Thèse soutenue

COMpOSER : une approche de ligne de produits logiciels dirigée par les modèles pour une gestion efficace de la réutilisation logicielle dans des familles et des populations de produits

FR  |  
EN
Auteur / Autrice : Frédéric Verdier
Direction : Abdelhak-Djamel Seriai
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 11/12/2019
Etablissement(s) : Montpellier
Ecole(s) doctorale(s) : École doctorale Information, Structures, Systèmes (Montpellier ; 2015-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique, de robotique et de micro-électronique (Montpellier ; 1992-....)
Jury : Président / Présidente : Marie-Laure Mugnier
Examinateurs / Examinatrices : Abdelhak-Djamel Seriai, Marie-Laure Mugnier, Camille Salinesi, Mourad-Chabane Oussalah, Mathieu Acher
Rapporteurs / Rapporteuses : Camille Salinesi, Mourad-Chabane Oussalah

Résumé

FR  |  
EN

Avec la constante croissance en taille et en complexité des systèmes logiciels, l'industrie logicielle est poussée à migrer ses processus de développements manuels, réalisant chaque produit individuellement et lentement, vers des procédés systématiques et automatisés, produisant massivement des logiciels et à moindre coût. Cette migration, que nous appelons industrialisation, peut être réalisée en favorisant à la fois la réutilisation logicielle systématique et l'automatisation dans les phases de développement. Favoriser ces pratiques permet la réalisation de produits de meilleure qualité à coût réduit. Les approches existantes combinant l'Architecture Dirigée par les Modèles (MDA) et l'Ingénierie des Lignes de Produits Logiciels (SPLE) automatisent la réutilisation dans leurs processus de développement en exploitant les avantages de MDA et SPLE. Tandis que MDA permet aux développeurs de définir des artefacts hautement réutilisables et des opérations automatiques à effectuer sur ces artefacts, SPLE systématise la réutilisation en s'appuyant sur les similarités et les différences d'un ensemble de produits similaires appelé famille de produits logiciels. Cependant, ces combinaisons souffrent de deux restrictions majeures pouvant être un frein aux entreprises souhaitant industrialiser leurs processus en utilisant ces solutions. D’une part, il leur est difficile de gérer efficacement la variabilité. En effet, la complexité des opérations effectuées sur les artefacts dépend du nombre de points de variation à gérer. D'autre part, ces approches se limitent à gérer la variabilité au sein d'une famille de produits. Or, dans certains contextes comme les sociétés de services, la variabilité peut concerner un ensemble plus hétérogène de produits nommé population de produits. Bien que certains travaux proposent de gérer la variabilité au sein d'une population de produits, ces derniers, en proposant de composer des lignes de produits indépendantes, limitent la composition, et ainsi la réutilisation, d'artefacts à gros grain.Dans cette thèse, nous proposons une nouvelle approche nommée COMpOSER (CrOss-platform MOdel-driven Software product line EngineeRing) définissant une solution efficace pour composer MDA et SPLE afin d'exploiter intégralement la variabilité à la fois d'une famille mais également d'une population de produits logiciels. Pour cela, COMpOSER introduit une nouvelle caractérisation de la variabilité pour organiser des artefacts réutilisables selon trois dimensions : la dimension métier ; la dimension architecturale ; et la dimension des écosystèmes technologiques. De plus, cette caractérisation distingue la variabilité inter-domaine, responsable de l'organisation des différentes familles au sein d'une population, et la variabilité intra-domaine, organisant les artefacts dans chaque famille. Afin d'organiser correctement ces artefacts, COMpOSER définit un modèle d'artefacts réutilisables à fine granularité étant compatible avec cette caractérisation. Par ailleurs, notre approche définit des opérations partiellement automatisées systématisant la réutilisation d'artefacts lors de la production de nouveaux logiciels sans induire de difficulté de passage à l'échelle avec l'ajout de nouveaux points de variation. Grâce à notre collaboration avec un partenaire industriel, nous avons pu expérimenter COMpOSER pour aider à l'industrialisation des processus de développement de l'entreprise. Ainsi, nous avons réalisé un framework qui réifie notre approche tout en considérant les spécificités de notre contexte industriel. Cet outil traduit les principes de COMpOSER dans un langage adapté à des développeurs sans expertise en SPLE ou MDA, facilitant ainsi l'adoption de nos solutions par les équipes de développements de l'entreprise. Nous avons obtenu des résultats démontrant que notre approche améliore la réutilisation logicielle systématique comparativement à des solutions concurrentes sur des cas d'études industriels concrets.