Ghizlane El Boussaidi : optimiser le développement de logiciels

Comment moderniser des systèmes informatiques datant des années 80 qu'on retrouve encore ici et là dans beaucoup de secteurs? Comment créer plus rapidement des applications logicielles qui seront en prime, plus efficaces et plus fiables? C'est sur ce genre de problématiques que travaille Ghizlane El Boussaidi, professeure au Département de génie logiciel et des technologies de l'information.

Adopter les bonnes pratiques de conception logicielle

Pour développer une application, on ne part jamais de zéro : on puise dans un bassin de connaissances et de techniques éprouvées que l’on ajuste selon le logiciel et les fonctionnalités à déployer. 

Les travaux de recherche de Ghizlane El Boussaidi consistent alors à développer des techniques et outils supportant les bonnes pratiques de conception logicielle, et plus spécifiquement la mise en œuvre de patrons de conception et de styles architecturaux. 

Moderniser les systèmes patrimoniaux

Dans le domaine du transport, de la finance, des assurances et d’autres secteurs traditionnels, il n'est pas rare de voir encore des systèmes informatiques datant des années 70 ou 80… On parle dans ce cas de systèmes patrimoniaux. Les technologies ayant considérablement évolué, l’architecture de ces systèmes limite leur intégration avec de nouvelles applications.

La professeure El Boussaidi conçoit des outils qui permettent aux développeurs de comprendre et de reconstruire l’architecture des systèmes patrimoniaux, et les aident à assurer la migration vers de nouvelles architectures. Son travail ressemble souvent à une sorte d’archéologie informatique!

Utiliser des langages dédiés aux domaines

Elle consacre une partie de mes recherches aux langages dédiés (domain-specific languages). Il s’agit de langages de modélisation dont les spécifications répondent aux contraintes d’un domaine d'application précis.

Ces langages dédiés sont particulièrement utiles dans la conception de systèmes critiques en transport, en avionique et en aérospatial. Ils permettent de décrire de manière formelle les exigences d’une application en recourant à des concepts, un vocabulaire et une grammaire propres au domaine, ce qui débouche sur des logiciels extrêmement fiables.