FR 3077698 A1 20190809 FR 1800122 A 20180208 Procédé d'optimisation d'un système embarqué et dispositifs associés La présente invention concerne un procédé d'optimisation d'un système embarqué. La présente invention se rapporte également à un produit programme d'ordinateur adapté à la mise en oeuvre d'un tel procédé d'optimisation. La présente invention concerne aussi un support lisible d'informations propre à mettre en oeuvre le procédé d'optimisation. La présente invention se rapporte également à un système embarqué associé au procédé d'optimisation. A titre d'exemple, dans le domaine avionique, des systèmes temps réel sont utilisés. La plupart des systèmes embarqués comporte des composants tels que des unités de calcul, des capteurs et des actionneurs, chaque composant dialoguant avec les autres à travers des dispositifs de communications. Il peut s'agir de bus de communication (tous les composants dialoguent à travers le même lien) ou de réseaux commutés comme pour l'Internet. Dans le cas des réseaux commutés, la manière dont deux composants dialoguent est appelée protocole réseau. Chaque composant communique une donnée via des paquets qui sont des enveloppes réseaux permettant de transporter la donnée. En pratique, un système peut être sujet à des défaillances transitoires, c'est-à-dire des erreurs de transmission de paquet réseau. Par exemple, un paquet réseau peut être corrompu à cause d'une erreur matérielle conduisant à une inversion de bit. Bien que de telles erreurs soient des événements très rares, il convient de gérer ces erreurs qui peuvent altérer l'intégrité du paquet. Pour vérifier que le paquet arrive intact, il est connu de faire un contrôle sur l'intégrité des paquets entre un émetteur et un récepteur via des codes détecteurs ou correcteurs d'erreurs (tels qu'une somme de contrôle) ajoutés en queue. Les codes permettent dans tous les cas de détecter une erreur et éventuellement de la corriger. Dans l'hypothèse où il est détecté une erreur que le récepteur ne sait pas corriger, le paquet est détruit et une notification est éventuellement retournée à l'émetteur. Un tel contrôle couplé à la mise en oeuvre d'une retransmission du paquet dans certains cas est suffisant pour des flux de communication non critiques mais insuffisant pour les flux de communication ayant des propriétés dites temps réel. Il s'agit de garantir qu'une donnée ou plus précisément un paquet arrive à destination avant une échéance stricte. Cela suppose d'une part que le paquet arrive intact et d'autre part dans le temps imparti. 2 En d'autres termes, pour répondre aux problématiques de garantie d'un fonctionnement temps réel, il est souhaitable de bien gérer les erreurs transitoires de transmission pour garantir un bon fonctionnement du système temps réel. Une technique pour gérer de telles erreurs dans un contexte temps réel est de 5 dupliquer les communications le long de chemins disjoints. Une telle technique suppose que les erreurs de transmission sont si rares qu'une donnée en subira au plus une sur l'un des deux chemins. Si une erreur apparaît de sorte qu'une des données arrive trop tard au récepteur, alors au moins l'autre donnée arrive au récepteur à temps. Toutefois, une telle technique implique un doublement des ressources réseau 10 utilisées, doublement qui est la plupart du temps inutile du fait que les erreurs de transmission sont rares. De plus, une telle technique repose sur l'hypothèse qu'un des paquets arrive à destination sans erreurs, ce qui a une probabilité de ne pas être vrai. Pour pallier ce dernier problème, il est connu de calculer le risque que deux paquets arrivent à destination avec une erreur. Lorsque le risque calculé est supérieur à 15 la fiabilité voulue pour le système temps réel, le nombre de paquets retransmis est augmenté, par exemple, le même paquet est transmis trois, quatre ou cinq fois. Cela augmente d'autant le nombre de ressources impliqué dans le système. Dans le cas de réseaux capables de retransmettre un paquet ayant subi une erreur de transmission, si la réception d'un paquet n'a pas été acquittée par le voisin 20 après un temps d'attente, ou que ce dernier a envoyé un acquittement négatif, alors l'émetteur retransmet le paquet. Dans un tel cas, la multiplication des retransmissions est encore moins indiquée puisqu'elle n'exploite pas la présence d'un tel mécanisme de retransmission. Toutefois, l'exploitation d'un tel mécanisme n'est pas aisée dans la mesure où la 25 retransmission d'un paquet implique que l'émetteur a envoyé deux paquets au lieu d'un, ce qui retarde l'arrivée de la donnée complète et peut lui faire manquer l'échéance. Il existe également une probabilité plus faible qu'un train de paquets correspondant à une donnée subisse deux erreurs de transmission ou plus. L'existence d'une telle probabilité, même faible, montre que la fiabilité du système temps réel n'est pas garantie. 30 Pour traiter un tel problème, il est connu d'utiliser des approches probabilistes pour vérifier la conformité d'un système temps réel à une exigence statistique. L'exigence statistique à remplir correspond à la fiabilité (dénommée « reliability » en anglais) du système temps réel et plus précisément à la probabilité qu'aucune défaillance non gérée n'ait lieu durant l'intervalle de temps considéré (typiquement durée d'utilisation du système). Une telle condition est équivalente à un temps moyen entre défaillances transitoires qui est obtenu en divisant l'intervalle de temps considéré par la 3 fiabilité souhaitée. Dans un tel cas, une défaillance correspond au cas où une donnée subit plus de retransmissions que la borne fixée. Il est alors connu de concevoir un composant puis d'observer les propriétés statistiques du composant conçu en utilisant un modèle d'erreurs basé sur un processus 5 de Poisson pour obtenir la probabilité que, sur la durée de vie du système, les tâches ne vont pas subir plus de retransmissions que prévu. Lorsque le critère de fiabilité n'est pas rempli, une autre architecture pour le composant est proposée puis évaluée. Cependant, le processus itératif de conception peut être long pour obtenir un système temps réel respectant la fiabilité désirée. En outre, une telle méthode est 10 incompatible avec une analyse incrémentale du fait que la probabilité calculée prend en compte l'ensemble des tâches mises en oeuvre par le système temps réel. Il existe donc un besoin pour un procédé d'optimisation d'un système embarqué, notamment propre à fonctionner en temps réel, qui permette d'obtenir un système embarqué avec moins de ressources impliquées tout en respectant une exigence de 15 fiabilité et de préférence, une allocation des ressources adaptée au besoin en fiabilité. Pour cela, la présente description porte sur un procédé d'optimisation d'un système embarqué, le système embarqué comportant des composants, chaque composant communiquant avec un autre composant par échange d'au moins un paquet, chaque paquet comportant au moins une partie d'une donnée, l'ensemble des 20 composants formant un réseau de communication comportant des liens, le procédé comportant au moins une étape de fourniture d'une exigence statistique globale pour le système embarqué, de décomposition de l'exigence statistique globale en exigences individuelles, une exigence individuelle pour chaque lien à un flux donné, et, pour chaque lien, de détermination du nombre de transmissions de paquets garantissant le respect de 25 l'exigence individuelle propre au lien considéré. Suivant des modes de réalisation particuliers, le procédé d'optimisation comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - lors de l'étape de détermination, il est supposé que les erreurs sur la 30 transmission d'un paquet suivent une loi statistique. - la loi statistique est une loi de Poisson. - lors de l'étape de détermination, un processus itératif est mis en oeuvre. - lorsque le nombre de transmissions de paquets est trop élevé sur un lien, le procédé comporte une étape d'allocation de ressources supplémentaires au 35 système embarqué. 4 - l'exigence statistique globale est que le temps moyen entre deux échecs pour le système est inférieur à une valeur prédéfinie. - les liens du système embarqué sont suivant une architecture SDRN. La présente description se rapporte également à un produit programme 5 d'ordinateur comportant un support lisible d'informations, sur lequel est mémorisé un programme d'ordinateur comprenant des instructions de programme, le programme d'ordinateur étant chargeable sur une unité de traitement de données et adapté pour entraîner la mise en oeuvre d'un procédé tel que précédemment décrit lorsque le programme d'ordinateur est mis en oeuvre sur l'unité de traitement des données. 10 La présente description concerne aussi un support lisible d'informations mémorisant un programme d'ordinateur comprenant des instructions de programme, le programme d'ordinateur étant chargeable sur une unité de traitement de données et adapté pour entraîner la mise en oeuvre d'un procédé tel que précédemment décrit lorsque le programme d'ordinateur est mis en oeuvre sur l'unité de traitement des 15 données. La présente description se rapporte également à un système embarqué comportant des composants, chaque composant communiquant avec un autre composant par échange d'au moins un paquet, chaque paquet comportant au moins une partie d'une donnée, l'ensemble des composants formant un réseau de communication comportant 20 des liens, le système comportant un contrôleur, le contrôleur étant propre à mettre en oeuvre un procédé tel que précédemment décrit. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit de modes de réalisation de l'invention, donnés à titre d'exemple uniquement et en référence aux dessins qui sont : 25 - figure 1, une vue schématique d'un exemple de système permettant la mise en oeuvre d'un procédé d'optimisation d'un système embarqué, - figure 2, une représentation schématique d'un réseau suivant une architecture SDRN comportant un contrôleur propre à mettre en oeuvre un contrôle d'admission, et 30 - figure 3, un organigramme d'un exemple mise en oeuvre d'un exemple de contrôle d'admission. Un ordinateur 10 et un produit programme d'ordinateur 12 sont représentés à la figure 1. L'interaction du produit programme d'ordinateur 12 avec le système 10 permet de mettre en oeuvre un procédé d'optimisation d'un système embarqué. 35 Plus généralement, l'ordinateur 10 est un calculateur électronique propre à manipuler et/ou transformer des données représentées comme des quantités 5 électroniques ou physiques dans des registres de l'ordinateur 10 et/ou des mémoires en d'autres données similaires correspondant à des données physiques dans des mémoires, des registres ou d'autres types de dispositifs d'affichage, de transmission ou de mémorisation. 5 L'ordinateur 10 comporte un processeur 14 comprenant une unité de traitement de données 16, des mémoires 18 et un lecteur 20 de support d'informations. L'ordinateur 10 comprend également un clavier 22 et une unité d'affichage 24. Le produit programme d'ordinateur 12 comporte un support lisible d'informations. Un support lisible d'informations est un support lisible par l'ordinateur 10, 10 usuellement par l'unité de traitement de données 14. Le support lisible d'informations est un médium adapté à mémoriser des instructions électroniques et capable d'être couplé à un bus d'un système informatique. A titre d'exemple, le support lisible d'informations est une disquette ou disque souple (de la dénomination anglaise de « tloppy disk »), un disque optique, un CD-ROM, 15 un disque magnéto-optique, une mémoire ROM, une mémoire RAM, une mémoire EPROM, une mémoire EEPROM, une carte magnétique ou une carte optique. Sur le support lisible d'informations est mémorisé un programme d'ordinateur comprenant des instructions de programme. Le programme d'ordinateur est chargeable sur l'unité de traitement de données 14 20 et est adapté pour entraîner la mise en oeuvre du procédé d'optimisation. Le fonctionnement de l'ordinateur 10 en interaction avec le produit programme d'ordinateur 12 est maintenant décrit en référence à un exemple de mise en oeuvre d'un procédé d'optimisation d'un système embarqué. Le système embarqué comportant des composants, chaque composant 25 communiquant avec un autre composant par échange d'au moins un paquet, chaque paquet comportant au moins une partie d'une donnée (un paquet est un ensemble d'en-tête et d'une partie utile transportant ladite au moins une partie d'une donnée), l'ensemble des composants formant un réseau de communication comportant des liens L. Chaque lien L est propre à être traversé par un flux de communication f 30 permettant la circulation des paquets, et donc des données, entre les composants. Dans le contexte décrit, le système embarqué est un système temps réel. Le procédé comporte une étape de fourniture, une étape de décomposition et une étape de détermination. Lors de l'étape de fourniture, il est fourni une exigence statistique globale pour le 35 système embarqué. 6 L'exigence globale statistique est exprimée de la façon suivante : une probabilité p qu'une donnée (n'importe laquelle) arrive trop tard à destination à cause des erreurs de transmission pendant un intervalle de temps IT doit être inférieure ou égale à une valeur prédéfi nie. 5 Par exemple, l'intervalle de temps IT considéré est la durée d'utilisation du réseau. De manière analogue, l'exigence globale statistique peut s'exprimer sous forme d'un temps moyen entre deux échecs TME, un échec étant dans ce cas le fait qu'une donnée arrive trop tard à sa destination à cause des erreurs de transmission. Le temps moyen entre deux échecs TME est relié à la probabilité p et à l'intervalle de temps IT 10 selon la relation suivante : IT TME = - Dans la suite, l'exigence globale statistique est exprimée en utilisant la notion de temps moyen entre deux échecs TME, sachant que, de manière équivalente, il est possible d'utiliser la probabilité p et l'intervalle de temps IT. Ainsi, l'exigence globale statistique s'exprime sous la forme d'une inégalité, à 15 savoir que le temps moyen entre deux échecs TME pour le système est inférieur à une valeur prédéfinie. Lors de l'étape de décomposition, l'exigence statistique globale est décomposée en exigences individuelles de temps moyen entre deux échecs TME pour chaque lien L traversé par un flux de communication. 20 Pour cela, il est considéré que les composants du réseau sont en série en termes de défaillance : si un paquet arrive trop tard sur l'un des liens L, alors le réseau est considéré comme défaillant globalement. Dans un cas de système à deux composants Cl et C2, cela signifie que le temps moyen entre deux échecs du système TMEsystème est relié à la fois au temps moyen entre 25 deux échecs du premier composant TME'ci et au temps moyen entre deux échecs du deuxième composant TME'c2 par la relation suivante : 1 1 1 TMEsystème TMEC1 + TMEc2 En supposant que les deux composants sont identiques, alors le temps moyen entre deux échecs du premier composant TME'ci est égal au temps moyen entre deux échecs du deuxième composant TME'c2 de sorte que la relation précédente devient : TMEci TMEsystème 2 7 Un tel raisonnement se généralise aisément à un nombre quelconque de composants identiques. En notant n le nombre de composants du système (n étant un nombre entier supérieur ou égal à 2) et TME'mposant le temps moyen entre deux échecs de chaque composant, il est obtenu : TMEcomposant TMEsystème = 5 En l'occurrence, les composants du raisonnement précédent modélisent les liens L. Il vient ainsi : TME(L) = TMEsystème * où : - ni, est le nombre de liens L du système, et - TME(L) désigne le temps moyen entre deux échecs pour le lien L, L étant 10 dans ce contexte un entier compris entre 1 et nL. Comme expliqué précédemment, un flux de communication transite dans chaque lien L. Le flux de communication transitant dans un lien L est spécifique à celui-ci. Le flux de communication est noté f dans ce qui suit. En outre, chaque lien L est divisé en une pluralité de canaux que le flux de 15 communication f consomme selon un coefficient de consommation noté wf,L. Il en résulte que : nc,i. nc,L TME(L, f) = TME(L) *- = TMEsystème * ni, * Wf ,L Wf,L où: - nc,L est le nombre de canaux d'un lien L du système, et - TME(L, f) désigne le temps moyen entre deux échecs pour le lien L et un 20 flux de communication f. En connaissant la structure du système du point de vue des échanges entre les composants, le nombre de canaux d'un lien L du système nc,L, le nombre de liens L et les coefficients de consommation wf,L sont connus. En rappelant ici que l'exigence globale statistique qui s'exprime sous la forme d'une inégalité, à savoir que le temps moyen entre 25 deux échecs TME pour le système est inférieur à une valeur prédéfinie, la formule précédente permet d'obtenir une valeur maximale pour le temps moyen entre deux échecs pour le lien L et un flux de communication TME(L, f). Le respect de cette relation est une exigence individuelle. A l'issue de l'étape de décomposition, il est ainsi obtenu une exigence individuelle 30 spécifique pour chaque lien L traversé par un flux de communication et garantissant que l'exigence globale statistique est vérifiée. n 8 Lors de l'étape de détermination, il est déterminé, pour chaque lien, le nombre de transmissions de paquets garantissant le respect de l'exigence individuelle associé au lien. Pour cela, une donnée est simulée comme une donnée étendue, c'est-à-dire 5 comme la donnée répétée autant de fois que la donnée est transmise. A titre d'exemple, pour un ensemble de paquets correspondant à une donnée qui est transmis trois fois, la taille de la donnée étendue est égale à trois fois la taille de la donnée. Pour la suite, le nombre de paquets supplémentaires à retransmettre dans le pire 10 cas (toujours selon l'exigence statistique) est noté Kf L alors que Ofj, est la taille totale de la donnée sans retransmission. Le pire cas est le cas où chaque erreur de bit touche un paquet différent de la donnée, le nombre de retransmissions étant alors égal au nombre d'erreurs de bits. Par ailleurs, le taux moyen d'erreurs de bits dans le réseau est noté BER en 15 référence au sigle anglais renvoyant au terme anglais de « Bit Error Rate » qui signifie littéralement « taux d'erreurs de bits ». La période minimale entre chaque envoi de donnée dans le flux est notée Tf. Il est supposé dans l'étape de détermination que les erreurs de bits suivent une loi statistique qui est, en l'occurrence une loi de Poisson. 20 La loi de Poisson est une loi de probabilité discrète qui décrit le comportement du nombre d'évènements se produisant dans un intervalle de temps fixé, si ces évènements se produisent avec une fréquence moyenne ou espérance connue et indépendamment du temps écoulé depuis l'évènement précédent. Si le nombre moyen d'occurrences dans l'intervalle de temps fixé est 2. (nombre réel strictement positif), alors la probabilité p(k) 25 que k occurrences surviennent est donnée par : p(k) = 17e-À Où: - e désigne la fonction exponentielle, et - ! désigne la fonction factorielle. Dans le cas considéré de l'étape de détermination, le paramètre de la loi de 30 Poisson dans le flux f est noté ÀLL. Physiquement, le paramètre de la loi de Poisson /ILL est le nombre moyen de retransmissions par donnée, c'est-à-dire le nombre moyen d'erreurs de bits par donnée. 9 Le paramètre de la loi de Poisson À L est relié au taux moyen d'erreurs de bits BER et à la taille totale de la donnée sans retransmission Of,L par la relation mathématique suivante : = BER. Of ,L Cela implique que l'exigence individuelle à respecter s'écrit : 1 Kf,L = kENI p(x > k). Tf TME(L, f) 5 En prenant en compte la loi de Poisson, il en résulte que l'exigence individuelle à respecter devient : kENI 1 Tf TME(L, f) 1 - ef,L, Ài L EÎ 0 fir Les retransmissions induites par ces erreurs peuvent à nouveau subir des erreurs. L'étape de détermination suppose donc d'itérer le processus précédent pour converger vers une valeur optimale du nombre de paquets supplémentaires à retransmettre dans le 10 pire cas KLL. Une itération du processus est détaillée dans ce qui suit en sept étapes. Lors de la première étape, la condition précédente permet d'obtenir une valeur pour le nombre de paquets supplémentaires à retransmettre dans le pire cas Icf,L. Dans une deuxième étape, il est calculé la nouvelle taille totale de la donnée sans 15 retransmission 1911-,L selon la formule suivante : 19'LL =19f,L-4- Kf Lors de la troisième étape, la nouvelle taille totale de la donnée sans retransmission O' f ,L correspond à un nouveau flux de communication f qui consomme selon un nouveau coefficient de consommation qui est noté w'LL. Lors de la quatrième étape, le nouveau temps moyen TMEI(L, f) entre deux 20 échecs pour le lien L et un flux de communication f est calculé via la formule suivante : TME'(L, f) = TME(L) *nc'L Wf,L Il est également déterminé dans la cinquième étape le nouveau paramètre de la loi de Poisson À.'f,L, via la relation : A.1 f,L = BER. 9f ,L La nouvelle exigence individuelle à respecter s'écrit alors selon la formule keNI 1ÀI . TME'(L, f) ce qui permet dans une sixième étape une nouvelle Eit (e* 25 valeur pour le nombre de paquets supplémentaires à retransmettre dans le pire cas le f,L. 10 Lors d'une septième étape, la nouvelle valeur pour le nombre de paquets supplémentaires à retransmettre dans le pire cas Kif ,L (obtenue à la sixième étape) et la valeur pour le nombre de paquets supplémentaires à retransmettre dans le pire cas icf,L (obtenue à la première étape) sont comparées. Tant que les deux valeurs sont 5 différentes, il est choisi de réitérer le processus. A l'issue de l'étape de détermination, il est ainsi obtenu pour chaque lien le nombre de paquets supplémentaires à retransmettre dans le pire cas Kf,L. Pour une architecture donnée, le procédé permet ainsi d'obtenir le nombre de paquets à retransmettre pour chaque lien L, ce qui se traduit simplement par le fait que le 10 paquet effectivement transmis comporte icf I. fois la donnée à transmettre entre les deux composants via le lien L. Le procédé force le respect de l'exigence de fiabilité au lieu de la vérifier a posteriori et permet l'allocation incrémentale des ressources réseau sous contrainte de fiabilité. Il s'agit ainsi d'une utilisation inversée de la théorie des temps moyens entre deux 15 échecs TME pour garantir une situation statistique plutôt que l'observer. Plus précisément, la contrainte de limiter la probabilité d'échec devient un choix de conception qui n'est plus subie. Le procédé est ainsi une approche probabiliste pour la gestion des erreurs de transmission sans redondance des communications. 20 Le procédé repose sur le principe de borner le nombre de paquets de retransmission que peut subir une donnée, afin d'en déduire une taille de donnée étendue équivalente dans le pire cas. C'est cette taille de donnée étendue qui est prise en compte à la place de la taille de donnée précisée dans la requête de flux. En d'autres termes, il est alloué les mêmes ressources que si la donnée était par défaut plus grande du nombre 25 de paquets de retransmission calculés. Par calcul, les tailles de données sont telles que la fiabilité totale du réseau sera supérieure ou égale à l'exigence de fiabilité donnée en entrée. Le procédé garantit ainsi une gestion sûre des erreurs de transmission selon une contrainte de fiabilité sans recourir à des redondances, notamment des duplications, des 30 communications. Par rapport à des procédés exploitant une ou plusieurs redondances, le procédé permet une meilleure gestion des ressources réseau utilisées. En résumé, le procédé proposé est un procédé d'optimisation d'un système embarqué, notamment propre à fonctionner en temps réel, qui permette d'obtenir un 35 système embarqué avec moins de ressources impliquées tout en respectant une exigence de fiabilité. 11 Il est à noter que cette meilleure gestion des ressources réseau est totalement transparente du point de vue du matériel et des applications, aucune complexité supplémentaire n'étant impliquée. Le procédé est également compatible avec une conception du système prenant en 5 compte d'autres critères. En effet, s'il est déterminé que le nombre de paquets à retransmettre est trop élevé, il est possible d'allouer des ressources supplémentaires, au système embarqué, typiquement des canaux de communications supplémentaires. L'application de ce procédé à un réseau de système temps réel suivant l'architecture SDRN se fait sous forme d'une extension transparente. 10 Le sigle SDRN renvoie au terme anglais de « Software-Defined Real-Time Networking » qui signifie littéralement en français « Réseau temps réel défini par logiciel ». Une telle architecture est notamment décrite dans une publication de mai 2017 de Florian Greff, Ye-Qiong Song, Laurent Ciarletta et Arnaud Samama intitulée "A Dynamic 15 Flow Allocation Method for the Design of a Software-Defined Real-Time Mesh Network", 13th IEEE International Workshop on Factory Communication Systems (WFCS 2017). La figure 2 illustre une représentation schématique d'un tel réseau suivant l'architecture SDRN. Dans l'architecture SDRN, il y a trois étages, un premier étage 30 qui est le réseau 30, un deuxième étage qui est le contrôleur 32 et un troisième étage qui est 20 celui des applications 34. Des échanges ont lieu depuis le réseau 30 vers le contrôleur 32 (échanges indiqués par la flèche 36), depuis le contrôleur 32 vers les applications 34 (échanges indiqués par la flèche 38), depuis le contrôleur 32 vers le réseau 30 (échanges indiqués par la flèche 40) et depuis les applications 34 vers le contrôleur 32 (échanges indiqués 25 par la flèche 42). Le réseau 30 communique notamment sa topologie et les pannes survenues au contrôleur 32 tandis que le contrôleur 32 indique au réseau 30 une configuration à respecter. Le contrôleur 32 communique notamment aux applications 34 les résultats du 30 contrôle d'admission tandis que les applications 34 indiquent au contrôleur 32 les propriétés des flux. Le contrôleur 32 calcule la configuration en fonction du trafic actuel, des propriétés du réseau 30, des propriétés du protocole sous-jacent et de la stratégie d'optimisation. Sur la base de ces données, le contrôleur 32 analyse la façon dont le réseau 30 peut se 35 comporter dans le pire cas, afin d'allouer les ressources du réseau 30 de sorte que le respect des contraintes temps réel des communications soit garanti. 12 Plus précisément, le calcul de la configuration par le contrôleur 32 est appelé contrôle d'admission. Un organigramme de mise en oeuvre du contrôle d'admission est illustré par la figure 3. Le contrôle d'admission comporte deux étapes E50 et E52. 5 Lors de la première étape E50, il est analysé les contraintes. La première étape prend deux entrées 54 et 56 pour obtenir deux sorties 58 et 60. La première entrée 54 correspond aux propriétés du flux alors que la deuxième entrée 56 correspond aux propriétés du réseau 30 et aux propriétés du protocole sous-jacent. 10 La première sortie 58 est le coefficient de consommation et la deuxième sortie 60 est le délai de saut. Un délai de saut est le délai maximal subi par un paquet du flux sur le lien entre deux commutateurs reliés par le lien, le délai étant exprimé en seconde. La première sortie 58 et la deuxième sortie 60 sont respectivement la première entrée et la deuxième entrée de la deuxième étape E52 durant laquelle il est cherché le 15 chemin. La deuxième étape E52 prend également en entrée une troisième entrée 62 qui comporte la topologie, l'état du réseau 30 et la stratégie d'optimisation et renvoie dans une sortie 66 les paramètres de configuration (symbolisés par deux flèches 64 sur la figure 3), c'est-à-dire la configuration envoyée par la flèche 40. 20 Le contrôle d'admission illustré par la figure 3 est ainsi le coeur de l'architecture SDRN puisqu'il permet d'allouer à chaud et de façon incrémentale des flux de communication temps réel sur des réseaux embarqués. Pour mettre en oeuvre le procédé d'optimisation, le procédé comporte une étape de calcul de paramètres supplémentaires pour insérer les résultats dans le contrôle 25 d'admission. Les paramètres supplémentaires calculés sont le coefficient de consommation et le délai de saut. Pour ce dernier paramètre, il est utilisé la relation suivante : f ,L d'&,') 'L) = d(f ,L) Où: 30 - iifj, est la taille maximale d'un paquet de flux sur le lien L, cette taille s'exprimant en bit, et - CL est la capacité du lien L, cette taille s'exprimant en bit par seconde. 13 Pour utiliser le procédé d'optimisation dans le contrôle d'admission, il suffit de substituer aux valeurs de la première sortie 58 et la deuxième sortie 60 les paramètres supplémentaires calculés. Ainsi, le procédé d'optimisation est une approche probabiliste pour la prise en 5 compte des retransmissions dans le contrôle d'admission SDRN. Le procédé correspondant alors à une extension du contrôle d'admission, ce procédé est facilement intégrable dans l'architecture SDRN et apporte un faible surcoût au temps de contrôle d'admission. REVENDICATIONS1.- Procédé d'optimisation d'un système embarqué, le système embarqué comportant des composants, chaque composant communiquant avec un autre composant par échange d'au moins un paquet, chaque paquet comportant au moins une partie d'une donnée, l'ensemble des composants formant un réseau de communication comportant des liens, le procédé comportant au moins une étape de : - fourniture d'une exigence statistique globale pour le système embarqué, - décomposition de l'exigence statistique globale en exigences individuelles, une exigence individuelle pour chaque lien à un flux donné, et - pour chaque lien, détermination du nombre de transmissions de paquets garantissant le respect de l'exigence individuelle propre au lien considéré. 2.- Procédé selon la revendication 1, dans lequel, lors de l'étape de détermination, il est supposé que les erreurs sur la transmission d'un paquet suivent une loi statistique. 3.- Procédé selon la revendication 2, dans lequel la loi statistique est une loi de Poisson. 4.- Procédé d'optimisation selon l'une quelconque des revendications 1 à 3, dans lequel lors de l'étape de détermination, un processus itératif est mis en oeuvre. 5.- Procédé d'optimisation selon l'une quelconque des revendications 1 à 4, dans lequel lorsque le nombre de transmissions de paquets est trop élevé sur un lien, le procédé comporte une étape d'allocation de ressources supplémentaires au système embarqué. 6.- Procédé d'optimisation selon l'une quelconque des revendications 1 à 5, dans lequel l'exigence statistique globale est que le temps moyen entre deux échecs pour le système est inférieur à une valeur prédéfinie. 7.- Procédé d'optimisation selon l'une quelconque des revendications 1 à 6, dans lequel les liens du système embarqué sont suivant une architecture SDRN. 8.- Produit programme d'ordinateur comportant un support lisible d'informations, sur lequel est mémorisé un programme d'ordinateur comprenant des instructions de 15 programme, le programme d'ordinateur étant chargeable sur une unité de traitement de données et adapté pour entraîner la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 7 lorsque le programme d'ordinateur est mis en oeuvre sur l'unité de traitement des données. 5 9.- Support lisible d'informations mémorisant un programme d'ordinateur comprenant des instructions de programme, le programme d'ordinateur étant chargeable sur une unité de traitement de données et adapté pour entraîner la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 7 lorsque le programme 10 d'ordinateur est mis en oeuvre sur l'unité de traitement des données. 10.- Système embarqué comportant des composants, chaque composant communiquant avec un autre composant par échange d'au moins un paquet, chaque paquet comportant au moins une partie d'une donnée, l'ensemble des composants 15 formant un réseau de communication comportant des liens, le système comportant un contrôleur, le contrôleur étant propre à mettre en oeuvre un procédé selon l'une quelconque des revendications 1 à 7.