Thèse soutenue

Construire et maîtriser l'évolution d'une architecture logicielle à base de composants

FR  |  
EN
Auteur / Autrice : Olivier Barais
Direction : Laurence Duchien
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2005
Etablissement(s) : Lille 1

Résumé

FR  |  
EN

Dans une industrie du logiciel où la complexité des applications ne cesse de croître, un des objectifs du génie logiciel est de conserver l'intelligibilité du processus de construction et de maintenance de ces applications. Dans ce cadre, le concept de composant a été introduit comme une extension du concept d'objet pour faciliter la conception d'applications réparties complexes, c'est-à-dire formées de nombreux éléments en coopération, distribuées sur différents sites d'exploitation, et de nombreuses contraintes qui expriment des exigences variées (persistance, sécurité, tolérance aux pannes, etc. ). Il existe à ce jour de nombreux modèles de composants avec des objectifs différents. Cependant, un des points communs de ces modèles est la mise en lumière de l'architecture de l'application, c'est-à-dire une description de haut niveau de cette application décomposée en différents composants interconnectés et définis par leurs fonctionnalités requises et offertes. De par la complexité de certaines applications, la définition de l'architecture est elle-même une opération délicate et très propice aux erreurs. L'objectif de cette thèse vise à améliorer la maîtrise de la complexité de la construction de l'architecture d'une application définie par assemblage de composants. Nous proposons pour cela un modèle de composant abstrait, nommé SafArchie, qui permet d'assister l'architecte dans la construction d'une architecture logicielle cohérente. Ainsi, dans SafArchie, l'interface des différents composants d'une architecture est spécifiée à l'aide de contrats. Ces contrats permettent de définir la structure du composant, mais aussi son comportement vis-à-vis de son environnement. A partir de ces différentes informations et de la définition de l'assemblage de composants, nous proposons une notion de compatibilité entre composants interconnectés. Cette compatibilité permet de déterminer la cohérence de l'architecture.