• Aucun résultat trouvé

Afin de r´epondre aux lacunes de la litt´erature, nous avons propos´e dans cette th`ese des techniques d’analyse et d’optimisation permettant la synth`ese automatique d’architectures op´erationnelles pour les syst`emes temps r´eel distribu´es. Notre objectif principal est de prendre en compte le mod`ele fonctionnel durant cette phase de synth`ese.

L’analyse des temps de r´eponse ´etant un point essentiel, nous avons commenc´e par ´etudier les diff´erentes analyses existantes afin de d´eterminer celle appropri´ee `a notre mod`ele de syst`eme. Cependant, la majorit´e des analyses consid`erent un mod`ele de tˆaches comme ´etant le mod`ele d’analyse et supposent que le mod`ele fonctionnel est masqu´e. Nous avons donc ´et´e amen´es `a ajuster l’analyse holistique pour tenir compte de la r´epartition des ´el´ements du mod`ele fonctionnel sur ceux du mod`ele de tˆache. Initialement, nous avons montr´e que l’analyse des temps de r´eponse pour ce type de syst`emes d´epend de la s´emantique de synchronisation consid´er´ee pour les tˆaches. Autrement dit, elle se d´efinit par rapport aux instants auxquels une tˆache est capable de traiter une donn´ee en entr´ee et de fournir le r´esultat correspondant. Puis, nous avons pr´esent´e l’analyse appropri´ee `a chaque s´emantique.

Par la suite, le travail de cette th`ese se focalise principalement sur le d´eploiement d’un mod`ele fonctionnel, repr´esentant le comportement attendu du syst`eme, sur un mod`ele de plateforme compos´ee d’unit´es mat´erielles (des processeurs et des bus de communication) et logicielles (des tˆaches et des messages). Trois questions cl´es ont ´et´e identifi´ees et abord´ees : le placement des fonctions et des signaux respectivement sur les ressources de calcul et de communication, le partitionnement des fonctions et des signaux respectivement sur des tˆaches logicielles et des messages, et enfin, l’affectation des priorit´es aux tˆaches et messages permettant ainsi leur ordonnancement. Ces trois questions repr´esentent les pr´eoccupations majeures des concepteurs de syst`emes pour les phases d’int´egration et de configuration. Par cons´equent, les travaux pr´esent´es dans cette th`ese offrent des guides au concepteur dans

5.2 Rappel de la contribution 185

la prise de d´ecision pour les diff´erents choix r´epondant `a ces questions. Pour guider les choix, nous avons consid´er´e principalement les contraintes temporelles et les diff´erentes contraintes li´ees aux capacit´es des ressources telles que la m´emoire et la charge des processeurs. Du point de vue de l’optimisation, nous sommes int´eress´es `a la minimisation de la moyenne des latences. Au d´ebut, nous avons adress´e des syst`emes dont les activations sont pilot´ees par les donn´ees, puis, nous avons ´etendu notre proposition afin d’aborder les syst`emes bas´es sur des activations p´eriodiques. Cette extension a n´ecessit´e la r´esolution d’un quatri`eme sous probl`eme qui consiste en l’affectation du m´ecanisme de protection pour les donn´ees partag´ees. Nous avons consid´er´e l’utilisation des verrous s´emaphores et des blocs ”Rate Transition” comme de possibles m´ecanismes de protection. Les verrous s´emaphores ont un impact n´egatif sur le temps de r´eponse du syst`eme tandis que l’utilisation des blocs ”Rate Transition” r´esulte en une consommation m´emoire suppl´ementaire. Dans ce cas de syst`emes p´eriodiques, une optimisation multiobjectif s’int´eressant `a une solution de compromis entre la minimisation du temps de r´eponse et la minimisation de la consommation m´emoire a ´et´e propos´ee.

Pour r´esoudre ces probl`emes, une premi`ere approche s’appuie sur une formulation int´egrale du probl`eme de d´eploiement, vu comme une conjonction des sous probl`emes de placement, de partitionnement et d’ordonnancement, dans le cadre d’un programme lin´eaire mixte en nombres entiers (PLMNE). Elle int`egre toutes les contraintes du syst`eme consid´er´ees et vise `a optimiser les m´etriques cit´ees ci-dessus. Cette formulation exacte a permis d’assurer l’optimalit´e de la solution retourn´ee. Elle s’est av´er´ee inefficace pour les instances de taille importante, par exemple bas´ees sur 6 processeurs et 20 fonctions. N´eanmoins, cette solution est utile pour ´evaluer l’optimalit´e d’autres algorithmes sur des instances de taille limit´ee mais aussi pour guider la configuration des approches `a base de m´eta-heuristiques.

Afin de fournir une solution de d´eploiement applicable pour les applications ayant une taille similaire `a celle des cas d’´etude de la litt´erature, une approche de synth`ese en deux ´etapes permettant de r´eduire la complexit´e de l’approche int´egrale a ´et´e propos´ee. L’application de cette approche en deux ´etapes `a un ensemble de syst`emes g´en´er´es al´eatoirement a montr´e que cette alternative est capable de retourner des solutions int´eressantes par rapport `a la minimisation de la moyenne des latences. Cette approche se base aussi sur la programmation lin´eaire mixte en nombres entiers. Elle consiste `a utiliser en entr´ee une solution al´eatoire de partitionnement et d’ordonnancement pour explorer l’espace des solutions de placement possibles `a l’aide d’un PLMNE. Ensuite, dans la deuxi`eme ´etape, la solution de placement trouv´ee pr´ec´edemment est utilis´ee par un autre PLMNE pour chercher des alternatives de partitionnement et d’ordonnancement. Ce processus, repr´esent´e par les deux ´etapes, est r´ep´et´e jusqu’`a un point de convergence o `u la solution de d´eploiement trouv´ee ne change pas d’une it´eration `a l’autre. Cette propri´et´e de convergence est garantie puisqu’`a chaque it´eration le mˆeme objectif et les mˆemes contraintes sont vis´es. `A l’obtention d’un point de convergence, l’approche sugg`ere de consid´erer en entr´ee d’autres solutions al´eatoires de partitionnement et d’ordonnancement afin d’explorer diff´erentes parties de l’espace de recherche et de s’´echapper des optimaux locaux. Le but de l’approche ´etant qu’`a chaque it´eration elle puisse retourner une solution de d´eploiement meilleure que celle renvoy´ee durant l’it´eration pr´ec´edente.

Pour conclure, la proposition a permis de r´esoudre des lacunes dans le domaine du d´eveloppement logiciel des syst`emes temps r´eel critiques. L’une des lacunes r´eside dans l’analyse des temps de r´eponse appliqu´ee au mod`ele fonctionnel. Elle a ´egalement consid´er´e conjointement les probl`emes de placement, de partitionnement et d’ordonnancement. Cette conjonction a conduit `a une complexit´e beaucoup plus ´elev´ee en comparaison avec les approches existantes consid´erant ces probl`emes d’une mani`ere ind´ependante. En revanche les approches propos´ees fournissent de meilleures solutions de d´eploiement. Ceci

confirme l’int´erˆet d’adresser parall`element les diff´erentes questions permettant de r´esoudre le probl`eme de d´eploiement. Par ailleurs, la strat´egie employ´ee par l’approche en deux ´etapes a permis d’am´eliorer la solution de d´eploiement en comparaison avec les strat´egies d’optimisation existantes.