Brevet FR3077402A1 — publié le 20190802

Procédé et système de développement d'une nouvelle version d'un logiciel d'un calculateur avionique. La présente invention concerne le développement des logiciels embarqués dans les calculateurs avioniques d'aéronefs. Un tel calculateur avionique comporte des entrées et des sorties pouvant être de type tout ou rien, analogique, numérique, etc. Ces entrées et ces sorties peuvent correspondre à des entrées ou sorties physiques du calculateur avionique, ou encore faire l'objet d'une acquisition ou d'une transmission au moyen de bus de communication, par exemple aux standards ARINC 429 ou 664 part 7. Le calculateur avionique met en oeuvre un ensemble de fonctions de façon à calculer les sorties en fonction des entrées. Ces fonctions sont généralement interconnectées entre elles, une sortie d'une fonction pouvant alors correspondre à une entrée d'une autre fonction. Les différentes fonctions sont mises en oeuvre par le logiciel du calculateur avionique. Il est parfois nécessaire de développer une nouvelle version dudit logiciel, en particulier lors d'évolutions d'équipements de l'aéronef, tels par exemple que des actionneurs, lors de modifications d'interfaces du calculateur avionique, lorsque les spécifications de fonctions sont modifiées (par exemple pour modifier le comportement de l'aéronef), etc. Le développement d'une nouvelle version du logiciel nécessite généralement plusieurs versions intermédiaires dudit logiciel, appelées « standards » : par exemple standard 1, puis standard 2 ... standard N (N étant un nombre entier). Chaque standard est livré au fabricant de l'aéronef, puis testé sur un banc de test et éventuellement sur l'aéronef de façon à vérifier sa conformité par rapport au comportement attendu du calculateur avionique. S'il ne donne pas entière satisfaction, les spécifications sont modifiées et un nouveau standard est réalisé puis testé. Cela engendre un processus long et coûteux. En effet, le développement d'un nouveau standard relève d'un processus rigoureux et complexe, de façon à satisfaire les exigences des autorités de certification aériennes. Il serait souhaitable de simplifier le processus de développement d'une nouvelle version du logiciel, en particulier en réduisant le nombre de standards nécessaires. EXPOSE DE L'INVENTION : La présente invention a notamment pour but d'apporter une solution à ce besoin. Elle concerne un procédé de développement d'une nouvelle 5 version d'un logiciel d'un calculateur avionique d'un aéronef, - le calculateur avionique étant équipé d'une version courante dudit logiciel ; - le logiciel comprenant un ensemble de fonctions interconnectées entre elles ainsi qu'avec des entrées et des sorties du calculateur avionique. Le procédé est remarquable en ce que l'une des fonctions de l'ensemble de 10 fonctions étant dite fonction à mettre à jour, la fonction à mettre à jour reçoit en entrée des sorties de fonctions d'un premier sous-ensemble de fonctions de l'ensemble de fonctions et fournit au moins une sortie reliée à une première entrée d'un commutateur dont une sortie est reliée à une ou à des entrées de fonctions d'un deuxième sous-ensemble de fonctions de 15 l'ensemble de fonctions, et en ce qu'il comprend les étapes suivantes : - raccorder au calculateur avionique un calculateur externe équipé d'un logiciel comprenant une nouvelle version de la fonction à mettre à jour ; - recevoir, par la nouvelle version de la fonction à mettre à jour implémentée 20 par le calculateur externe, lesdites sorties de fonctions du premier sous- ensemble de fonctions ; - envoyer, depuis la nouvelle version de la fonction à mettre à jour implémentée par le calculateur externe, l'au moins une sortie de la fonction à mettre à jour vers une deuxième entrée dudit commutateur ; 25 - commander le commutateur de telle façon que : . dans un premier mode de fonctionnement, dit normal, la sortie du commutateur correspond à la première entrée ; et . dans un deuxième mode de fonctionnement, dit de mise au point, la sortie du commutateur correspond à la deuxième entrée. 30 Ce procédé permet ainsi d'implémenter dans le calculateur externe une version à tester du logiciel de la fonction à mettre à jour et de tester le calculateur avionique avec cette version de la fonction à mettre à jour, sans nécessiter le développement d'un nouveau standard. L'implémentation, dans 35 le calculateur externe, de la version à tester du logiciel de la fonction à mettre 2 3 à jour est facile et rapide, ce qui permet de réaliser successivement des tests de plusieurs versions du logiciel de la fonction à mettre à jour jusqu'à obtenir une version correspondant au comportement attendu de la fonction à mettre à jour. Cette version, dont le comportement est déjà validé, peut alors être 5 incluse dans un nouveau standard du logiciel du calculateur avionique. Dans un mode de réalisation, à l'étape consistant à raccorder le calculateur avionique au calculateur externe, le calculateur externe est raccordé à des sorties du calculateur avionique correspondant à des sorties 10 de fonctions du premier sous-ensemble de fonctions. Dans un autre mode de réalisation, le procédé comprend en outre les étapes suivantes : - envoyer, par le calculateur externe, une requête à destination du calculateur avionique, pour demander l'envoi d'informations correspondant à 15 au moins une sortie parmi lesdites sorties de fonctions du premier sous- ensemble de fonctions ; - en réponse à ladite requête, envoyer, par le calculateur avionique, des informations correspondant à ladite au moins une sortie, à destination du calculateur externe ; 20 - recevoir, par le calculateur externe, lesdites informations correspondant à ladite au moins une sortie. Selon une première alternative, le calculateur avionique et le calculateur externe sont installés sur un banc de test. Selon une deuxième alternative, le calculateur avionique et le 25 calculateur externe sont installés à bord d'un aéronef. L'invention est également relative à un système de développement d'une nouvelle version d'un logiciel d'un calculateur avionique d'un aéronef, le système comprenant le calculateur avionique, équipé d'une version 30 courante dudit logiciel, le logiciel comprenant un ensemble de fonctions interconnectées entre elles ainsi qu'avec des entrées et des sorties du calculateur avionique. Le système est remarquable en ce qu'il comprend en outre un commutateur et un calculateur externe au calculateur avionique, et en ce que : 4 - le calculateur avionique est configuré de telle façon que l'une des fonctions de l'ensemble de fonctions, dite fonction à mettre à jour, reçoit en entrée des sorties de fonctions d'un premier sous-ensemble de fonctions de l'ensemble de fonctions et fournit au moins une sortie reliée à une première entrée du 5 commutateur dont une sortie est reliée à une ou à des entrées de fonctions d'un deuxième sous-ensemble de fonctions de l'ensemble de fonctions, - le calculateur externe est équipé d'un logiciel comprenant une nouvelle version de la fonction à mettre à jour, il est raccordé au calculateur avionique et il est configuré pour : 10 . recevoir, par la nouvelle version de la fonction à mettre à jour implémentée par le calculateur externe, lesdites sorties de fonctions du premier sous-ensemble de fonctions ; . envoyer, depuis la nouvelle version de la fonction à mettre à jour implémentée par le calculateur externe, l'au moins une sortie de la 15 fonction à mettre à jour vers une deuxième entrée dudit commutateur ; - le système est en outre configuré pour commander le commutateur de telle façon que : . dans un premier mode de fonctionnement, dit normal, la sortie du commutateur correspond à la première entrée ; et 20 . dans un deuxième mode de fonctionnement, dit de mise au point, la sortie du commutateur correspond à la deuxième entrée. Dans un mode de réalisation, le calculateur externe est raccordé à des sorties du calculateur avionique correspondant à des sorties de fonctions du 25 premier sous-ensemble de fonctions. Dans un autre mode de réalisation : - le calculateur externe est en outre configuré pour envoyer une requête à destination du calculateur avionique, pour demander l'envoi d'informations correspondant à au moins une sortie parmi lesdites sorties de fonctions du 30 premier sous-ensemble de fonctions ; et - le calculateur avionique est configuré pour envoyer des informations correspondant à ladite au moins une sortie, à destination du calculateur externe, en réponse à ladite requête. Selon une première alternative, le système est installé sur un banc de 35 test. 5 Selon une deuxième alternative, le système est installé à bord d'un aéronef. DESCRIPTION DETAILLEE : 5 L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures annexées. Les figures 1 et 2 illustrent de façon schématique deux modes particuliers de réalisation d'un système de développement d'une nouvelle 10 version d'un logiciel d'un calculateur avionique d'un aéronef, conforme l'invention. Le système 10 de développement d'une nouvelle version d'un logiciel d'un calculateur avionique d'un aéronef représenté sur la figure 1 comporte 15 ledit calculateur avionique 12, ainsi qu'un calculateur 14 externe au calculateur avionique. Le calculateur avionique 12 comporte un ensemble d'entrées E1, E2 Em susceptibles de provenir d'autres calculateurs avioniques de l'aéronef, de capteurs de l'aéronef, etc. Il comporte également un ensemble de sorties 51, S2, ... Sn susceptibles d'être reliées à d'autres 20 calculateurs avioniques de l'aéronef, à des actionneurs de l'aéronef, etc. Le calculateur avionique 12 comprend un ensemble de fonctions F1, F2, ... F7, Fs mises en oeuvre de façon logicielle par un logiciel dudit calculateur avionique 12. La fonction Fs est une fonction pour laquelle il est souhaité de faire une mise à jour. Elle est appelée fonction à mettre à jour dans la suite 25 de la description. Le logiciel du calculateur avionique 12 correspond à une version courante dudit logiciel, lequel implémente une version courante de la fonction Fs. La fonction Fs reçoit un ensemble d'entrées En , EF2, EFi provenant de sorties de fonctions d'un premier sous-ensemble de l'ensemble de fonctions et/ou d'entrées du calculateur avionique 12. Elle produit au 30 moins une sortie SF. Le calculateur avionique 12 comporte également un commutateur 20, implémenté par exemple mais non obligatoirement de façon logicielle. La sortie SF est reliée à une première entrée 20a dudit commutateur. Le commutateur 20 comprend au moins une sortie Sc qui est reliée à une ou à des entrées de fonctions d'un deuxième sous-ensemble de 35 fonctions de l'ensemble de fonctions du calculateur avionique 12. Le 6 calculateur externe 14 est relié en entrée au calculateur avionique 12 par au moins une liaison 16 et il est relié en sortie au calculateur avionique 12 par une liaison 18. Le calculateur externe 14 comprend une nouvelle version Fs' de la fonction à mettre à jour F. Comme la fonction Fs, la fonction Fs' reçoit 5 l'ensemble d'entrées En , EF2, EFi. Ces entrées sont reçues par le calculateur externe 14, depuis le calculateur avionique 12, via la liaison 16. La fonction Fs' produit au moins une sortie SF'. Cette sortie est reliée à une deuxième entrée 20b du commutateur 20 via la liaison 18. Le commutateur 20 comporte une entrée de contrôle Ctrl. Selon l'état de ladite entrée de 10 contrôle, la sortie Sc du commutateur correspond soit à la première entrée 20a, soit à la deuxième entrée 20b. En fonctionnement, le système peut être configuré selon un mode de fonctionnement dit normal ou selon un mode de fonctionnement dit de mise au point. Dans le mode de fonctionnement normal, le signal de contrôle Ctrl 15 du commutateur 20 est commandé de telle façon que la sortie Sc du commutateur corresponde à la première entrée 20a, c'est-à-dire à la version courante de la fonction F. Le calculateur avionique 12 fonctionne ainsi conformément à la version logicielle courante installée dans ledit calculateur. Dans le mode de fonctionnement de mise au point, le signal de contrôle Ctrl 20 du commutateur 20 est commandé de telle façon que la sortie Sc du commutateur corresponde à la deuxième entrée 20b, c'est-à-dire à la nouvelle version Fs` de la fonction F. Le calculateur avionique 12 fonctionne ainsi comme si cette nouvelle version Fs` de la fonction Fs était incorporée dans le logiciel dudit calculateur. Par conséquent, le mode de 25 fonctionnement de mise au point permet de tester la nouvelle version Fs` de la fonction Fs sans modifier la version courante du logiciel installé dans le calculateur avionique 12. Ainsi, il n'est pas nécessaire d'attendre un nouveau standard du calculateur avionique 12 pour tester cette nouvelle version de la fonction F. Le calculateur externe 14 n'étant pas un calculateur avionique, 30 son logiciel peut être modifié rapidement sans contrainte, ce qui permet de tester plusieurs versions successives de la fonction Fs jusqu'à arriver à une version satisfaisante qui peut alors être intégrée dans un nouveau standard du calculateur avionique. La probabilité que la version de la fonction Fs intégrée dans le nouveau standard soit satisfaisante est beaucoup plus 35 élevée que si cette version n'avait pas été testée au préalable grâce au 7 calculateur externe 14. L'invention permet donc une réduction importante des temps et des coûts de développement d'une nouvelle version du logiciel du calculateur avionique. De façon avantageuse, la nouvelle version FS` de la fonction FS est 5 testée alors que le calculateur avionique 12 est installé sur un banc de test (au sol) simulant le fonctionnement d'un aéronef. Cela permet de tester et de mettre au point cette nouvelle version sans risque pour un aéronef. Lorsqu'une version de la fonction ainsi testée sur le banc de test correspond aux spécifications attendues, le calculateur avionique 12 (ainsi que le 10 calculateur externe 14 qui lui est raccordé), peut être installé à bord d'un aéronef afin de tester cette nouvelle version de la fonction FS en conditions réelles. De préférence, lors du décollage et de l'atterrissage de l'aéronef, le calculateur avionique 12 est configuré dans le mode de fonctionnement normal correspondant à la version courante de son logiciel. Cela évite de 15 prendre des risques pendant ces phases de décollage et d'atterrissage. Lors de phases de vol moins critiques pour l'aéronef, par exemple pendant un vol en croisière, le calculateur avionique 12 est configuré dans le mode de fonctionnement de mise au point afin de tester la nouvelle version de la fonction FS en conditions réelles pendant le vol de l'aéronef. 20 Dans un mode particulier de réalisation représenté sur la figure 2, le système 10 comprend en outre un calculateur 24. Ce calculateur 24 est relié en entrée à une sortie du calculateur externe 14 par une liaison 22. Il est également relié en sortie à une entrée du calculateur avionique 12 par une liaison 28. Le calculateur externe 14 est en outre relié au calculateur 25 avionique 12 par une liaison 26. Grâce à cette architecture, si l'une (ou plusieurs) des entrées En, EF2, EFi de la fonction FS' n'est pas directement disponible sur une sortie du calculateur avionique 12 et, ne peut en conséquence pas être acquise par le calculateur externe 14 via la liaison 16, alors le calculateur externe 14 peut envoyer une requête au calculateur 30 avionique 12 (via le calculateur 24) pour qu'il envoie une valeur courante de ladite entrée (correspondant à une sortie de l'une des fonctions du premier sous-ensemble de l'ensemble de fonctions) via la liaison 26. En effet, le calculateur avionique 12 est généralement prévu pour accepter des requêtes d'un calculateur de tests tel que le calculateur 24, ces requêtes permettant 35 au calculateur de tests de requérir l'envoi de valeurs courantes d'une ou 8 plusieurs variables internes du calculateur avionique 12 afin de surveiller ces valeurs courantes au moyen du calculateur de tests (par exemple lors d'essais en vol de l'aéronef). Dans le cadre du mode particulier de réalisation de l'invention, cette fonctionnalité du calculateur avionique 12 est utilisée 5 pour permettre au calculateur externe 14 d'acquérir des entrées de la fonction FS' qui ne seraient autrement pas disponibles en sortie du calculateur avionique 12. La liaison 26 entre le calculateur avionique 12 et le calculateur externe 14 est par exemple conforme à l'un des standards ARINC 429 ou ARINC 664 part 7. La liaison 22 entre le calculateur externe 10 14 et le calculateur 24 est par exemple de type Ethernet. La liaison 28 entre le calculateur 24 et le calculateur avionique 12 est par exemple conforme à l'un des standards ARINC 429 ou ARINC 664 part 7. Dans un exemple particulier de réalisation, le calculateur externe 14 envoie une requête au calculateur 24 dans laquelle il transmet un nom de la variable d'entrée de la 15 fonction FS' dont il requiert l'envoi d'une valeur courante. Le calculateur 24 contient en mémoire une table de correspondance entre ce nom de la variable d'entrée et une adresse de ladite variable dans le calculateur avionique 12. Le calculateur 24, qui a reçu la requête du calculateur externe 14, construit une requête comprenant cette adresse correspondant à la 20 variable d'entrée et il envoie cette requête au calculateur avionique 12. En réponse à cette requête, le calculateur avionique 12 envoie une valeur courante de la variable d'entrée à destination du calculateur externe 14, via la liaison 26. Sans sortir du cadre de l'invention, le calculateur externe pourrait aussi transmettre une requête directement au calculateur avionique 25 12 (par une liaison 28' non représentée sur la figure), sans passer par l'intermédiaire REVENDICATIONS1- Procédé de développement d'une nouvelle version d'un logiciel d'un calculateur avionique (12) d'un aéronef, - le calculateur avionique étant équipé d'une version courante dudit logiciel ; - le logiciel comprenant un ensemble de fonctions (F1, F2, ... F7, Fs) interconnectées entre elles ainsi qu'avec des entrées (E1, E2, Em) et des sorties (S1, S2, ... Sn) du calculateur avionique, caractérisé en ce que l'une des fonctions (Fs) de l'ensemble de fonctions étant dite fonction à mettre à jour, la fonction à mettre à jour reçoit en entrée des sorties (EF1, EF2, EFi) de fonctions d'un premier sous-ensemble de fonctions de l'ensemble de fonctions (F1, F2, ... F7, Es) et fournit au moins une sortie reliée à une première entrée (20a) d'un commutateur (20) dont une sortie (Sc) est reliée à une ou à des entrées de fonctions d'un deuxième sous-ensemble de fonctions de l'ensemble de fonctions, et en ce qu'il comprend les étapes suivantes : - raccorder au calculateur avionique (12) un calculateur externe (14) équipé d'un logiciel comprenant une nouvelle version (Fs') de la fonction à mettre à jour , - recevoir, par la nouvelle version de la fonction à mettre à jour implémentée par le calculateur externe, lesdites sorties (EF1, EF2, EF1) de fonctions du premier sous-ensemble de fonctions ; - envoyer, depuis la nouvelle version (Fs') de la fonction à mettre à jour implémentée par le calculateur externe, l'au moins une sortie (SE') de la fonction à mettre à jour vers une deuxième entrée (20b) dudit commutateur (20) , - commander le commutateur (20) de telle façon que : . dans -un premier mode de fonctionnement, dit normal, la sortie (Sc) du commutateur correspond à la première entrée (20a) ; et . dans un deuxième mode de fonctionnement, dit de mise au point, la sortie (Sc) du commutateur correspond à la deuxième entrée (20b). 2- Procédé selon la revendication 1, caractérisée en ce qu'à l'étape consistant à raccorder le calculateur avionique (12) au calculateur externe 10 (14), le calculateur externe est raccordé à des sorties du calculateur avionique correspondant à des sorties (EF1, EF2, EFi) de fonctions du premier sous-ensemble de fonctions. 5 3- Procédé selon la revendication 1, caractérisée en ce qu'il comprend en outre les étapes suivantes : - envoyer, par le calculateur externe (14), une requête à destination du calculateur avionique, pour demander l'envoi d'informations correspondant à au moins une sortie (EF1, EF2, EFi) parmi lesdites sorties de fonctions du 10 premier sous-ensemble de fonctions ; - en réponse à ladite requête, envoyer, par le calculateur avionique (12), des informations correspondant _à ladite au moins une sortie, à destination du calculateur externe ; - recevoir, par le calculateur externe, lesdites informations correspondant à 15 ladite au moins une sortie. 4- Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le calculateur avionique et le calculateur externe sont installés sur un banc de test. 20 5- Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le calculateur avionique et le calculateur externe sont installés à bord d'un aéronef. 25 6- Système (10) de développement d'une nouvelle version d'un logiciel d'un calculateur avionique d'un aéronef, le système comprenant le calculateur avionique (12), équipé d'une version courante dudit logiciel, le logiciel comprenant un ensemble de fonctions (F1, F2, ... F7, Es) interconnectées entre elles ainsi qu'avec des entrées (El, E2, Em) et des 30 sorties (S1, S2, ... Sn) du calculateur avionique, le système étant caractérisé en ce qu'il comprend en outre un commutateur (20) et un calculateur (14) externe au calculateur avionique, et en ce que : - le calculateur avionique est configuré de telle façon que l'une des fonctions (Fs) de l'ensemble de fonctions, dite fonction à mettre à jour, reçoit en entrée 35 des sorties (EF1, EF2, EFi) de fonctions d'un premier sous-ensemble de 11 fonctions de l'ensemble de fonctions et fournit au moins une sortie (SF) reliée à une première entrée (20a) du commutateur dont une sortie (Sc) est reliée à une ou à des entrées de fonctions d'un deuxième sous-ensemble de fonctions de l'ensemble de fonctions, 5 - le calculateur externe (14) est équipé d'un logiciel comprenant une nouvelle version (Fs') de la fonction à mettre à jour, il est raccordé au calculateur avionique et il est configuré pour : . recevoir, par la nouvelle version de la fonction à mettre à jour implémentée par le calculateur externe, lesdites sorties (EF1, EF2, EFt) 10 de fonctions du premier sous-ensemble de fonctions ; . envoyer, depuis la nouvelle version de la fonction à mettre à jour implémentée par le calculateur externe, l'au moins une sortie (SF') de la fonction à mettre à jour vers une deuxième entrée (20b) dudit commutateur (20) ; 15 - le système (10) est en outre configuré pour commander le commutateur (20) de telle façon que : . dans un premier mode de fonctionnement, dit normal, la sortie (Sc) du commutateur correspond à la première entrée (20a) ; et . dans un deuxième mode de fonctionnement, dit de mise au point, la 20 sortie (Sc) du commutateur correspond à la deuxième entrée (20b). 7- Système selon la revendication 6, caractérisé en ce que le calculateur externe (14) est raccordé à des sorties du calculateur avionique correspondant à des sorties (EF1, EF2, EFi) de fonctions du premier sous- 25 ensemble de fonctions. 8- Système selon la revendication 6, caractérisé en ce que : - le calculateur externe (14) est en outre configuré pour envoyer une requête à destination du calculateur avionique (12), pour demander l'envoi 30 d'informations correspondant à au moins une sortie (EF1, EF2, EFi) parmi lesdites sorties de fonctions du premier sous-ensemble de fonctions ; et - le calculateur avionique est configuré pour envoyer des informations correspondant à ladite au moins une sortie, à destination du calculateur externe, en réponse à ladite requête. 35 12 9- Système selon l'une des revendications 6 à 8, caractérisé en ce qu'il est installé sur un banc de test. 10- Système selon l'une des revendications 6 à 8, caractérisé en ce 5 qu'il est installé à bord d'un l'aéronef.