Séminaire LATECE: Quelques méthodes, modèles et langages à base de modules pour promouvoir le développement pour et par la réutilisation

Bonjour à tous,

Nous avons le plaisir de vous inviter au cinquième séminaire de la session d'hiver 2021 du LATECE. 

Lieu: Zoom : https://uqam.zoom.us/j/85977067999

Titre: Quelques méthodes, modèles et langages à base de modules pour promouvoir le développement pour et par la réutilisation

Conférencier : Chouki Tibermacine

Résumé : La problématique générale traitée dans les travaux de recherche que nous avons menés ces dernières années est liée à la réutilisation du logiciel. Nous avons proposé quelques modèles, langages, processus et outils pour favoriser et améliorer la réutilisation lors du développement du logiciel. Ces travaux peuvent être classés en 3 catégories : 1) Description d’architecture dans des modèles et programmes réutilisables ; 2) Ré-ingénierie et évolution d’applications pour améliorer la réutilisation ; et 3) Classification et sélection de composants et services Web pour favoriser le développement par la réutilisation. Je vais commencer mon exposé par un rapide tour d’horizon des travaux développés dans chaque catégorie. Par la suite, je vais me focaliser sur quelques travaux relavant de la 2ème catégorie ci-dessus, qui ont été réalisés dans le cadre des thèses de Zakarea Alshara (2013-2016) et Soumia Zellagui (2015-2019). Dans ces travaux, nous avons proposé deux approches de migration d’applications à objets en applications à composants, à des niveaux de granularité différents. Dans la thèse de Zak, les entités réutilisables, ici des composants, sont des clusters de classes. L’idée est d’exploiter le résultat de la phase de restauration de l’architecture (architecture recovery, en anglais) en termes de composants (clusters de classes, faiblement couplées à l’extérieur de leur cluster et fortement cohésives à l’intérieur), pour transformer le code de l’application analysée. L’objectif est de rendre le code conforme à l’architecture obtenue, en découplant les classes qui se trouvent aux frontières des clusters et en supprimant les relations d’héritage entre classes inter-composants, en les remplaçant par des relations de composition/délégation [1]. Ensuite, de nouvelles classes sont générées et instanciées pour « matérialiser » ces clusters et les connexions entre eux [2]. Dans la thèse de Soumia, nous avons traité la réutilisation à une granularité plus fine, celles des classes prises individuellement. Nous transformons chaque classe en descripteur de composant, en extrayant certaines expressions d’instanciation qui se trouvent dans le code de la classe, et en les remplaçant par des annotations qui sont utilisées par un système d’injection automatique de dépendances. Nous insérons par ailleurs les interfaces requises et fournies pour renforcer le découplage [3]. Nous avons réalisé quelques petites expérimentations pour évaluer les performances de nos méthodes. 

[1] Zakarea Alshara, Abdelhak-Djamel Seriai, Chouki Tibermacine, Hinde Lilia Bouziane, Christophe Dony, and Anas Shatnawi. Migrating large object-oriented applications into component-based ones: Instantiation and inheritance transformation. In Proceedings of the 14th International Conference on Generative Programming: Concepts and Experience (GPCE’15), Pittsburgh, PA, USA. ACM Press, October 2015.[2] Zakarea Alshara, Abdelhak-Djamel Seriai, Chouki Tibermacine, Hinde Lilia Bouziane, Christophe Dony, and Anas Shatnawi. Materializing architecture recovered from objectoriented source code in component-based languages. In Proceedings of the 10th European Conference on Software Architecture, ECSA 2016, Copenhagen, Denmark, pages 309325. Springer International Publishing, November 2016[3] Soumia Zellagui, Chouki Tibermacine, Hinde-Lilia Bouziane, Abdelhak-Djamel Seriai, and Christophe Dony. Refactoring object-oriented applications towards a better decoupling and instantiation unanticipation. In Proceedings of the International Conference on Software Engineering and Knowledge Engineering (SEKE’17), pages 450455, July 2017.

Biographie : Chouki Tibermacine a obtenu un diplôme d’ingénieur en systèmes informatiques en Algérie, en 2001. Il a ensuite préparé un Master en systèmes informatiques répartis à l’université Pierre et Marie Curie (actuellement Sorbonne Université, à Paris) entre 2002 et 2003. Il a démarré après une thèse de doctorat à l’université Bretagne-Sud, France sous la direction de Régis Fleurquin et Salah Sadou. Il a soutenu sa thèse en octobre 2006, sur le thème de la contractualisation de l’évolution des architectures à base de composants, comme une approche pour la préservation de la qualité. Il est actuellement enseignant-chercheur titulaire (maître de conférences, habilité à diriger des recherches) à l’université de Montpellier en France, depuis septembre 2007. Il enseigne à l’école polytechnique de l’université et fait ses recherches au LIRMM, le laboratoire d’informatique, de robotique et de microélectronique de Montpellier, où il est membre de l’équipe MaREL (Models and Reuse Engineering & Languages). Ses travaux de recherche s’articulent autour de la promotion du développement pour et par la réutilisation dans l’ingénierie du logiciel, avec comme concept central, celui de composant ou module. Il a co-dirigé 9 thèses de doctorat, soutenues entre 2011 et 2019, et une dizaine de stage de Master. Il a publié une quarantaine d’articles dans des conférences et revues internationales, depuis 2005 (voir la liste ici : http://www.lirmm.fr/~tibermacin/).Il a été co-chair du Doctoral Symposium d’ICSR 2020, Publicity Chair d’ECSA 2019, Workshop co-chair d’ASE 2018 et Publicity/Web chair d’ECOOP, ECSA et ECMFA 2013. Il a co-présidé l’organisation des journées du GDR (Groupe de recherche du CNRS, le centre national de la recherche scientifique en France) GPL (Génie de la Programmation et du Logiciel) en 2017 à Montpellier, et les comités de programme de CIEL (Conférence francophone sur l’IngénieriE du Logiciel, ex LMO) à Besançon, France en 2016 et de CAL (Conférence sur les Architectures Logicielles) à Grenoble, France en 2018. Il est membre régulier du comité de programme de plusieurs conférences internationales, comme ICWS (IEEE International Conference on Web Services) depuis 2018, et ECSA (European Conference on Software Architecture) depuis 2016, et francophones comme CIEL depuis 2013 et CAL depuis 2010. Il est relecteur régulier de revues internationales comme JSS (Journal of Software and Systems), SPE (Software: Practice and Experience), IEEE TSC (Transactions on Services Computing), et SoSyM (Software and System Modelling). Il a été co-responsable du groupe de travail RIMEL (Rétro Ingénierie,Maintenance et Evolution du Logiciel) du GDR GPL entre 2010 et 2015. 

 

clockCreated with Sketch.Date / heure

mercredi 24 mars 2021
12 h 30

pinCreated with Sketch.Lieu

UQAM - En ligne
zoom
00

personCreated with Sketch.Renseignements

  • Hafedh Mili

Mots-clés

Groupes