• Aucun résultat trouvé

teurs d’Alstom Transport souhaitent organiser les ressources logicielles et les ressources matérielles afin que le système résultant améliore l’ensemble de PNFs suivantes: sûreté, fiabilité, disponibilité et temps de réponse.

Plus précisément, dans ce projet, les concepteurs ferroviaires sont intéressés par l’application de patrons de conception (réplication logicielle, allocation de composants logiciels, raf- finement de modèles) dans le développement de systèmes embarqués critiques. L’application de ces patrons sera évaluée en fonction de leur impact en termes de sûreté, de fiabilité, de temps de réponse, et de maintenabilité, etc. Par exemple, nous considérons le patron de conception permettant de tripliquer des composants matériels. Ce patron consiste à repro- duire un composant matériel trois fois. Il utilise également un voteur pour (i) collecter les sorties des trois répliques, et (ii) déterminer la sortie finale réelle du système. Ainsi, le voteur représente un artefact de prise de décision. Cependant, l’utilisation d’un vo- teur augmente le temps de réponse du système, car le voteur communique avec chaque réplique matérielle et utilise des fonctions pour déterminer la sortie finale du système. D’autre part, en raison de l’utilisation de trois répliques matérielles le système est plus sûr. A noter aussi qu’on peut utiliser différents patrons de conception permettant de répli- quer un certain nombre de fois des composants matériels. Ainsi, différentes alternatives architecturales peuvent être produites à partir de l’application de ces patrons. Ces archi- tectures sont ensuite évaluées en termes de sûreté et de temps de réponse afin de trouver l’architecture qui maximise l’ensemble des PNFs.

Dans le projet FSF, nous proposons de (i) créer l’espace de conception des alternatives architecturales en utilisant des patrons de conception, (ii) évaluer les alternatives archi- tecturales par rapport à différentes PNFs, et (iii) comparer les alternatives afin de trouver l’architecture optimale.

9.2

Défis

Le but de cette thèse est de développer une approche basée sur les modèles qui con- tribue à la prédiction des propriétés non fonctionnelles (PNFs) d’un système logiciel. Pour développer une telle approche, nous devons surmonter les défis suivants.

Dans de nombreux cas, les PNFs sont conflictuelles: l’amélioration d’une PNF peut avoir un impact négatif sur d’autres PNFs. Par exemple, l’amélioration de la disponibil- ité d’un composant matériel se fait souvent par la réplication de ce composant, ce qui augmente le poids du système ainsi que le temps de réponse du composant répliqué. De même, l’allocation de plusieurs composants logiciels inter-connectés sur le même com- posant matériel améliore le temps de réponse du système. Pourtant, centraliser tous les

Chapter 9. Résumé de la thèse en Français

composants logiciels dans un seul composant matériel diminue la fiabilité du système. Dans ces exemples, l’amélioration d’une PNF diminue les autres PNFs. Ainsi, la mod- élisation d’un système qui améliore tous ses PNFs simultanément n’est pas possible dans le cas où les PNFs sont conflictuelles. Par conséquent, les concepteurs doivent envisager plusieurs alternatives architecturales, et doivent les explorer pour trouver les alternatives qui optimisent les PNFs. En d’autres termes, les concepteurs sont confrontés à un prob- lème d’optimisation multiple-objectifs (POMO).

Un POMO est caractérisé par (i) un espace de conception d’alternatives architecturales, et (ii) des fonctions objectifs qui évaluent la qualité de ces alternatives. Les fonctions ob- jectifs de chaque alternative dans l’espace de conception sont calculées pour évaluer la qualité de l’alternative. Dans cette thèse, les objectifs représentent des PNFs. Étant donné que les PNFs sont conflictuelles, il n’existe pas une unique alternative architecturale qui est optimale mais une variété de choix qui représentent différents compromis entre les PNFs. L’optimalité dans ce cas est définie en utilisant le concept de Pareto-dominance: une alternative architecturale domine une autre si elle est égale ou meilleure dans tous les objectifs et strictement meilleure dans au moins un objectif. Dans un espace de con- ception d’alternatives architecturales, celles-ci sont appelées solutions Pareto-optimales, elles représentent les alternatives architecturales qui dominent toutes les autres alterna- tives. Ainsi, la résolution d’un POMO consiste à trouver les alternatives architecturales Pareto-optimales.

Évaluer chaque alternative architecturale par rapport à des PNFs est une opération impossible en pratique, car l’espace de conception peut rapidement devenir très impor- tant. Par exemple, considérons un système embarqué contenant 30 composants logiciels, et 10 composants matériels. Chaque composant logiciel peut être alloué sur n’importe quel composant matériel, conduisant à un espace de conception composé de 1030 alter- natives architecturales. La complexité augmente encore plus quand il y a plusieurs PNFs en conflit. Dans ce cas la, chaque alternative architecturale est évaluée par rapport aux PNFs et les résultats de l’évaluation doivent être comparés avec les résultats d’évaluation de chacune des autres alternatives. Ce processus est appelé exploration de l’espace de conception.

L’exploration de l’espace de conception est un processus permettant d’explorer un espace de recherche composé d’alternatives architecturales, et d’identifier les solutions Pareto-optimal. Au cours des années précédentes, plusieurs travaux ont proposé des so- lutions à ce problème. Ces solutions sont basées sur des stratégies de recherche qui (i) vérifient l’exactitude des alternative architecturale et rejettent les solutions incorrects tout en explorant l’espace de conception, (ii) évaluent les alternatives correctes concernant dif-

Documents relatifs