Brevet FR2901619A1 — publié le 20071130

de type de chaque avion, nécessaire pour l'exploitation de celui-ci, en préparation de mission. Un tel manuel de vol informatisé peut être fourni aux compagnies aériennes sous la forme d'un logiciel. Il permet de calculer les performances basses vitesses de l'avion (phases de décollage et d'atterrissage), en utilisant les données aérodynamiques, moteur et géométriques de l'avion. Les principales informations fournies par celui-ci sont la relation entre, d'une part, la masse au décollage (ou l'atterrissage) et les vitesses caractéristiques que le pilote utilise pour réaliser le décollage (ou l'atterrissage), et d'autre part les performances de l'avion : longueur de décollage (ou d'atterrissage), pentes de montée (ou de descente), distance d'accélération-arrêt, etc.... Le fonctionnement de ce logiciel est schématisé sur la figure 1. Un fichier avion 10, qui contient données aéronautiques, moteur, etc..., ainsi qu'un fichier calcul 11, qui contient les données décrivant le calcul à réaliser, sont entrés dans un module de calcul 12, qui délivre des fichiers de résultats 13 donnant les performances de l'avion. Pour les avions antérieurs à un avion de type Airbus A380, les contraintes de certification du manuel de vol informatisé permettaient l'utilisation d'un système d'exploitation de type Windows sans contrainte particulière, autre que des tests avant certification, pour démontrer le bon fonctionnement du manuel de vol informatisé dans son environnement. Depuis l'avion de type Airbus A380, ce manuel de vol informatisé doit répondre à des exigences de certification plus sévères définies dans le Référentiel international RTCA DO178B niveau C, qui s'appliquent au module de calcul des performances de l'avion, et au système d'exploitation, quant à son objectif de sûreté de fonctionnement, de manière à éviter que celui-ci ne fournisse des informations erronées à l'utilisateur. Ce référentiel décrit, en effet, les exigences permettant de statuer objectivement sur l'acceptabilité d'un logiciel embarqué sur avion. Les critères d'acceptabilité sont définis en fonction de la criticité du logiciel, c'est-à-dire de l'impact qu'une erreur de ce logiciel peut avoir sur la sécurité. Les niveaux de criticité et donc de développement sont définis du niveau A (le plus critique) au niveau E (le moins critique).. Le niveau C correspond à un impact ayant des répercussions dites Majeures sur la sécurité. De telles exigences impliquent : - une certification D0178B niveau C du système d'exploitation utilisé, ou - l'utilisation d'un système d'exploitation niveau C, ou - la mise en oeuvre de moyens de surveillance dynamiques du système d'exploitation permettant d'arriver à un niveau de sécurité équivalent. A ce jour, aucune version du système d'exploitation Windows n'est certifiée au niveau C de la certification D0178B. De plus une telle certification à un tel niveau n'est pas réalisable, puisque l'on ne dispose ni du code source, ni des éléments de spécification/conception et de tests. L'abandon du système d'exploitation Windows, et l'utilisation d'un système d'exploitation certifié au niveau C impliqueraient des coûts importants de développement ou de mise en oeuvre à la fois pour le concepteur et pour les clients (adaptation du mode opératoire qui actuellement leur permet une utilisation dans un environnement ouvert). L'invention a pour objet un procédé de contrôle dynamique de ce manuel de vol informatisé de manière à éviter de certifier le système d'exploitation du poste de travail sur lequel fonctionne celui-ci, ce qui permet d'utiliser le système d'exploitation Windows, en mettant en oeuvre des moyens de contrôle dynamique permettant de garantir un niveau de fiabilité que I'EASA juge suffisant. EXPOSÉ DE L'INVENTION L'invention concerne un procédé de contrôle dynamique, pour un aéronef, d'un manuel de vol informatisé fonctionnant sur un terminal utilisant un système d'exploitation donné, caractérisé en ce qu'il comporte les étapes suivantes : - une étape de calcul de performances de l'aéronef à partir d'un fichier d'entrée de données réelles aéronef, et d'un fichier d'entrée de données calcul, et d'obtention d'au moins un premier fichier de résultats, - une étape de calcul de performances de référence à partir d'un fichier d'entrée de données de référence, et d'obtention d'au moins un troisième fichier de résultats, - une première étape de comparaison de ce au moins un troisième fichier de résultats à au moins un fichier de résultats de référence de manière à détecter un éventuel dysfonctionnement du système d'exploitation, une étape de suppression des premiers fichiers de résultats et d'envoi d'un message d'erreur à l'utilisateur si le résultat de cette première étape de comparaison est négatif. Dans un mode de réalisation avantageux, le procédé de l'invention comporte, en outre : -une seconde étape de calcul des performances de l'aéronef à partir du fichier d'entrée de données réelles aéronef et du fichier d'entrée de données calcul et d'obtention d'au moins un second fichier de résultats, -une seconde étape de comparaison de l'au moins un premier fichier de résultats et de l'au moins un second fichier de résultats, - une étape de suppression des premier et second fichiers de résultats et d'envoi d'un message d'erreur à l'utilisateur si le résultat de cette seconde étape de comparaison est négatif. Avantageusement le procédé de l'invention comporte, en outre . une étape préalable de vérification d'algorithmes de contrôle d'intégrité de données mis en place sur des modules de calcul du manuel de vol, et sur des fichiers de configuration utilisés par celui-ci, - une étape de vérification, après lecture des fichiers d'entrée, d'algorithmes de contrôle d'intégrité de données mis en place sur ces fichiers d'entrée, préalablement à chaque étape de calcul, - une étape de vérification, après écriture des fichiers de résultats, d'algorithmes de contrôle d'intégrité de données mis en place sur ces fichiers de résultats, après chaque étape de calcul, - une étape de contrôle du module de comparaison réalisant la seconde étape de comparaison, avant qu'il ne réalise cette seconde étape de comparaison. Le procédé de l'invention est avantageux car il permet d'éviter de développer ou de mettre en oeuvre un système d'exploitation certifié 1DO178B niveau C, ce qui serait très coûteux. De plus il permet aux compagnies clientes de garder un mode opératoire pour un avion de type Airbus A380 homogène avec celui des autres avions de type Airbus qu'elles possèdent : le manuel de vol informatisé peut continuer à être utilisé dans un environnement ouvert, par exemple sur un ordinateur de type PC du commerce équipé du système d'exploitation Windows. L'invention concerne également un manuel de vol informatisé fonctionnant sur un terminal utilisant un système d'exploitation donné, caractérisé en ce qu'il comporte : - un premier module de calcul des performances de l'aéronef à partir d'un fichier d'entrée de données réelles aéronef, et d'un fichier d'entrée de données calcul, et d'obtention d'au moins un premier fichier de résultats, - un troisième module de calcul de performances de référence à partir d'un fichier d'entrée de données de référence, et d'obtention d'au moins un troisième fichier de résultats, - un premier module de comparaison de ce au moins un troisième fichier de résultats à au moins un fichier de résultats de référence, un module de suppression des premiers fichiers de résultats et d'envoi d'un message d'erreur à l'utilisateur si le résultat de cette comparaison est négatif. Avantageusement ce manuel de vol comprend, en outre : - un second module de calcul des performances de l'aéronef à partir du fichier d'entrée de données réelles aéronef et du fichier d'entrée de données calcul et d'obtention d'au moins un second fichier de résultats, - un second module de comparaison de l'au 25 moins un premier fichier de résultats et de l'au moins un second fichier de résultats, - un module de suppression des premier et second fichiers de résultats et d'envoi d'un message d'erreur à l'utilisateur si le résultat de cette 30 comparaison est négatif. Ce manuel comprend avantageusement : - un module de vérification d'algorithmes de contrôle d'intégrité de données mis en place sur des modules de calcul du manuel de vol, et sur des fichiers de configuration utilisés par celui-ci, - un module de vérification, après lecture des fichiers d'entrée, d'algorithmes de contrôle d'intégrité de données mis en place sur ces fichiers d'entrée, préalablement à chaque étape de calcul, - un module de vérification, après écriture des fichiers de résultats, d'algorithmes de contrôle d'intégrité de données mis en place sur ces fichiers de résultats, après chaque étape de calcul, - un module de contrôle du second module de comparaison avant qu'il ne réalise cette seconde étape de comparaison. Avantageusement chaque algorithme de contrôle d'intégrité de données est un identifiant de contrôle ( checksum ) de type 32 bits . Le système d'exploitation peut être le système Windows. L'aéronef peut être un avion. BRÈVE DESCRIPTION DES DESSINS La figure 1 illustre le fonctionnement d'un manuel de vol informatisé de l'art connu. La figure 2 illustre le fonctionnement du manuel de vol informatisé de l'invention. EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS Comme illustré sur la figure 2, le manuel de vol informatisé de l'invention comprend : - un premier module 21 de calcul des performances de l'avion à partir d'un fichier d'entrée de données réelles avion 28, et d'un fichier d'entrée de données calcul 29 délivrant au moins un premier fichier de résultats 30, avantageusement, un éventuel second module 22 de calcul de performances de l'aéronef à partir de ces deux mêmes fichiers 28 et 29, délivrant au moins un second fichier de résultats 31,, - un troisième module 23 de calcul de performances de référence à partir d'un fichier d'entrée de données de référence 32, délivrant au moins un troisième fichier de résultats 33, -avantageusement, un second module 24 de comparaison de l'au moins un premier fichier de résultats 30 et de l'au moins un second fichier de résultats 31, délivrant au moins un fichier de sortie 35 correspondant aux premier et second fichiers de résultats 30 et 31, si la comparaison est positive, - un premier module 25 de comparaison relié à ce second module de comparaison 24, de l'au moins un troisième fichier de résultats 33, et d'un fichier de résultats de référence 34. La flèche 36 illustrée sur la figure 2 correspond à une copie des fichiers de sortie 30 dans les fichiers de sortie 35, dans le cas où l'ensemble des diagnostics fournis par les contrôles définis ci-dessus et ci-après est positif. Dans le cas contraire, cette copie n'est pas faite et les fichiers de sortie 30 et 31 sont supprimés, et l'utilisateur n'a alors aucune sortie à exploiter. Selon l'invention, le procédé de contrôle dynamique, pour un avion, d'un tel manuel de vol informatisé fonctionnant sur un terminal utilisant un système d'exploitation donné, comporte les étapes suivantes . une première étape de calcul des performances de l'avion à partir du fichier d'entrée de données réelles avion 28, et d'un fichier d'entrée de données calcul 29, et d'obtention d'au moins un premier fichier de résultats 30, - une étape de calcul de performances de référence à partir d'un fichier d'entrée de données de référence 32, et d'obtention d'au moins un troisième fichier de résultats 33, cette étape étant lancée en parallèle avec l'étape précédente, - une première étape de comparaison de ce au moins un troisième fichier de résultats 33 à au moins un fichier de résultats de référence 34 de manière à détecter un éventuel dysfonctionnement du système d'exploitation, moyennant l'application de marges numériques tolérées (pour un écart non significatif) sur les résultats, pour prononcer l'acceptabilité des fichiers de résultats 30, -une étape de suppression des premiers fichiers de résultats 30 et d'envoi d'un message d'erreur à l'utilisateur si le résultat de cette première étape de comparaison est négatif. Une telle comparaison avec un cas de référence dont les résultats sont disponibles permet de valider l'intégrité de l'environnement d'exploitation dans le cas où le système d'exploitation modifierait systématiquement les sorties, ou produirait de manière systématique la même erreur. Dans un mode de réalisation avantageux, le procédé de l'invention comporte, en outre - une seconde étape de calcul des performances de l'aéronef à partir du fichier d'entrée de données réelles avion 28 et du fichier d'entrée de données calcul 29 et d'obtention d'au moins un second fichier de résultats 31, - une seconde étape de comparaison de l'au moins un premier fichier de résultats 30 et de l'au moins un second fichier de résultats 31 de manière à détecter des modifications éventuelles de données lors d'un calcul dues à un dysfonctionnement du système d'exploitation, ou de l'influence d'une autre application fonctionnant en même temps, - une étape de suppression des premier et second fichiers de résultats et d'envoi d'un message d'erreur à l'utilisateur si le résultat de cette seconde étape de comparaison est négatif. Les deux modules de calcul 21 et 22 sont identiques dans leur contenu, fonctionnent en parallèle et occupent un espace en mémoire différent. En cas de dysfonctionnement du système d'exploitation, ou d'interaction non désirée d'un autre processus ( effet de bord ), les fichiers de résultats 30 et 31 sont alors différents. Le résultat n'est pas affiché. Un message d'erreur est transmis à l'utilisateur (la probabilité pour que se produise une même erreur pour les deux calculs étant, en effet, très faible). Le procédé de l'invention est un procédé de contrôle dynamique, c'est-à-dire actif en temps réel, d'un manuel de vol informatisé mis en oeuvre pour détecter un dysfonctionnement du système d'exploitation dans le cadre de l'utilisation de certaines de ses fonctionnalités, par exemple du calcul de la longueur d'atterrissage ou de décollage de l'avion. Une analyse des risques liés à l'utilisation par le manuel de vol informatisé de fonctions d'un système d'exploitation de niveau inférieur à c montre que les impacts possibles sur les résultats du calcul sont liés : - à l'intégrité des fichiers d'entrée et de sortie, - à la gestion des données en mémoire, à l'intégrité des processus en cours, lors des calculs réalisés par le module de calcul, à l'intégrité des logiciels de calcul utilisés, avant de lancer tout calcul. Dans un mode de réalisation avantageux de l'invention les modules de calcul 21, 22 et 23, et les fichiers de configuration, c'est-à-dire les fichiers qui contiennent les données utiles au bon fonctionnement du manuel de vol, sont donc munis 25 d'algorithmes de contrôle d'intégrité de données, par exemple des identifiants de contrôle ou checksum . Ces algorithmes sont contrôlés lors de l'appel au manuel de vol informatisé, ce qui permet de vérifier l'intégrité de l'application et de son installation sur 30 le terminal utilisateur. 20 Les fichiers d'entrée 28, 29 et 32 peuvent également être munis de tels algorithmes. Après lecture de ces fichiers 28, 29 et 32 et avant utilisation de ceux-ci par les module de calculs 21, 22 et 23 les algorithmes de ces fichiers sont vérifiés, ce qui permet de vérifier l'intégrité de ces fichiers lors de la phase de lecture par chaque module de calcul, la fonction de lecture du système d'exploitation étant ainsi contrôlée. Pour contrôler le bon fonctionnement de la fonction écriture des fichiers de sortie du système d'exploitation, les fichiers de résultats 30, 31 et 33 peuvent également être munis de tels algorithmes. Chaque algorithme est calculé par les modules de calcul correspondants 21, 22 et 23, puis écrit dans les fichiers correspondants. Ces fichiers sont ensuite relus, leur algorithme calculé et comparé à celui qui a été lu. Si la comparaison n'est pas bonne, les fichiers de résultats sont supprimés et un message d'erreur est envoyé à l'utilisateur. Le second module de comparaison 24 peut être contrôlé avant utilisation, en réalisant la comparaison de deux fichiers différents et de deux fichiers de référence.25 REFERENCES [1] FM -Flight Manual PEP & LTS : Performance Engineer's Programs & Load & Tune Sheet Software , Février 2003, (adresse : http://www.ccntent.airbusworld.com/SITES/Customer servi ces/html/09 04 01 esolutions.htm REVENDICATIONS 1. Procédé de contrôle dynamique, pour un aéronef, d'un manuel de vol informatisé fonctionnant sur un terminal utilisant un système d'exploitation donné, caractérisé en ce qu'il comporte les étapes suivantes . - une étape de calcul des performances de l'aéronef à partir d'un fichier d'entrée de données réelles aéronef (28), et d'un fichier d'entrée de données calcul (29), et d'obtention d'au moins un premier fichier de résultats (30), - une étape de calcul des performances de référence à partir d'un fichier d'entrée de données de référence (32), et d'obtention d'au moins un troisième fichier de résultats (33), - une première étape de comparaison de l'au moins un troisième fichier de résultats (33) à au moins un fichier de résultats de référence (34), - une étape de suppression des premiers fichiers de résultats (30) et d'envoi d'un message d'erreur à l'utilisateur si le résultat de cette première étape de comparaison est négatif. 2. Procédé selon la revendication 1, qui comporte . - une seconde étape de calcul des performances de l'aéronef à partir du fichier d'entrée de données réelles aéronef (28) et du fichier d'entrée de données calcul (29) et d'obtention d'au moins un second fichier de résultats (31),.6 - une seconde étape de comparaison de l'au moins un premier fichier de résultats (30) et de l'au moins un second fichier de résultats (31), - une étape de suppression des premier et second fichiers de résultats et d'envoi d'un message d'erreur à l'utilisateur si le résultat de cette seconde étape de comparaison est négatif. 3. Procédé selon l'une quelconque des revendications précédentes qui comporte : - une étape préalable de vérification d'algorithmes de contrôle d'intégrité de données mis en place sur des modules de calcul du manuel de vol, et sur des fichiers de configuration utilisés par celui- ci. 4. Procédé selon l'une quelconque des revendications 1 ou 2, qui comprend : - une étape de vérification, après lecture des fichiers d'entrée, d'algorithmes de contrôle d'intégrité de données mis en place sur ces fichiers d'entrée, préalablement à chaque étape de calcul. 5. Procédé selon la revendication 4, qui comporte : - une étape de vérification, après écriture des fichiers de résultats, d'algorithmes de contrôle d'intégrité de données mis en place sur ces fichiers de résultats, après chaque étape de calcul.30 6. Procédé selon la revendication 2, qui comporte : une étape de contrôle du module de comparaison réalisant la seconde étape de comparaison, avant qu'il ne réalise cette seconde étape de comparaison. 7. Procédé selon l'une quelconque des revendications 3 à 5, dans lequel chaque algorithme de contrôle d'intégrité de données est un identifiant de contrôle de type 32 bits . 8. Procédé selon la revendication 1, dans lequel le système d'exploitation est le système Windows. 9. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'aéronef est un avion. 10. Manuel de vol informatisé fonctionnant sur un terminal utilisant un système d'exploitation donné, caractérisé en ce qu'il comporte : un premier module de calcul des performances de l'aéronef à partir d'un fichier d'entrée de données réelles aéronef (28), et d'un fichier d'entrée de données calcul (29), et d'obtention d'au moins un premier fichier de résultats (30), un troisième module de calcul des performances de référence à partir d'un fichier d'entrée de données de référence (32), et d'obtention d'au moins un troisième fichier de résultats (33), - un premier module de comparaison de l'au moins un troisième fichier de résultats (33) à au moins un fichier de résultats de référence (34), un module de suppression des premiers fichiers de résultats (30) et d'envoi d'un message d'erreur à l'utilisateur si le résultat de cette comparaison est négatif. 11. Manuel de vol selon la revendication 10, qui comporte : un second module étape de calcul des performances de l'aéronef à partir du fichier d'entrée de données réelles aéronef (28) et du fichier d'entrée de données calcul (29) et d'obtention d'au moins un second fichier de résultats (31), - un second module de comparaison de l'au moins un premier fichier de résultats (30) et de l'au moins un second fichier de résultats (31), - un module de suppression des premier et second fichiers de résultats et d'envoi d'un message d'erreur à l'utilisateur si le résultat de cette comparaison est négatif. 12. Manuel de vol selon l'une quelconque des revendications 10 ou 11, qui comporte - un module de vérification d'algorithmes de contrôle d'intégrité de données mis en place sur les modules de calcul, et sur les fichiers de configuration utilisés par celui-ci. 13. Manuel de vol selon l'une quelconque des revendications 10 ou 11, qui comprend : - un module de vérification, après lecture des fichiers d'entrée, d'algorithmes de contrôle d'intégrité de données mis en place sur ces fichiers d'entrée, préalablement à chaque étape de calcul. 14. Manuel de vol selon la revendication 13, qui comporte : - un module de vérification, après écriture des fichiers de résultats, d'algorithmes de contrôle d'intégrité de données mis en place sur ces fichiers de résultats, après chaque étape de calcul. 15. Manuel de vol selon la revendication 11, qui comporte : un module de contrôle du module de comparaison (24) réalisant la seconde étape de comparaison, avant qu'il ne réalise cette seconde étape de comparaison. 16. Manuel de vol selon l'une quelconque des revendications 12 à 14, dans lequel chaque algorithme de contrôle d'intégrité de données est un identifiant de contrôle de type 32 bits . 17. Manuel de vol selon la revendication 10, dans lequel le système d'exploitation est le système Windows. 18. Manuel de vol selon l'une quelconque des revendications 10 à 17, dans lequel l'aéronef est un avion.5