Traduction de spécifications de contraintes d'architecture en composants exécutables
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. Ces spécifications peuvent être exprimées avec un langage standardisé comme OCL (Object Constraint Language). Afin de vérifier ces contraintes d'architecture dans la phase d' implémentation nous devrions soit: i) réécrire entièrement ces contraintes avec un langage qui est interprétable dans cette phase de développement , ou ii) développer de nouveaux interpréteurs pour le langage de contrainte (OCL, par exemple) qui peuvent analyser le code des programmes sur lesquels les contraintes doivent être vérifiées. Ce dernier choix est difficile à mettre en œuvre et nécessite beaucoup de travail. Cependant, même en optant pour la première solution, la tâche de réécrire entièrement les contraintes dans la phase d' implémentation est fastidieuse et source d'erreurs. Nous proposons dans ce travail une méthode pour traduire les spécifications de contraintes d'architecture 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 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éta-modèle UML. Elle produit des composants programmés en COMPO, un langage de programmation par composants.
Origin | Files produced by the author(s) |
---|
Loading...