Participants : Charles Consel,
Renaud Marlet.
Mots clés : génie logiciel,
architecture logicielle, interprète, machine abstraite
.
- Architecture logicielle
- Moyen de structurer un logiciel complexe. Parmi
les architecture logicielles les plus courantes on peut
citer les bus logiciels, les architectures en couches,
les systèmes de communication par évènements ou messages,
les langages dédiés et les langages de
coordination.
Résumé :
L'évaluation partielle est un outil qui permet de
traiter le compromis flexibilité/efficacité dans les
logiciel. De ce fait, nous avons montré qu'il était
possible d'optimiser l'implémentation de nombreuses
architectures logicielles au moyen de Tempo.
Pour de nombreuses approches de génie logiciel,
l'évaluation partielle s'avère être un outil tout à fait
général pour traiter le compromis flexibilité/efficacité qui
existe dans ce domaine [4,6]. Après recherche de la source de
l'inefficacité au sein de plusieurs architectures
logicielles, nous avons observé que celle-ci était en partie
due à l'intégration des données et du contrôle lors de
l'assemblage des divers composants d'un système. La raison
tient à ce que la flexibilité n'apparaît pas uniquement au
stade de la conception, mais se matérialise également dans
l'implémentation. Nous proposons d'utiliser la spécialisation
comme moyen systématique pour améliorer la performance et,
dans certains cas, réduire la taille des programmes. Nous
avons étudié pour cela plusieurs implémentations
représentatives de mécanismes flexibles employés dans
diverses architectures logicielles : diffusion
sélective, recherche de motifs, interprètes, couches
logicielles, bibliothèques génériques. Nous avons montré
comment une application systématique de l'évaluation
partielle conduisait à l'optimisation de ces
mécanismes [14].