(English below)

Bonjour à toutes et à tous,

J'ai le plaisir de vous inviter à ma soutenance de thèse, qui aura lieu (en Français) le mardi 24 mai 2022 à 14h00 dans l'amphithéatre du bâtiment 34 du site FST Nantes. Vous êtes les bienvenu(e)s pour y assister, sur place ou par visio avec le lien suivant:

https://mediaserver.univ-nantes.fr/lives/ls2n/

Titre de la thèse : Extraction de styles d’évolution d’architectures logicielles Résumé : Les architectures logicielles jouent un rôle primordial dans le cycle de vie logicielle. Elles assurent la documentation des systèmes, la gestion de leurs maintenances et leurs évolutions. Dans cette thèse, nous abordons la problématique de prédiction et de planification des évolutions de ces architectures logicielles. Nous proposons une approche de prédiction basée sur l’apprentissage des évolutions antérieures de celles-ci. Ainsi, notre démarche se généralise en trois grandes étapes. La première étape consiste en la proposition d’un modèle de représentation de l’évolution de l’architecture logicielle conformément aux principes de la méta-modélisation de processus. Nommé SAEPP : modèle de représentation de l’évolution, positionné sur la couche 2 de méta-modélisation spécifiée par l’OMG, notre modèle réutilisant le concept clé de style d’évolution permet la spécification et la gestion de l’évolution dans les architectures logicielles. A partir du modèle de représentation, un formalisme de représentation en carré est introduit. Il représente un style d’évolution en s’articulant sur un quadruplet : l’acteur, l’en-tête, l’élément architectural, et la date d’évolution sont sur les quatre sommets du carré. Et finalement, une expression simplifiée déduite du modèle en carré fournit un cadre simple pour exprimer les évolutions architecturales. La deuxième étape consiste en l’application des techniques d’extraction de patterns séquentiels aux styles d’évolution exprimés avec l’expression simplifiée introduite (bibliothèque de styles), en vue de préparer ces données pour un apprentissage et d’établir un modèle d’apprentissage pour la prédiction. Cela permet d’obtenir des informations comme : l’ensemble des opérations d’évolution subies par un élément architectural dans un ordre temporel, les opérations d’évolution récurrentes, le taux de participation des acteurs aux opérations d’évolution, le taux d’évolution des éléments architecturaux, etc. Enfin, la troisième étape consiste en l’élaboration d’un modèle d’apprentissage à partir du résultat de l’étape précédente et d’un modèle de prédiction de futurs chemins d’évolution. Le modèle de prédiction inclut trois principaux composants, dont le composant d’apprentissage, le composant déclencheur et le composant en charge de la gestion des chemins générés. Ainsi, nous proposons une approche de prédiction basée sur l’apprentissage des données et faits antérieurs d’évolution de l’architecture. De plus, nous présentons et validons notre approche à travers une étude de cas portant sur une architecture orientée composant et un prototype développé en java.

Composition du Jury : Président : Jean-Michel BRUEL, Professeur à l'Université Toulouse 2 Jean Jaurès Examinateurs : Demba COULIBALY, MCF, à l'Université des Sciences Sociales et de Gestion de Bamako Mourad BOUNEFFA , MCF, Université du Littoral Côte d'Opale Invité : Omar MAIGA, MCF, USTTB Directeur de thèse : Mourad Chabane OUSSALAH, Professeur, à Nantes Université Co-directeur de thèse : Fana TANGARA, Professeur à l'USTTB Co-encadrant de thèse : Jacqueline KONATE, MCF à l'USTTB

Bien cordialement,

Kadidiatou DJIBO

Hello everyone,

I am pleased to invite you to my thesis defense, which will take place on Tuesday, Mai 24, 2022, at 2:00 pm in the amphitheater of building 34 FST Nantes. You are all more than welcome to attend on-site or by zoom via the following link:

https://mediaserver.univ-nantes.fr/lives/ls2n/

Title of the thesis: Mining software architecture evolution styles

Software architectures play a key role in the software life cycle. They ensure the systems’ documentation, their maintenance management and their evolutions. In this thesis, we address the problem of predicting and planning the evolution of these software architectures. We propose a prediction approach based on learning from their past evolution. Thus, our approach is generalized in three main steps. The first step consists of proposing a model to represent the software architecture’s evolution in accordance with the principles of process meta-modeling. Named SAEPP : evolution representation model, positioned on the layer 2 of meta-modeling specified by the OMG, our model reusing the key concept of evolution style allows the specification and management of evolution in software architectures. From the representation model, a square representation formalism is introduced. It represents an evolution style by articulating itself on a quadruplet: the actor, the header, the architectural element, and the evolution date are on the four corners of the square. And finally, a simplified expression deduced from the square model provides a simple framework to express architectural evolutions. The second step consists in applying the sequential pattern extraction techniques to the evolution styles expressed with the introduced simplified expression (style library), in order to prepare these data for learning and to establish a learning model for prediction. This makes it possible to obtain information such as: the set of evolution operations undergone by an architectural element in a temporal order, the recurrent evolution operations, the participation rate of the actors in the evolution operations, the evolution rate of architectural elements, etc. Finally, the third step consists in the development of a learning model from the result of the previous step and a prediction model of future evolution paths. The prediction model includes three main components, including the learning component, the trigger component and the component in charge of managing the generated paths. Thus, we propose a prediction approach based on learning from past data and facts of architecture evolution. In addition, we present and validate our approach through a case study of a component-oriented architecture and a prototype developed in Java.

Yours sincerely, Kadidiatou DJIBO