Processus pour la génération automatique de composants exécutables à partir de contraintes d'architecture
Abstract
Les contraintes d'architecture sont des spécifications définies par les
dé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 conditions
imposées par un patron ou un style architectural, ou bien une règle de conception
gé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 aucune
structure permettant leur paramétrage et réutilisation. Afin de pouvoir les vérifier
dans la phase d'implémentation nous proposons dans ce travail une méthode
pour traduire automatiquement ces spécifications en composants exécutables.
En plus de les rendre vérifiables en phase d'implémentation, nous avons choisi
de cibler les composants logiciels afin de rendre ces contraintes d'architecture
réutilisables, personnalisables et composables. Puisque les contraintes d'architecture
doivent analyser les descriptions d'architecture, les composants générés
utilisent 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ées
sur le métamodèle UML. Elle produit en sortie des composants programmés en
COMPO, un langage de programmation par composants réflexif développé par
notre équipe.