HAL Id: tel-02967449 https://hal.archives-ouvertes.fr/tel-02967449 Submitted on

HAL Id: tel-02967449 https://hal.archives-ouvertes.fr/tel-02967449 Submitted on 22 Oct 2020 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. VERS UNE INGENIERIE DE L’EVOLUTION LOGICIELLE : UNE APPROCHE ARCHITECTURALE. VERROUS, CONTRIBUTIONS ET PERSPECTIVES. Dalila Tamzalit To cite this version: Dalila Tamzalit. VERS UNE INGENIERIE DE L’EVOLUTION LOGICIELLE : UNE APPROCHE ARCHITECTURALE. VERROUS, CONTRIBUTIONS ET PERSPECTIVES.. Génie logiciel [cs.SE]. Université de Nantes, 2020. ￿tel-02967449￿ HABILITATION A DIRIGER DES RECHERCHES Dalila TAMZALIT Dalila-Tamzalit.com VERS UNE INGENIERIE DE L’EVOLUTION LOGICIELLE : UNE APPROCHE ARCHITECTURALE VERROUS, CONTRIBUTIONS ET PERSPECTIVES – Soutenance : 26 juin 2020 – Composition du jury Président du jury Claude Jard (Professeur, LS2N / Université de Nantes) Rapporteurs Yamine Aït-Ameur (Professeur, IRIT / INPT-ENSEEIHT Toulouse) Marianne Huchard (Professeure, LIRMM / Université Montpellier) Houari Sahraoui (Professeur, DIRO/ Université de Montréal) Examinateurs Mireille Blay-Fornarino (Professeure, I3S / Université de Nice) Xavier Blanc (Professeur, LaBRI / Université de Bordeaux) Mourad Oussalah (Professeur, LS2N / Université de Nantes) Yves Caseau (Directeur des Systèmes d’Information/ Michelin Clermont-Ferrand) LS2N UMR 6004 IUT de Nantes Vers une ingénierie de l’évolution logicielle : une approche architecturale Document HDR © Dalila Tamzalit Dalila Tamzalit 2 Vers une ingénierie de l’évolution logicielle : une approche architecturale Document HDR © Dalila Tamzalit Dalila Tamzalit 3 « La connaissance n’est que de l’eau stagnant au fond d’un vieux vase si on ne la laisse pas couler… » Elif Shafak Vers une ingénierie de l’évolution logicielle : une approche architecturale Document HDR © Dalila Tamzalit Dalila Tamzalit 4 Résumé L’intitulé de mon document « vers une ingénierie de l’évolution logicielle : une approche architecturale » met en évidence le contexte des travaux présentés : la problématique générale de l’évolution des architectures logicielles et leurs descriptions. Le fil conducteur de mes travaux de recherche est de prôner une Ingénierie de l’évolution des architectures logicielles, en termes de fondements, modèles et méthodologies. Le terme évolution s’entend au sens large : migration, adaptation, refactoring, rétro-conception, restructuration, maintenance... Mes travaux de recherche s’articulent autour de la spécification et la formalisation : (i) des architectures logicielles évolutives et (ii) des architectures de l’évolution logicielle. La principale ligne directrice est d’identifier et de cerner les caractéristiques intrinsèques de systèmes afin de spécifier et gérer leur évolution indépendamment de leur fonctionnement. Le principe adopté est un principe de séparation stricte des préoccupations de l’évolution des autres préoccupations des architectures logicielles. L’approche adoptée est une approche par abstraction (métamodèles, architectures logicielles). En couplant ces deux caractéristiques, il a été possible de réifier différentes préoccupations liées à l’évolution sous forme de concepts statiques (modèles) et dynamiques (processus) à un haut niveau d’abstraction, permettant une représentativité aux niveaux stratégiques de décision, tout en offrant une assistance aux architectes. Ces travaux ont concerné différents paradigmes d’architectures logicielles : depuis l’objet durant ma thèse, aux composants en passant par la SOA et en considérant les styles architecturaux SaaS mutualisé et micro-services. Ces travaux ont été menés au travers d’encadrement et de co-encadrement doctoral de 9 thèses et 9 Master2, ainsi que des collaborations avec des confrères français, européens, internationaux et avec des entreprises. Ce document présente une partie de mes travaux de recherche, ceux portant sur et pour les problématiques d’évolution des architectures logicielles à base de composants et autour de la notion de service1, notamment les styles architecturaux SaaS mutualisé et micro-service. La raison est double : ces travaux constituent l’essentiel de mes activités de recherche et mes projets futurs s’inscrivent dans leur continuité. L’idée essentielle de ces travaux est d’architecturer l’évolution logicielle par abstraction et modélisation. De 2002 à 2010, ils ont porté sur les architectures logicielles à base de composants au travers de leurs langages de description, les ADLs (Architecture Description Languages). Les principales contributions ont été de proposer un modèle générique pour l’évolution structurelle d’architectures logicielles, un modèle de capitalisation de savoir-faire d’évolutions architecturales, une approche d’extraction d’architectures logicielles à partir de systèmes objets patrimoniaux ainsi que des patrons d’évolution architecturale. De 2010 à aujourd’hui, mes travaux ont porté sur les architectures logicielles autour de la notion de service (SOA, SaaS, micro-services). Les principales contributions ont été de proposer un modèle d’externalisation de la gestion de la variabilité d’applications SaaS mutualisées, une approche SOA de restructuration et d’adaptation de workflows d’entreprise ainsi que des retours d’expérience de migration de systèmes monolithes vers des architectures micro-services. Chacun de ces travaux est présenté selon son contexte, les verrous scientifiques qu’il traite, les principales contributions ainsi que sa validation et sa valorisation au travers de publications. À la 1 Mes autres travaux sont brièvement présentés dans mon curriculum vitae détaillé. Vers une ingénierie de l’évolution logicielle : une approche architecturale Document HDR © Dalila Tamzalit Dalila Tamzalit 5 suite de quoi, je pose un bilan avant d’ouvrir différentes voies au travers de perspectives qui représentent mon projet scientifique. Je l’ai intitulé « vers une industrialisation de l’évolution logicielle » afin de prendre en compte le contexte des nouvelles générations d’architectures logicielles. L’objectif est de tendre vers des systèmes logiciels durables dans le temps, en augmentant leur espérance de vie, idéalement de manière continue. J’attache également à ce projet des pistes qui me paraissent d’importance : la formation universitaire et les collaborations avec le monde socio- économique. Vers une ingénierie de l’évolution logicielle : une approche architecturale Document HDR © Dalila Tamzalit Dalila Tamzalit 6 Avant-propos Le présent document ne prétend pas présenter l’ensemble des travaux de recherche que j’ai menés depuis ma prise de fonction à l’Université de Nantes en 2001. Il se focalise sur les travaux dédiés aux problématiques d’évolution des architectures logicielles à composants et à services. Ces travaux ont comme socle commun de s’adresser à une même catégorie de problèmes et à une même catégorie d’utilisateurs : appréhender la complexité des architectures logicielles durant leur phases de conception et leur cycle de vie en proposant une assistance aux architectes logiciels. Plus précisément, les différents besoins abordés sont d’aider à faire face à : l’évolution, la co-évolution, la maintenance, la rétro-conception, la migration, la restructuration, la mémoire du savoir-faire d’évolution. L’approche récurrente est de spécifier et réutiliser toute connaissance jugée utile, qu’elle soit statique ou dynamique. La Figure 1 présente l’ensemble de mes travaux depuis que je suis en poste. Ils sont déclinés selon les paradigmes et les thèmes scientifiques abordés (les deux premières lignes). L’axe des abscisses présente la chronologie. L’axe des ordonnées présente les différents types de travaux menés (post- doctorant, thèses, master…) dans le temps et par paradigme/thème scientifique. Seuls les travaux principaux, encadrés (en bleu), seront détaillés dans le présent document. Figure 1: Trame générale des travaux avec publications scientifiques. L’ensemble de ces travaux ont été menés avec différents collaborateurs dont mes doctorantes et doctorants. A l’apport de mes collaborateurs, s’ajoute celui de mon double profil universitaire Génie Logiciel et Systèmes d’Information : je considère les problématiques d’évolution logicielle à un haut niveau d’abstraction. L’évolution logicielle induit souvent des coûts faramineux et des effets de bord Vers une ingénierie de l’évolution logicielle : une approche architecturale Document HDR © Dalila Tamzalit Dalila Tamzalit 7 désastreux. Pour mieux la maîtriser et la contrôler, mon objectif est d’arriver à rendre les architectures logicielles intrinsèquement évolutives et à architecturer l’évolution logicielle. Pour cela, le fil directeur de mes travaux a été de faire une séparation claire des préoccupations entre les aspects fonctionnels des architectures logicielles de leurs aspects évolutifs. Cela implique donc de considérer l’évolution logicielle comme un système à part entière à étudier, à identifier ses parties constituantes et à les structurer. Cela revient à œuvrer pour une ingénierie de l’évolution logicielle et non à la traiter de manière ad hoc. Mes travaux, depuis que je suis en poste, ont été de 2002 à 2010 académiques. A partir de 2010, à la suite d’une année de CRCT2 à l’étranger (Belgique, Angleterre, Etats-Unis) ainsi qu’au détour d’une thèse CIFRE, mes travaux se sont imprégnés d’un contexte de terrain en lien avec le monde économique et continuent de l’être. J’apprécie les deux types de travaux, académiques et ceux en lien avec le monde socio-économique, ainsi que leur cohabitation. Ils s’enrichissent mutuellement. 2 Congés pour Recherche ou Conversion Thématique Vers une ingénierie de l’évolution logicielle : une approche architecturale Document HDR © Dalila Tamzalit Dalila Tamzalit 8 SOMMAIRE Table des matières 1 niveau Table des matières 2 niveaux Résumé ..........................................................................................................................4 Avant-propos .................................................................................................................6 Chapitre 1. Introduction............................................................................................. 16 1. Complexité logicielle croissante ................................................................................... 16 2. Mon identité scientifique ............................................................................................. 18 3. Organisation générale du document ............................................................................. 19 Chapitre 2. Contexte : évolution et architectures logicielles ........................................ 20 1. L’évolution logicielle : un vaste problème ..................................................................... 20 2. Les architectures logicielles : définitions fondatrices ..................................................... 24 3. uploads/Ingenierie_Lourd/ document-scientifique-final-hdr-dalila-tamzalit.pdf

  • 53
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager