Résumé
Les contraintes d'architecture sont des spécifications définies par lesdéveloppeurs dans la phase de conception, qui permettent de vérifier, après uneévolution de l'architecture, si sa description est encore conforme aux conditionsimposées par un patron ou un style architectural, ou bien une règle de conceptiongénérale. Ces spécifications peuvent être exprimées avec un langage standardisécomme OCL. Elles sont la plupart du temps des spécifications brutes sans aucunestructure permettant leur paramétrage et réutilisation. Afin de pouvoir les vérifierdans la phase d'implémentation nous proposons dans ce travail une méthodepour traduire automatiquement ces spécifications en composants exécutables.En plus de les rendre vérifiables en phase d'implémentation, nous avons choiside cibler les composants logiciels afin de rendre ces contraintes d'architectureréutilisables, personnalisables et composables. Puisque les contraintes d'architecturedoivent analyser les descriptions d'architecture, les composants générésutilisent le mécanisme de réflexivité standard fourni par le langage de programmation.Notre implémentation prend en entrée des contraintes OCL spécifiéessur le métamodèle UML. Elle produit en sortie des composants programmés enCOMPO, un langage de programmation par composants réflexif développé parnotre équipe.