jeudi 17 janvier 2013

JSF, l'ignorance des décideurs qui croient tout savoir (actualisé II)

(You can read my post in English on the JSF - which gathers my two French posts on this aircraft - on my English blog Flashback on glorious planes)



Les problèmes du JSF (encore dénommé Lockheed-Martin F 35 ou Lightning II) continuent, et apparemment, malgré une communication savamment orchestrée, ne tournent pas dans un sens favorable.

Pour l'instant, les avions qui volent sont l'équivalent des dreamcars qui font rêver les badauds dans les salons de l'Auto : Ce sont des avions de transports très chers pour un seul passager, le pilote, et dont les évolutions sont uniquement destinées à faire croire aux bailleurs de fonds que l'engin tiendra ses promesses.

Ayant vu que mon post précédent sur le sujet avait subi, en cette mi-Janvier 2013, un regain de lecture par des gens qui risquent fort d'être concernés par les capacités aériennes de nos alliés, je me permets de revenir sur un des points de ma conclusion d'alors, car je pense que ce JSF ne tiendra pas ses promesses.


De nombreux signaux très récent (voir sur le site d'AW&ST cet article de Bill Sweetman) montrent l'inquiétude des responsables militaires américains quant à la réalisation de ce programme militaire, le plus coûteux de toute l'Histoire.

Les limites actuelles des logiciels


En dehors des problèmes aérodynamiques (quand même bizarres) et des problèmes de cohérence dans la gestion du programme, il y a un problème considérable qui est lié à l'âme même de cet avion, son très puissant ordinateur.

Une notion fondamentale manipulée par les informaticiens est la complexité algorithmique. C'est, caricaturalement, une mesure de la relation du temps de traitement des données en fonction du nombre même de ces données (temps linéaire, quadratique, cubique,... exponentiel, voir plus).

Mais, le JSF est censé savoir tout faire (peut-être pas le café, quand même).

Les gestionnaires du programme prévoit que son logiciel doit tourner autour des 26 millions de lignes de code dont 10 seulement seraient écrites (c'est déjà beaucoup, c'est même gigantesque).

Mais ce logiciel ne vise pas à réaliser un seul grand travail, mais à réaliser une quantité phénoménale de travaux différents.


Les systèmes informatiques embarqués dans les avions de combat actuels permettent d'aider les pilotes à rester dans leur enveloppe de vol, à  gérer les paramètres-moteur, à toucher leur cible avec précision, à échapper aux menaces qu'ils ont détectées.  Pour chaque action à réaliser, il y a une base de données dédiée.

On a pu constater que, pour autant, ils n'évitent pas la collision entre avions ou la collision avec le sol pas plus qu'ils n'interdisent certaines fausses manœuvres. La raison en est simple : L'ordinateur n'a aucun moyen de prendre le pas sur le pilote parce que notre modélisation de nos propres comportements n'est pas encore assez fine. Du coup, si le pilote réagit mal, l'avion est perdu.

Le système du JSF est annoncé capable de faire tout ce que peut faire un avion de la dernière génération, mais, en plus, de donner au pilote une vision parfaite du monde extérieur sur toute la sphère extérieure à l'avion. Evidemment, ce système informatique, unique pour 3 avions différents, est donc à même de gérer un atterrissage vertical sur un porte-hélicoptères voguant en pleine tempête. Juste pour mémoire, les pilotes Britanniques devaient justifier de 2000 heures de vol pour postuler au pilotage d'un Harriers.


C'est pourquoi, en Septembre 2012, j'avais indiqué que le JSF se heurtait probablement au mur de la complexité logicielle (software complexity), sauf que ce concept n'existant pas encore vraiment, les avancées théoriques en sont lentes.

Bien sûr, les informaticiens de Lockheed-Martin doivent travailler globalement dans ce sens-là, mais les voies qu'ils explorent ne sont pas obligatoirement garanties de déboucher sur le succès.

Et c'est à cause de ce problème que je ne crois pas un seul instant que l'engin finira par fonctionner comme annoncé.

J'ai vu que certains contributeurs de forums (où que ce soit sur la planète) sont persuadés que l'engin finira par fonctionner correctement.

C'est justement ce à quoi je crois de moins en moins : Quelque soit les moyens financiers et humains que vous investissez, vous ne pouvez pas tout faire.

La vraie solution pourrait venir des ordinateurs fondés sur l'algorithmique quantique (sur laquelle Lockeed-Martin travaille effectivement puisque la société a acheté un D-Wave One système - source Wiki en).

Ces ordinateurs, en théorie du moins, échappent à nombre des problèmes qui bloquent les ordinateurs actuels qui fonctionnent sur une logique binaire simple (ils pourraient par exemple traiter des algorithmes quantiques qui résolvent des problèmes NP, voire NP complets).
Par contre, ils ne résolvent pas les problèmes indécidables.

J'imagine (peut-être à tort, je le reconnais, cher Montaudran) que la communication entre les différents compartiments logiciels peut être supervisée par un ordinateur indépendant et hyper rapide, et j'ai la faiblesse de penser que, un jour, peut-être, ce type de problème sera résolu.

Enfin, il faudra ensuite s'assurer que les pilotes seront capables de fonctionner dans l'engin résultant. Les problèmes récents du F 22 ont démontré que ce bel engin avait du mal à fonctionner avec ce type de charge utile !

Mais nous n'y sommes pas car aucun ordinateur de ce genre ne sera prêt avant 15 à 20 ans et rien ne garantit qu'il sera embarquable.

De plus, dans cette future époque - vers 2033 - la cellule du F35, conçue vers 1996, sera complètement obsolète.


Pour le temps présent, on peut certes faire voler la coque de cet avion avec des systèmes beaucoup moins ambitieux - donc dégradés - mais cela ne servira qu'a sauver la face et à vendre des engins inutiles à des politiciens corrompus.


Les risques du métier, nouvelle version

Un doute a été émis très récemment par le Général Bogdan, qui dirige le programme JSF au Pentagone.
Ce doute concerne la sécurité logicielle du programme, en particulier du fait que ce sont des milliers d'entreprises situées dans une dizaine de pays qui en fabrique les organes.

La réponse du lobby pro-JSF ne tarda pas et établissait que ce bombardier furtif n'était pas plus menacé que l'avaient été le F 16 ou le F 18 en leur temps.

Le commentaire de ce grand journaliste aéronautique américain qu'est Bill Sweetman est tombé le 26 Avril 2013. Elle est pleine de bon sens et d'humour.

Il y rappelle qu'au début des années 70, d'une part Internet était un système purement militaire et purement américain, donc entièrement contrôlé. D'autre part, ces avions n'avaient rien de cyber-engins.

Le F 35, par contre, est, au moins dans les désirs de ses concepteurs, un objet totalement informatique.

Par ailleurs, l'ensemble des entreprises qui participent à ce programme constituent une "surface de vulnérabilité" incomparablement plus importante.

Mr Sweetman conclut son propos en conseillant à Lockheed-Martin de dépenser son argent dans la recherche des failles de sécurité plutôt que dans des opérations de désinformation invraisemblablement coûteuses.

savoir éviter de persévérer dans l'erreur


Lorsque j'apprenais à piloter, mon instructeur m'a fait comprendre une leçon essentielle qu'il avait dû lui-même apprendre aux USA en 1944 : La capacité de prendre la décision du demi-tour avant qu'il soit trop tard.

Cela m'a sauvé la vie trois mois plus tard lors de ma seconde navigation en solo, lorsque je suis tombé en plein sur un front nuageux qui descendait très bas et non annoncé (Météo-France était en grève).

Les USA ont perdu cette capacité de décision du demi-tour. C'est très inquiétant pour eux.




8 commentaires:

  1. Une synthèse de 2007 sur l'accidentologie de l'aviation "générale" (comprendre, essentiellement l'aviation légère et la pratique en aéro-club) met en lumière une observation que le BEA range sous le titre "objectif = destination".

    Le BEA a rencontré sur une période de 5 ans, 60 accidents liés à "une très forte volonté de la part de l'équipage d'arriver à destination", dont 40 mortels ayant entraîné 100 morts.

    Effectivement, savoir renoncer quand on est dans l'erreur est, finalement, une qualité !

    Je crois d'ailleurs que c'était toute la gloire de Costes et Bellonte sur les Açores... Ayant vu que leur consommation était largement supérieure aux prévisions (fort vent de face !), ils firent tranquillement demi-tour avant le "point de décision", se disant que la prochaine fois serait la bonne - ce qui se produisit en effet...

    RépondreSupprimer
    Réponses
    1. Parfois même, dans un passé plus ancien, les pilotes ont été obligés de voler par leurs passagers influents.
      J'ai plusieurs exemples dont la catastrophe du Dewoitine 332 Émeraude, qui porta un coup terrible à notre aviation de transport (il fut obligatoire de fabriquer des avions plus lourds, donc non rentables) et la mort du Général Leclerc qui voulait voler coûte que coûte.
      J'ai cru comprendre que la mort du Président Polonais en Russie avait eu la même cause.
      Ce fut toujours un terrible gâchis.

      Supprimer
  2. Bonjour,

    Votre assertion "La vraie solution pourrait venir des ordinateurs fondés sur l'algorithmique quantique." est une erreur.
    En effet si ces ordinateurs finissent par exister à la puissance prévue cela n'enlèvera rien à la complexité de programmation. Au contraire ce sera peut être encore plus difficile si une "nouvelle" informatique différente et non maitrisée s'installe.

    Pour le reste il semble que les militaires US ont perdu la main sur la gestion de leurs projets. Le F-35, le projet LCS, Le projet de remplacement du Bradley prévu à 50 tonnes, Le remplaçant de l'engin de débarquement des Marines et je dois en oublier... C'est très inquiétant.

    RépondreSupprimer
  3. Je me permets de ne pas être d'accord avec vous sur le plan informatique : Les ordinateurs actuels sont, peu ou prou, des Machines de Turing et, à ma connaissance tout au moins, les ordinateurs quantiques permettraient de résoudre les problèmes du type NP-complets, ce qui pourrait probablement aider à réduire les problèmes de complexité logicielle.

    Mais, à l'évidence, sur le problème du Pentagone, nous sommes d'accord.

    RépondreSupprimer
  4. Le F-35 est de nouveau "Groundé", les amiraux britanniques doivent avoir des sueurs froides. Imaginons (et il faut bien peu d'imagination) que les Marines jettent l'éponge et voilà que les beau porte avions sans éléments-airs...

    RépondreSupprimer
    Réponses
    1. Je dois dire que plus le temps passe et moins je comprends l'obstination des Britanniques dans cette voie. Par ailleurs, la conception de l'engin est apparemment bien médiocre.

      Il est possible que le mélange des exigences des Marines (VTOL partiel) avec celles de la furtivité (armement en soute) aient eu des effets catastrophiques. Mais quand même, il y a beaucoup d'ennuis, car contrairement à ce que je lisais sur un forum où j'ai quelques lecteurs - et un homonyme - l'avion ne vient pas de naître !

      Mais ce qui est fait est fait. Si j'étais un actuel pilote de Sea Harrier, je serais assez mal à l'aise à l'idée de partir en mission avec le F 35.

      Supprimer
  5. Je ne suis pas spécialiste mais la question est intéressante.

    Les programmes étant généralement des propriétés privées, donc confidentiels, il est difficile d’estimer la complexité de certains programmes.
    De plus, même si on opte pour compter les lignes, cela peut varier selon la méthode.
    - Le Kernel Linux a dépassé les 15 000 000 LOC (Lines of code) en 2012, ce qui fait dire à Linus Torvalds que cela devient trop complexe pour que les développeurs puissent s’y retrouver et que cela pourrait rendre l’évaluation des erreurs difficile.
    - Windows XP : 45 000 000 LOC en 2001.
    - Une version Debian - la 5 ou “lenny", 2009 - atteindrait les 324 000 000 LOC

    Il semble qu’un bug pour 1000 lignes soit la moyenne.
    Le problème spécifique des armes et que le bug n’est pas tolérable étant donné les conséquences potentielles.
    Toute proportion gardée, cela me semble assez proche de la problématique dans le spatial, cf. l’échec du vol inaugural d’ariane 5.
    Le robot Curiosity fonctionnerait avec 2 000 000 de lignes. Pour traquer les éventuelles erreurs, la Nasa a fait appel à Coverity, une société qui serait spécialisée dans l’analyse des programmes. Je ne sais pas quelles méthodes ils utilisent.

    Si je puis me permettre, et de manière empirique :
    1ère loi : Plus un programme est long (en Loc) moins sa robustesse est grande. Or, la “robustesse” est une qualité nécessaire du matériel militaire. Avec 26 000 000 de lignes et quel que soit ses qualités ou défauts, le F-35 offre son flanc à la vulnérabilité.

    2° loi : plus le nombre de programmeurs est important pour un projet est plus l’efficacité individuelle par programmeur diminue.

    En conclusion : Peut-être que l’architecture entre aussi en ligne de compte, autant pour gagner en efficacité lors de la conception que pour traiter les bugs. Un système décentralisé peut tolérer un bug dans l’un de ses sous-systèmes sans entrainer la paralysie totale du système, ce qui reviendrait à circonscrire le bug. Mais je ne m’y connais pas assez pour m’avancer.

    Sébastien

    RépondreSupprimer
    Réponses
    1. Je partage tout à fait vos 2 lois et votre conclusions.
      Il me semble qu'il faudrait aussi inclure des tests avec données générées aléatoirement en temps réel (matériel embarqué oblige) pour que l'on puisse imaginer les conditions "qui n'arriveront jamais" mais qui arrivent quand même suivant la loi de l'E... Maximum.

      Supprimer