• Aucun résultat trouvé

Probl`eme de distribution et d’ordonnancement temps r´eel et fiable

3.3 Fiabilit´e des syst`emes r´eactifs

3.3.3 Probl`eme de distribution et d’ordonnancement temps r´eel et fiable

Durant le processus de conception d’un syst`eme r´eactif, le but d’un algorithme de distribu-tion/ordonnancement est d’allouer spatialement et temporellement les composants logiciels sur les composants mat´eriels de l’architecture, tout en respectant des contraintes temporelles et mat ´erielles. Cependant, cette allocation ne prend pas en compte la probabilit´e de d´efaillance des composants mat´eriels, ce qui peut avoir un effet consid´erable sur l’augmentation de la probabilit´e de d´efaillance d’un syst`eme [73]. Donc, il est important que les algorithmes de distribution/ordonnancement prennent en compte les taux de d´efaillance des composants mat´eriels durant leur processus d’al-location spatiale. Ceci afin de r´eduire l’effet des d´efaillances sur l’ex´ecution des composants logi-ciels, d’o`u l’augmentation de la probabilit´e de bon fonctionnement du syst`eme.

Nous avons ainsi un nouveau probl`eme de distribution/ordonnancement que nous appelons

«probl`eme de distribution/ordonnancement temps r´eel et fiable ». Il peut ˆetre formalis´e comme suit :

Probl`eme 3 ´Etant donn´es :

• une architecture mat´erielle h´et´erog`eneArc compos´ee den composants mat´eriels :

Arc = {p1, ..., pn} • un algorithme Alg compos´ee dem composants logiciels :

Alg = {o1, ..., om}

• des caract´eristiques d’ex´ecutionExe des composants de Alg sur les composants de Arc, • un ensemble de contraintes mat´eriellesDis et un ensemble de contraintes temps r´eelRtc, • un ensemble de taux de d´efaillancesTdef des composants mat´eriels,

• un ensemble de crit`eres `a optimiser, parmi lesquels une fonction Fiab d’´evaluation de la fiabilit´e de ce syst`eme,

il s’agit de trouver une applicationA qui place chaque composant oideAlg sur un composant pj deArc, et qui lui assigne un ordre d’ex´ecutiontk sur son processeur :

A : Alg −→ Arc

oi 7−→ A(oi) = (pj, tk)

qui doit satisfaireDis et Rtc, et optimiser les crit`eres sp´ecifi´es, parmi lesquels maximiser la fonc-tionFiab.

Remarque 4 L’architecture mat´erielle est h´et´erog`ene, donc les taux de d´efaillance de ses divers composants (processeurs, m´edia de communication . . . ) sont a priori distincts.

3.4 Conclusion

Dans ce chapitre, nous avons pr´esent´e deux aspects diff´erents de la sˆuret´e de fonctionnement des syst`emes r´eactifs distribu´es et embarqu´es, qui sont la tol´erance aux fautes et la fiabilit´e. La tol´erance aux fautes est mise en œuvre par la d´etection des erreurs et le traitement des erreurs. La fiabilit´e repr´esente une mesure quantitative qui permet d’´evaluer le bon fonctionnement d’un syst`eme durant son exploitation.

Dans ce travail, nous utiliserons la technique de la compensation des erreurs pour tol ´erer des fautes mat´erielles dans un syst`eme distribu´e r´eactif embarqu´e. Afin d’´evaluer la fiabilit´e de ces syst`emes, nous utiliserons un mod`ele bas´e sur la th´eorie de l’ordonnancement. Ces choix sont mo-tiv´es par les caract´eristiques des syst`emes consid´er´es et les contraintes auxquelles ils sont soumis : embarquabilit´e, temps r´eel, distribution et criticit´e.

Deuxi`eme partie

ethodologies pour la g´en´eration de

distributions et d’ordonnancements temps

«Le difficile, ce n’est pas de donner, c’est de ne pas tout donner. »

Sidonie GABRIELLE

Chapitre 4

Mod`eles

esum´e

Ce chapitre pr´esente les mod`eles prisent en compte dans ce travail. Ce sont le mod`ele d’al-gorithme, le mod`ele d’architecture et le mod`ele d’ex´ecution. Le mod`ele d’algorithme d´ecrit la sp´ecification des composants logiciels de l’algorithme. Le mod`ele d’architecture d´ecrit la sp´ecification de l’architecture mat´erielle distribu´ee. Et le mod`ele d’ex´ecution d´ecrit le mode d’ex´ecution des composants logiciels de l’algorithme sur les composants mat ´eriels de l’architecture.

4.1 Introduction

Dans la sp´ecification des syst`emes informatiques, on peut distinguer deux approches princi-pales de sp´ecification : une approche non formelle et une approche formelle. L’approche non for-melle, appel´ee approche classique, consiste `a ´ecrire `a la main une sp´ecification papier, et `a partir de cette sp´ecification l’implantation peut ˆetre ´ecrite `a la main dans un langage de programmation. L’approche formelle consiste `a ´ecrire la sp´ecification dans un langage de sp´ecification de haut niveau, ce qui permet en premier temps la v´erification de cette sp´ecification par des outils de vali-dation formelle (v´erification, preuve, . . . ), et en deuxi`eme temps `a utiliser des outils de g´en´eration automatique de code pour produire du code compilable (par exemple du C).

En raison de la criticit´e des domaines applicatifs consid´er´es (nucl´eaire, avionique, spatial, . . . ) nous avons opt´e pour l’approche formelle pour la sp´ecification des syst`emes distribu´es r´eactifs embarqu´es. Ces syst`emes peuvent ˆetre d´ecompos´es en deux parties principales, qui sont l’algo-rithme et l’architecture mat´erielle. La sp´ecification de ces syst`emes consiste `a d´ecrire l’algol’algo-rithme (mod`ele d’algorithme), l’architecture mat´erielle (mod`ele d’architecture), et le mode d’ex´ecution de l’algorithme sur l’architecture mat´erielle (mod`ele d’ex´ecution). Nous donnons dans ce cha-pitre une br`eve pr´esentation de ces trois mod`eles qui sont bas´es sur les mˆemes mod`eles que la

m´ethodologie AAA1 [35, 74] implant´ee dans SYNDEX. AAA consiste `a mettre en correspon-dance de mani`ere efficace l’algorithme sur l’architecture mat´erielle pour r´ealiser une implantation optimis´ee, elle est bas´ee sur l’heuristique de distribution/ordonnancement temps r´eel que nous avons pr´esent´ee dans le chapitre 2 (cf. section 2.6, page 27).