FR 3045852 A1 20170623 FR 1502615 A 20151216 1 PROCEDE DE TRANSMISSION DE MESSAGES AVEC CALAGE TEMPOREL ENTRE MODULES ELECTRONIQUES, SYSTEME AVIONIQUE ET PROCEDE DE CONFIGURATION La présente invention concerne le domaine des systèmes avioniques embarqués dans les aéronefs. Un système avionique met en oeuvre des fonctions avioniques. Une fonction avionique est par exemple le calcul de paramètres de vols en fonction de signaux de mesure fournis par des capteurs, l'élaboration de signaux de commande d'actionneurs de l'aéronef en fonction de paramètres de vols et/ou de commandes de vol, l'affichage de paramètres de vols sur un afficheur, l'enregistrement de paramètres de vol pour la maintenance... La mise en oeuvre de certaines fonctions avioniques nécessite de traiter très rapidement des signaux d'entrée, provenant par exemple de capteurs tels que des capteurs anémobarométriques ou des capteurs relatifs au fonctionnement d'appareils embarqués (état, position, température...) et/ou de prendre en compte très rapidement le résultat d'un traitement de données pour émettre un signal de sortie, par exemple destiné à un appareil embarqué. Il est possible de prévoir un système avionique modulaire intégré (ou « IMA » pour « Integrated Modulars Avionics» en anglais) comprenant des modules électroniques de calculs, chaque module de calcul intégrant sa propre interface d'entrée/sortie pour la réception/émission de signaux d'entrée/sortie. Cependant, ces modules de calculs doivent être spécialisés selon le type et le nombre de signaux d'entrée/sortie. Il est possible de prévoir un système avionique modulaire intégré de deuxième génération (ou « IMA-2G » pour « Integrated Modulars Avionics - 2nd Generation » en anglais) comprenant des modules de traitement (ou « CPM » pour « Core Processing Module » en anglais) en communication avec des modules d'entrée/sortie (ou « 10M » pour In-Out Module » en anglais) distants par l'intermédiaire d'un réseau de communication de données pour l'échange de messages entres les modules. Les modules d'entrée/sortie sont dédiés à la conversion signal d'entrée/sortie - message et les modules de traitement sont dédiés au traitement numérique des messages, plus particulièrement au traitement numérique des données contenues dans les messages. Cependant, un tel système avionique modulaire tend à augmenter la durée de prise en compte des signaux d'entrée et d'émission de signaux de sortie correspondants, ce qui peut s'avérer préjudiciable pour certaines fonctions avioniques nécessitant une prise en compte rapide des signaux. 3045852 2 Un des buts de la présente invention est de proposer un procédé de transmission de messages au sein d'un système avionique modulaire permettant d'améliorer les durées de prise en compte des signaux. A cet effet, l'invention propose un procédé de transmission de message au sein 5 d'un système avionique comprenant un ensemble de modules électroniques interconnectés via un réseau de communication, l'ensemble de modules comprenant au moins un module d'entrée/sortie pour la conversion de signaux d'entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement pour le traitement de messages, chaque module exécutant plusieurs applications logicielles séquentiellement 10 suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application. Le procédé comprend, dans au moins un couple de modules formé par un module d'entrée/sortie et un module de traitement, dont l'un héberge une application logicielle prévue pour émettre des messages vers une application logicielle hébergée par l'autre, le calage temporel des séquences du module d'entrée/sortie 15 et du module de traitement pour établir un décalage temporel prédéterminé entre les débuts de fenêtres temporelles de référence des séquences respectives du module d'entrée/sortie et du module de traitement. Le procédé de transmission de message comprend en option une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les caractéristiques 20 techniquement possibles : - la séquence de chaque module est périodique ; - la périodicité de la fenêtre allouée à l'une de l'application logicielle émettrice et de l'application logicielle réceptrice est un multiple entier de la périodicité de la fenêtre temporelle allouée à l'autre ; 25 - le calage temporel de la séquence de chaque module couplé à un autre module en établissant un décalage prédéterminé entre la fenêtre temporelle de référence de ce module et une référence horaire commune aux modules ; - la référence horaire commune est fournie par le réseau de communication à l'ensemble des modules ; 30 - il comprend le calage temporel de la séquence de chaque module couplé à un autre module sur la base d'une horloge locale du module synchronisée avec la référence horaire commune ; - il comprend l'alimentation de l'horloge locale ce chaque module à partir d'une réserve d'énergie de ce module en l'absence d'alimentation en énergie de ce module ; 35 - il comprend l'enregistrement, dans une mémoire non volatile de chaque module couplé à un autre module, d'un indicateur de synchronisation indiquant l'état synchronisé 3045852 3 ou non synchronisé de l'horloge locale de ce module avec la référence horaire commune, et la mise à jour de cet indicateur de synchronisation. - il comprend le passage de l'indicateur de synchronisation à la valeur « faux » lors du chargement d'une configuration du module et/ou lorsque le niveau d'une réserve 5 d'énergie du module alimentant l'horloge locale passe au-dessous d'un seuil de réserve d'énergie ; - il comprend, lors du démarrage de chaque module couplé à un autre module : si l'indicateur de synchronisation du module est à la valeur « non synchronisé», synchroniser l'horloge locale avec la référence horaire 10 commune puis mettre l'indicateur de synchronisation du module à la valeur « synchronisé» ; le lancement de la séquence du module en fonction du décalage prédéterminé avec la référence horaire commune. - il comprend pour chaque module couplé à un autre module, au cours du 15 fonctionnement de ce module couplé : la comparaison périodique de l'horloge locale du module avec la référence horaire commune ; et si la différence entre l'horloge locale et la référence horaire commune dépasse une valeur de précision de synchronisation prédéterminée, la mise 20 à la valeur « non synchronisé» de l'indicateur de synchronisation du module et le déclenchement d'un redémarrage du module ; L'invention concerne également un système avionique comprenant un ensemble de modules électroniques interconnectés via un réseau de communication pour la transmission de messages entre les modules, l'ensemble de modules comprenant au 25 moins un module d'entrée/sortie pour la conversion de signaux d'entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement pour le traitement de messages, chaque module hébergeant une ou plusieurs applications logicielles et étant configuré pour exécuter ces applications séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant 30 allouée à une application, les modules étant configurés pour la mise en oeuvre d'un procédé de transmission de message tel que défini ci-dessus. L'invention concerne encore un procédé de configuration d'un système avionique comprenant un ensemble de modules électroniques interconnectés via un réseau de communication pour la transmission de messages entre les modules, l'ensemble de 35 modules comprenant au moins un module d'entrée/sortie pour la conversion de signaux d'entrée en messages et la conversion de messages en signaux de sortie et au moins un 3045852 4 module de traitement pour le traitement de messages, chaque module hébergeant plusieurs applications logicielles et étant configuré pour exécuter ces applications séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application, le réseau de communication 5 réalisant au moins une connexion de communication entre une application émettrice et une ou plusieurs applications réceptrices, le procédé comprenant : - l'établissement d'une configuration incluant la définition des séquences de chaque module et de décalages temporels entre des fenêtres de références respectives de séquences de modules, 10 - pour chaque connexion de communication associée à une latence maximale prédéfinie, le calcul d'une latence de transmission brute en fonction de la configuration, la latence de transmission brute étant indépendante de la définition des décalages temporels ; et - pour chaque application réceptrice d'une connexion de communication ayant une 15 latence brute supérieure à une latence maximale prédéfinie associée à cette connexion de communication, le calcul d'une latence de transmission affinée calculée en fonction du décalage temporel entre les fenêtres de référence des séquences du module hébergeant l'application émettrice et du module hébergeant cette application réceptrice, et la comparaison de la latence de transmission affinée à la latence maximale. 20 En option, la séquence de chaque module est périodique et le procédé de configuration comprend, pour chaque application réceptrice d'une connexion de communication ayant une latence de transmission brute supérieure à une latence maximale prédéfinie associée à cette connexion de communication, la vérification que la périodicité de la fenêtre temporelle de l'application émettrice est un multiple entier ou un diviseur entier 25 de celle de la fenêtre temporelle de l'application réceptrice. L'invention concerne encore un système avionique comprenant un ensemble de modules électroniques interconnectés via un réseau de communication pour la transmission de messages entre les modules, l'ensemble de modules comprenant au moins un module d'entrée/sortie pour la conversion de signaux d'entrée en messages et la 30 conversion de messages en signaux de sortie et au moins un module de traitement pour le traitement de messages, chaque module hébergeant une ou plusieurs applications logicielles et étant configuré pour exécuter ces applications séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application. Dans ce système avionique, dans au moins un couple de 35 modules formé par un module d'entrée/sortie et un module de traitement, dont l'un héberge une application logicielle émettrice prévue pour émettre des messages vers une application 3045852 5 logicielle réceptrice hébergée par l'autre module, le module d'entrée/sortie et le module de traitement du couple sont configurés pour caler temporellement leurs séquences respectives pour établir un décalage temporel prédéterminé entre les débuts de fenêtres temporelles de référence respectives du module d'entrée/sortie et du module de traitement. 5 Le système avionique comprend en option une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles : - la séquence de chaque module est périodique et, dans chaque couple de modules, les fenêtres temporelles allouées à l'application émettrice et à l'application destinataire ont des périodicités dont l'une est un multiple entier de l'autre ; 10 - chaque module couplé à un autre module est configuré pour caler sa séquence avec un décalage temporel prédéterminé entre la fenêtre temporelle de référence de ce module et une référence horaire commune aux modules ; - la référence horaire commune est un service fourni par le réseau de communication ; 15 - chaque module d'un couple de modules comprend une mémoire dans laquelle est mémorisé un paramètre de calage indiquant la valeur du décalage temporel du début de la fenêtre de référence de ce module par rapport à la référence horaire commune ; - au moins chaque module couplé à un autre module comprend une horloge locale, le module étant configuré pour mettre en oeuvre sa séquence en fonction de son horloge 20 locale ; - au moins chaque module couplé comprend une réserve d'énergie pour alimenter son horloge locale en l'absence d'alimentation en énergie du module, et un indicateur de synchronisation stocké dans une mémoire non volatile du module et indiquant l'état synchronisé ou non synchronisé de l'horloge locale du module avec la référence horaire 25 commune ; - chaque module couplé est configuré pour passer l'indicateur de synchronisation à l'état non synchronisé lors du chargement d'une configuration du module dans une mémoire vive du module et/ou lorsque le niveau de la réserve d'énergie passe au-dessous d'un seuil de réserve d'énergie ; 30 - chaque module couplé est configuré pour effectuer séquentiellement les opérations suivantes lors de son démarrage : si l'indicateur de synchronisation est à la valeur « non synchronisé », synchroniser l'horloge locale du module avec la référence horaire commune puis mettre l'indicateur de synchronisation du module à la valeur 35 « synchronisé» ; 3045852 6 - lancer la séquence de fenêtres temporelles en tenant compte d'un paramètre de calage de ce module. chaque module d'un couple de modules est configuré pour effectuer périodiquement les opérations suivantes lors de son fonctionnement : 5 comparer périodiquement l'horloge locale du module avec la référence horaire commune ; et si la différence entre l'horloge locale et la référence horaire commune dépasse une valeur de précision de synchronisation prédéterminée, déclencher un redémarrage. 10 L'invention et ses avantages seront mieux compris à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple, et faite en référence aux dessins annexés, sur lesquels : - la Figure 1 est une vue d'un système avionique modulaire embarqué dans un aéronef ; et 15 - la Figure 2 est une frise temporelle illustrant les partitions temporelles d'un module d'entrée/sortie et d'un module de traitement. Le système avionique 2 illustré sur la Figure 1 est embarqué dans un aéronef 4. Le système avionique 2 est adapté pour recevoir des signaux d'entrée, traiter des données, et émettre des signaux de sortie. 20 Les signaux d'entrée proviennent par exemple de sondes, de capteurs ou d'appareils de télécommunication équipant l'aéronef. Les sondes comprennent par exemple des sondes anémobarométriques susceptibles de fournir des mesures relatives aux paramètres de vol de l'aéronef. Les capteurs comprennent par exemple des capteurs équipant des appareils embarqués (train d'atterrissage, moteurs, actionneurs de 25 gouverne...) pour mesurer des paramètres de ces appareils (position, pression, température...) Les signaux de sortie sont par exemple des signaux de commande destinés aux appareils embarqués, à des afficheurs du poste de pilotage ou à des appareils de télécommunication. 30 Le système avionique 2 est modulaire. Il comprend des modules électroniques 8, 10 interconnectés via un réseau de communication de données 12 pour la transmission de messages entre les modules 8, 10. Les modules électroniques 8, 10 comprennent des modules d'entrée/sortie 8 et des modules de traitement 10. Dans la suite de la description, le terme « module » ou « module 35 8, 10 » sans autre précision désigne un module d'entrée/sortie 8 ou un module de traitement 10. 3045852 7 Les modules d'entrée/sortie 8 sont dédiés à la conversion de signaux d'entrée en messages et à la conversion de messages en signaux de sortie. Chaque module d'entrée/sortie 8 est adapté pour convertir des signaux d'entrée en messages d'entrée propres à transiter par le réseau de communication 12, pour envoyer les messages 5 d'entrée à chaque module de traitement 10 destinataire via le réseau de communication 12, et pour recevoir des messages de sortie provenant des modules de traitement 10 via le réseau de communication 12 et convertir chaque message de sortie en un signal de sortie correspondant et envoyer ce signal de sortie. Chaque module de traitement 10 est dédié au traitement des données codées dans 10 les messages. Chaque module de traitement 10 reçoit des signaux d'entrée uniquement par l'intermédiaire des modules d'entrée/sortie 8 et envoie des signaux de sortie uniquement par l'intermédiaire des modules d'entrée/sortie 8. Dans la suite de la description, le terme « signal » désigne les signaux reçus et émis par le système avionique 2 par l'intermédiaire des modules d'entrée/sortie 8, et le terme 15 « message » désigne les messages échangés par les modules 8, 10 du système avionique 2 par l'intermédiaire du réseau de communication 12. Chaque module 8, 10 héberge plusieurs applications logicielles 14. Chaque application logicielle 14 hébergée par un module 8, 10 est un programme d'ordinateur comprenant des instructions de code propre à être enregistrées dans une mémoire 20 informatique et exécutées par un processeur. Chaque module 8, 10 comprend des ressources communes pour l'exécution des applications logicielles 14 qu'il héberge, en mettant en oeuvre un partitionnement temporel des ressources communes. Les ressources communes de chaque module comprennent des ressources 25 matérielles communes et/ou des ressources logicielles communes. Les ressources matérielles communes comprennent notamment un ou plusieurs processeur(s) et une ou plusieurs mémoire(s). Les ressources logicielles communes comprennent par exemple un système d'exploitation, et éventuellement une interface de programmation (ou « API » pour Applicative Programming Interface » en anglais) formant une couche logicielle intermédiaire 30 entre les applications logicielles et le système d'exploitation. Chaque module 8, 10 comprend en particulier une mémoire 16 dans laquelle sont enregistrées les applications logicielles 14 hébergées par le module 8, 10 et un processeur 18 propre à exécuter les applications logicielles 14 stockées dans la mémoire 16. Chaque module 8, 10 exécute les applications logicielles 14 qu'il héberge en 35 mettant en oeuvre un partitionnement temporel : il exécute les applications logicielles 14 suivant une séquence de fenêtres temporelles, chaque fenêtre temporelle étant allouée à 3045852 8 l'exécution d'une application logicielle 14 respective parmi celles hébergées par le module 8, 10. Chaque module 8, 10 possède son partitionnement temporel propre, qui est configuré lors de la conception du système avionique 2. Les partitionnements temporels 5 des modules peuvent être différents les uns des autres. Les partitionnements temporels peuvent notamment comprendre des séquences ayant des nombres de fenêtres temporelles différents et/ou des fenêtres temporelles de durées différentes. Chaque signal ou message reçu par un module 8, 10 destinataire est plus spécifiquement destiné à une des applications logicielles 14 exécutées par ce module 8, 10 10 et, à sa réception par le module 8, 10, est mis en attente jusqu'à l'activation de la fenêtre temporelle allouée à l'application logicielle 14 destinataire de ce message. Chaque message est émis par une application logicielle 14 exécutée par un module 8, 10 est destinée à une ou plusieurs application(s) logicielle(s) 14 d'un ou plusieurs autre(s) module(s). 15 Dans le système avionique 2, dans au moins un couple de modules 8, 10 formé par un module d'entrée/sortie 8 et un module de traitement 10, dont l'un héberge une application logicielle 14 émettrice prévue pour émettre des messages vers une application logicielle 14 destinataire hébergée par l'autre, le module d'entrée/sortie 8 et le module de traitement 10 du couple sont configurés pour caler temporellement leurs séquences 20 respectives l'une par rapport à l'autre pour établir un décalage temporel prédéterminé entre les débuts de fenêtres temporelles de référence respectives du module d'entrée/sortie et du module de traitement. Les termes « caler temporellement » ou « calage temporel » désignent ici la synchronisation de deux séquences l'une par rapport à l'autre avec un décalage temporel 25 prédéterminé. Le calage temporel des séquences de deux modules 8, 10 à partitionnement temporel hébergeant des applications logicielles 14 prévues pour échanger des messages, avec un décalage temporel prédéterminé des séquences des modules 8, 10, permet d'assurer qu'un message émis par l'application logicielle émettrice pendant sa fenêtre 30 temporelle allouée, sera reçu par le module hébergeant l'application logicielle destinataire à un instant précédant le début de la fenêtre temporelle de cette application logicielle destinataire d'une durée suffisamment courte permettant le traitement du message par l'application logicielle réceptrice suffisamment rapide. De préférence, les séquences des modules 8, 10 sont périodiques : la séquence de 35 chaque module 8, 10 est répétée périodiquement. 3045852 9 Dans ce cas, dans chaque couple de modules 8, 10, la périodicité de la fenêtre temporelle allouée à l'une parmi l'application logicielle émettrice et l'application logicielle réceptrice, est un multiple entier de la fenêtre temporelle allouée à l'autre parmi l'application logicielle émettrice et l'application logicielle réceptrice. Autrement dit, la périodicité de la 5 fenêtre temporelle allouée à l'application logicielle émettrice est un multiple entier ou un diviseur entier de la fenêtre temporelle allouée à l'application logicielle réceptrice. Ceci assure que les fenêtres temporelles allouées à l'application logicielle émettrice et à l'application logicielle réceptrice conservent un décalage souhaité lors de la répétition des séquences des deux modules 8, 10 couplés. 10 Le calage temporel des séquences des deux modules 8, 10 couplés est effectué pour une application logicielle émettrice donnée et une application logicielle réceptrice donnée exécutées par ces deux modules 8, 10, assurant le traitement de signaux et de messages particuliers nécessitant un traitement dans un délai déterminé. La Figure 2 illustre des frises temporelles représentant les séquences SO, S1 de 15 fenêtres temporelles des modules 8, 10 couplés, comprenant un module hébergeant une application logicielle émettrice d'un message M et d'un module hébergeant l'application logicielle réceptrice correspondante. Les fenêtres temporelles de référence FRO, FR1 des séquences SO, S1 sont ici les premières fenêtres temporelles de ces séquences SO, S1. Les fenêtres temporelles FAO, 20 FA1 allouées respectivement à l'application logicielle émettrice et à l'application logicielle réceptrice sont grisées. La fenêtre temporelle allouée à chaque application logicielle est en principe de durée suffisante pour le traitement complet d'un signal ou d'un message. Comme illustré sur le Figure 2, du fait du calage temporel des fenêtres temporelles de références FRO, FR1, la fin de la fenêtre temporelle FAO allouée à l'application logicielle 25 émettrice pour l'envoi d'un message M et le début de la fenêtre temporelle FA1 allouée à l'application logicielle réceptrice pour le traitement du même message M sont espacées d'une durée non nulle, suffisamment longue pour que le message soit transmis par le réseau, mais suffisamment courte pour la rapidité de traitement souhaitée du message par l'application logicielle destinataire. 30 En revenant à la Figure 1, dans un mode de réalisation, le système avionique 2 comprend une référence horaire commune 20, au moins chaque module 8, 10 couplé avec un autre module utilisant la référence horaire commune 20 pour l'initiation de sa séquence. Chaque module 8, 10 couplé est configuré pour initier sa séquence avec un décalage temporel prédéterminé avec la référence horaire commune 20. 3045852 10 Comme illustrée, la référence horaire commune 20 est de préférence fournie par le réseau de communication 12 qui comprend un service de référence horaire accessible à l'ensemble des modules 8, 10 interconnectés via le réseau de communication 12. Dans un mode de réalisation, chaque module 8, 10 couplé contient un paramètre de 5 calage LIO, M stocké dans une mémoire non volatile du module 8, 10 et indiquant la valeur du décalage temporel entre l'instant zéro de la référence horaire commune 20 et le début de la séquence de ce module 8, 10, modulo la durée de cette séquence. Ainsi, deux modules 8, 10 couplés démarrent leurs séquences respectives avec un décalage temporel prédéterminé par rapport à la référence horaire commune 20, de telle 10 sorte que leurs séquences présentent entre elles le décalage temporel prédéterminé souhaité. Le décalage temporel entre les séquences SO, S1 est ici égal à la différence entre le paramètre de calage M d'une séquence S1 et le paramètre de calage AO de l'autre séquence SO, soit la valeur M - L0. 15 Dans un mode de mise en oeuvre, chaque module 8, 10 possède une horloge locale 22 et est configuré pour lancer sa séquence en tenant compte de son paramètre de calage et en se basant sur son horloge locale 22. Le module 8, 10 est configuré pour synchroniser son horloge locale 22 avec la référence horaire commune 20. 20 Dans un mode de réalisation, chaque module 8, 10 comprend une réserve d'énergie 24 permettant de maintenir l'horloge locale 22 en fonctionnement lorsque le module 8, 10 n'est plus alimenté en énergie, et une mémoire non volatile 26 stockant un indicateur de synchronisation 28. L'indicateur de synchronisation 28 prend la valeur « vrai » ou « synchronisé » pour 25 indiquer que l'horloge locale 22 est synchronisée avec la référence horaire commune 20, et la valeur « faux » ou « non synchronisé » dans le cas contraire. Chaque module 8, 10 est configuré pour mettre l'indicateur de synchronisation 28 à la valeur « faux » lors du chargement d'une configuration de ce module 8, 10 et/ou lorsque la réserve d'énergie 24 passe au-dessous d'un seuil d'énergie prédéterminé. Le seuil 30 d'énergie correspond à une quantité d'énergie minimale. Chaque module 8, 10 est configuré pour, lors de son démarrage, initialiser le module 8, 10, si l'indicateur de synchronisation 28 est à la valeur « faux », synchroniser l'horloge locale 22 avec la référence horaire commune 20 puis mettre l'indicateur de synchronisation 28 à la valeur « vrai ». Chaque module 8, 10 lance ensuite la séquence de 35 fenêtres temporelles du module 8, 10 en tenant compte du paramètre de calage de ce module 8, 10 et en se basant sur l'horloge locale 22 de ce module 8, 10. 3045852 11 Ainsi, les séquences des modules 8, 10 du système avionique 2 se calent au démarrage des modules 8, 10 pour assurer le traitement des signaux et des messages dans les durées requises pour chaque signal et chaque message. Dans le cas de séquences périodiques, avantageusement, chaque module 8, 10 est 5 configuré pour, en cours de fonctionnement, comparer périodiquement l'horloge locale 22 avec la référence horaire commune 20, et, si la différence entre l'horloge locale 22 et la référence horaire commune 20 dépasse une valeur de précision de synchronisation prédéterminée, mettre l'indicateur de synchronisation à la valeur « faux », puis déclencher un redémarrage. 10 Ceci a pour effet de resynchroniser l'horloge locale 22 de ce module avec la référence horaire commune 20 et de recaler la séquence de ce module avec les séquences des autres modules 8, 10 compte tenu du procédé de démarrage de chaque module 8, 10. Ainsi, les séquences des modules 8, 10 du système avionique 2 restent synchronisées entre elles au cours du fonctionnement du système avionique 2 pour assurer 15 le traitement des signaux et des messages dans les durées requises pour chaque signal et chaque message. Le réseau de communication 12 met en oeuvre des connexions de communication entre les applications logicielles hébergées par les modules 8, 10. Chaque connexion de communication est associée à une application logicielle émettrice d'un message et une ou 20 plusieurs application(s) logicielle(s) destinataire(s) (ou réceptrice(s)) du message. Le réseau de communication 12 est par exemple conforme au standard ARINC 664. Dans ce standard, chaque connexion de communication entre une application logicielle émettrice d'un message et une ou plusieurs application(s) logicielle(s) réceptrice de ce message est identifiée par un lien virtuel (ou « VL » pour « Virtual Link » en anglais) 25 respectif. Lors de la configuration du système avionique 2, certaines connexions de communication sont associées à des latences maximales pour la transmission des messages. Un signal d'entrée associé à une latence maximale doit être converti en un message 30 et transmis à chaque application logicielle réceptrice dans une durée maximale. La latence maximale associée à un signal d'entrée est la durée maximale entre l'instant d'arrivée du signal d'entrée critique à l'entrée du module d'entrée/sortie 8 et l'instant de début du traitement du message correspondant par l'application logicielle destinataire d'un module de traitement 10. 35 Un message de sortie émis par un module de traitement 10 pour l'émission d'un signal de sortie critique, doit être transmis à chaque application logicielle réceptrice 3045852 12 hébergée par un module d'entrée/sortie 8 destinataire, converti et envoyé par cette application logicielle réceptrice dans une durée maximale. La latence maximale d'un signal de sortie est la durée maximale entre l'instant d'envoi du message par le module de traitement 10 pour l'émission d'un signal de sortie, et l'instant d'envoi du signal de sortie par 5 chaque module d'entrée/sortie 8 hébergeant une application logicielle réceptrice. Un système de configuration 30 est illustré sur la Figure 1. Le système de configuration comprend un configurateur 32 et un vérificateur 34. Le configurateur 32 et le vérificateur 34 sont chacun un produit programme d'ordinateur (ou application logicielle) comprenant des instructions de code informatique 10 enregistrables dans une mémoire informatique et exécutables par un processeur. Le système de configuration 30 comprend une mémoire dans laquelle sont stockés le configurateur 32 et le vérificateur 34 et un processeur pour les exécuter à partir de la mémoire. Le configurateur 32 est configuré pour le développement de système avionique 2, et 15 permet à un utilisateur de définir une configuration du système avionique 2. Le configurateur 32 permet par exemple de définir la séquence de chaque module 8, 10, et le paramètre de calage de chaque module 8, 10. Le vérificateur 34 est configuré pour vérifier que la configuration du système avionique 2 permet de respecter des latences maximales définies pour des connexions de 20 communication particulières. Le vérificateur 34 est adapté pour déterminer des connexions de communication critiques, et pour vérifier que la latence de transmission de chaque connexion de communication critique est inférieure à la latence maximale définie pour cette connexion critique. 25 Pour chaque connexion de communication associée à une latence maximale, le vérificateur 34 calcule une latence de transmission brute et compare la latence de transmission brute à la latence maximale. Si la latence de transmission brute est supérieure à la latence maximale, le vérificateur détermine la connexion de communication comme étant une connexion de communication « critique ». 30 La latence de transmission brute est avantageusement calculée selon la formule (1) suivante : LVL = Po+ BAGVL + max (DIOM + TMM(dest) Pdest) + destEDESTvi, Où: 3045852 13 Po est la périodicité de la fenêtre temporelle allouée à l'application émettrice du message, Diom est la durée de la fenêtre temporelle allouée à l'application logicielle du module d'entrée/sortie 8 qui construit le message à envoyer à partir du signal d'entrée reçu ou, qui 5 construit le signal de sortie à envoyer à partir du message reçu, selon la direction de la transmission, BAGVL est la valeur de l'intervalle d'allocation de bande passante du réseau de communication (ou « Bandwidth Allocation Gap » en anglais) associé à la connexion de communication, i.e. la durée minimale entre l'émission de deux messages successifs sur 10 cette connexion de communication dans le cas où la gigue est nulle (la gigue du réseau de communication et la variation de délai de transmission entre l'émetteur d'un message et le récepteur de ce message), DESTVL est l'ensemble des applications logicielles réceptrices d'une connexion de communication VL, 15 TMM(dest) est la durée maximale de traversée du réseau de communication depuis le module hébergeant l'application logicielle émettrice jusqu'au module hébergeant l'application logicielle réceptrice « dest », Pdest est la périodicité de la fenêtre temporelle allouée à l'application logicielle réceptrice « dest », et 20 m est une constante de marge de sécurité. TMM(dest) est calculé selon l'état de l'art. Les autres valeurs intervenant dans le calcul de LVL sont des paramètres de configuration. La valeur LVL correspond donc à la somme de la durée maximale pour l'activation de la fenêtre temporelle allouée à l'application logicielle émettrice, de la durée minimale pour 25 l'émission du message une fois que celui-ci est élaboré, de la pire durée de transmission et de début de traitement du message par la ou les application(s) logicielle(s) réceptrice(s) du message. Une connexion de communication est « critique » si la valeur de latence de transmission brute LVL est supérieure à la latence maximale prédéfinie pour cette connexion 30 de communication. Pour chaque application destinataire d'une connexion de communication critique, le vérificateur 34 : - vérifie que l'une de la périodicité de la fenêtre temporelle allouée à l'application logicielle émettrice et de la périodicité de la fenêtre temporelle allouée à l'application 35 logicielle réceptrice est un multiple entier ou un diviseur entier de l'autre ; et 3045852 14 - calcule une latence de transmission affinée pour cette application logicielle réceptrice en tenant compte de la synchronisation des séquences du module hébergeant l'application émettrice et du module hébergeant l'application logicielle réceptrice, et - vérifie que la latence de transmission affinée est inférieure ou égale à la latence 5 maximale associée à la connexion critique. Avantageusement, la vérification est effectuée selon la formule (2) suivante : (ro + 80 + Diom BAGn + 2 x PS + TM + mi+ 1) x + 31+ 81+ (30 + 60) Où - 10 les crochets bas [ J représentent la fonction d'arrondi à l'entier inférieur, LMvi. est le paramètre « latence maximale » de la connexion, Ao est le paramètre de décalage temporel du partitionnement du module hébergeant l'application émettrice, Ai est le paramètre de décalage temporel du partitionnement du module hébergeant 15 l'application réceptrice, 50 est l'instant d'activation de l'application émettrice par rapport au début du partitionnement temporel du module hébergeant l'application émettrice, 51 est l'instant d'activation de l'application réceptrice par rapport au début du partitionnement temporel du module hébergeant l'application réceptrice, 20 Diom est la durée de la fenêtre temporelle allouée à l'application pour le traitement du message dans le module d'entrée/sortie 8, Po est la périodicité de la fenêtre temporelle allouée à l'application émettrice, P1 est la périodicité de la fenêtre temporelle allouée à l'application réceptrice, BAGVL est la valeur de l'intervalle d'allocation de bande passante du réseau de 25 communication associé au lien virtuel, PS est le paramètre de précision de synchronisation déterminant une tolérance dans la synchronisation de l'horloge de chaque module avec la référence horaire commune, et m est une constante de marge de sécurité. 30 Le membre de droite de la formule (2) correspond au calcule de latence de transmission affinée. Les paramètres du calcul de la latence de transmission affinée sont illustrés sur la Figure 2 représentant les séquences SO, S1 périodiques des deux modules hébergeant une application émettrice et une application destinataire liée par une connexion. 3045852 15 S'il existe une connexion critique possédant une latence de transmission affinée supérieure à la latence maximale de cette connexion critique, le vérificateur émet une alerte correspondante. De préférence, le procédé de configuration est réalisé de manière itérative. Si une 5 alerte est émise, la configuration du système avionique 2 est modifiée, en particulier les séquences des modules 8, 10 et le décalage temporel de chaque module par rapport à la référence horaire commune, puis la vérification du respect des latences maximales est à nouveau mise en oeuvre. Le procédé de configuration du système avionique 2 permet d'aboutir rapidement à 10 une configuration respectant les latences maximales prédéfinies, et en particulier à une détermination de décalages temporels entre les modules permettant de respecter les latences maximales. Le système avionique 2 comprenant des modules 8, 10 interconnectés par un réseau de communication 12 et adaptés pour mettre en oeuvre des partitionnements 15 temporels respectifs qui sont calés ou synchronisés les uns par rapport aux autres pour assurer le respect d'une latence maximale de transmission de messages entre ces modules, permet de mettre en oeuvre un système avionique avec des modules d'entrée/sortie 8 séparés des modules de traitement 10, tout en assurant le traitement des signaux dans les durées maximales déterminées. En particulier, il permet de prévoir un 20 système avionique avec d'une part des modules de traitement 10 d'architecture électronique générique, et, d'autre part, des modules d'entrée/sortie 8 séparés des modules de traitement 10, tout en assurant le traitement des signaux dans les durées maximales déterminées. REVENDICATIONS1.- Procédé de transmission de message au sein d'un système avionique comprenant un ensemble de modules électroniques (8, 10) interconnectés via un réseau de communication (12), l'ensemble de modules comprenant au moins un module d'entrée/sortie (8) pour la conversion de signaux d'entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement (10) pour le traitement de messages, chaque module (8, 10) exécutant plusieurs applications logicielles séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application, le procédé comprenant, dans au moins un couple de modules (8, 10) formé par un module d'entrée/sortie (8) et un module de traitement (10), dont l'un héberge une application logicielle prévue pour émettre des messages vers une application logicielle hébergée par l'autre, le calage temporel des séquences du module d'entrée/sortie (8) et du module de traitement (10) pour établir un décalage temporel prédéterminé entre les débuts de fenêtres temporelles de référence (FRO, FR1) des séquences respectives du module d'entrée/sortie (8) et du module de traitement (10). 2.- Procédé de transmission de message selon la revendication 1, dans lequel la séquence de chaque module (8, 10) est périodique. 3.- Procédé de transmission de message selon la revendication 2, dans lequel la périodicité (P0) de la fenêtre allouée à l'une de l'application émettrice et de l'application réceptrice est un multiple entier de la périodicité (P1) de la fenêtre temporelle allouée à l'autre. 4.- Procédé de transmission de message selon l'une quelconque des revendications précédentes, comprenant le calage temporel de la séquence de chaque module (8, 10) couplé à un autre module en établissant un décalage prédéterminé entre la fenêtre temporelle de référence (FRO, FR1) de ce module et une référence horaire commune (20) aux modules (8, 10). 5.- Procédé de transmission de message selon la revendication 4, dans lequel la référence horaire commune (20) est fournie par le réseau de communication (12) à l'ensemble des modules (8, 10). 6.- Procédé de transmission de message selon la revendication 4 ou 5, comprenant le calage temporel de la séquence de chaque module (8, 10) couplé à un autre module sur la base d'une horloge locale (22) du module (8, 10) synchronisée avec la référence horaire commune (20). 3045852 17 7.- Procédé de transmission de message selon la revendication 6, comprenant l'alimentation de l'horloge locale (22) ce chaque module à partir d'une réserve d'énergie (24) de ce module (8, 10) en l'absence d'alimentation en énergie de ce module (8, 10). 8.- Procédé de transmission de message selon la revendication 6 ou 7, 5 comprenant l'enregistrement, dans une mémoire non volatile de chaque module (8, 10) couplé à un autre module, d'un indicateur de synchronisation indiquant l'état synchronisé ou non synchronisé de l'horloge locale (22) de ce module avec la référence horaire commune (20), et la mise à jour de cet indicateur de synchronisation. 9.- Procédé de transmission de message selon la revendication 8, comprenant le 10 passage de l'indicateur de synchronisation à la valeur « non synchronisé » lors du chargement d'une configuration du module et/ou lorsque le niveau d'une réserve d'énergie du module alimentant l'horloge locale (22) passe au-dessous d'un seuil de réserve d'énergie. 10.- Procédé de transmission de message selon la revendication 8 ou 9, 15 comprenant, lors du démarrage de chaque module (8, 10) couplé à un autre module : - si l'indicateur de synchronisation du module est à la valeur « non synchronisé », synchroniser l'horloge locale avec la référence horaire commune puis mettre l'indicateur de synchronisation du module à la valeur « synchronisé » ; - le lancement de la séquence du module en fonction du décalage prédéterminé 20 avec la référence horaire commune. 11.- Procédé de transmission de message selon l'une quelconque des revendications 6 à 10, comprenant pour chaque module (8, 10) couplé à un autre module, au cours du fonctionnement de ce module couplé : - la comparaison périodique de l'horloge locale (22) du module avec la référence 25 horaire commune (20) ; et - si la différence entre l'horloge locale (22) et la référence horaire commune (20) dépasse une valeur de précision de synchronisation prédéterminée, la mise à la valeur « non synchronisé » de l'indicateur de synchronisation du module et le déclenchement d'un redémarrage du module (8, 10). 30 12.- Système avionique comprenant un ensemble de modules électroniques (8, 10) interconnectés via un réseau de communication pour la transmission de messages entre les modules (8, 10), l'ensemble de modules comprenant au moins un module d'entrée/sortie (8) pour la conversion de signaux d'entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement (10) pour le traitement 35 de messages, chaque module (8, 10) hébergeant une ou plusieurs applications logicielles et étant configuré pour exécuter ces applications logicielle séquentiellement suivant une 3045852 18 séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application logicielle, les modules étant configurés pour la mise en oeuvre d'un procédé de transmission de message selon l'une quelconque des revendications précédentes. 5 13.- Procédé de configuration d'un système avionique comprenant un ensemble de modules électroniques (8, 10) interconnectés via un réseau de communication (12) pour la transmission de messages entre les modules, l'ensemble de modules comprenant au moins un module d'entrée/sortie (8) pour la conversion de signaux d'entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement (10) 10 pour le traitement de messages, chaque module (8, 10) hébergeant plusieurs applications logicielles et étant configuré pour exécuter ces applications logicielle séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application logicielle, le réseau de communication (12) réalisant au moins une connexion de communication entre une application logicielle 15 émettrice et une ou plusieurs applications logicielle réceptrices, le procédé comprenant : - l'établissement d'une configuration incluant la définition des séquences de chaque module (8, 10) et de décalages temporels entre des fenêtres de références (FRO, FR1) respectives de séquences de modules, - pour chaque connexion de communication associée à une latence maximale 20 prédéfinie, le calcul d'une latence de transmission brute en fonction de la configuration, la latence de transmission brute étant indépendante de la définition des décalages temporels ; et - pour chaque application logicielle réceptrice d'une connexion de communication ayant une latence brute supérieure à une latence maximale prédéfinie associée à cette 25 connexion de communication, le calcul d'une latence de transmission affinée calculée en fonction du décalage temporel entre les fenêtres de référence des séquences du module hébergeant l'application émettrice et du module hébergeant cette application logicielle réceptrice, et la comparaison de la latence de transmission affinée à la latence maximale. 14.- Procédé de configuration selon la revendication 13, dans lequel la séquence de 30 chaque module est périodique, le procédé comprenant, pour chaque application logicielle réceptrice d'une connexion de communication ayant une latence de transmission brute supérieure à une latence maximale prédéfinie associée à cette connexion de communication, la vérification que la périodicité de la fenêtre temporelle de l'application logicielle émettrice est un multiple entier ou un diviseur entier de celle de la fenêtre 35 temporelle de l'application logicielle réceptrice.