Voyager 1 a atteint l'espace interstellaire en août 2012 et est l'objet artificiel le plus éloigné qui existe. Lancé peu de temps après son vaisseau spatial jumeau, Voyager 2, en 1977, Voyager 1 a exploré les systèmes jovien et saturnien en découvrant de nouvelles lunes, des volcans actifs et une multitude de données sur le système solaire externe.
Voyager 1 et 2 ont été conçus pour tirer parti d'un alignement planétaire rare qui ne se produit qu'une seule fois en 176 ans et demeure le vaisseau spatial le plus parcouru de l'histoire. Les deux vaisseaux spatiaux portent une sorte de capsule temporelle appelée Golden Record, un disque de cuivre plaqué or de 12 pouces contenant des sons et des images sélectionnés pour représenter l'histoire de notre monde aux extraterrestres.
Je suppose que la grande majorité des personnes qui construisaient des logiciels pour ces missions sont maintenant à la retraite, mais au cours des 35 dernières années, la programmation, les langages de programmation ont évolué jusqu'à présent.
Ainsi, il a été lancé en 1977. Après 35 ans, le Voyager a atteint l'espace interstellaire. Combien de lignes de code existe-t-il et dans quelle langue est-il écrit? Quel était le processus de développement derrière ces missions (qui sont toujours actives)?.
Alors, quel était le plus grand plan avec le code dans cette mission, et dans quelle langue la base de code est-elle écrite?
Réponses:
(Edit: 12/7/2017, un an plus tard, j'ai trouvé une réponse faisant autorité) Dans un article sur le développement de logiciels pour les missions spatiales de la NASA. https://www.nasa.gov/pdf/418878main_FSWC_Final_Report.pdf À la page 31, le tableau suivant est dans le graphique montrant un ajustement décent à une augmentation logarithmique des lignes de code: (Donc, mon estimation 3K était juste sur l'argent .)
C'était à l'origine une question à la recherche d'une réponse finale, nous avons donc fait l'estimation suivante:
Selon l'article ci-dessous, il y a du code disponible pour Apollo 11 et diverses autres choses open source de la NASA, mais la source des sondes semble manquer de manière décevante:
https://voat.co/v/programming/comments/306663
J'ai googlé et je n'ai rien trouvé de plus concluant, mais au-delà des faits, il a été réécrit pour la plupart et pourrait potentiellement nous envoyer des données sur l'espace interstellaire jusqu'en 2024 si tout se passe parfaitement.
C'est terriblement proche: http://history.nasa.gov/computers/Ch6-2.html
Seule la "partie inférieure" des banques de mémoire 4K utilisées par le système de données de vol est destinée au code. C'est probablement le plus complexe des trois ordinateurs sur Voyager afin que nous puissions obtenir une limite supérieure d'ici. Ainsi, 2k octets de mémoire pour les instructions avec une taille d'instruction de 1 octet constitueraient environ 2000 instructions d'assemblage. Ou, peut-être 1000 lignes de code Fortran. Multipliez par trois pour la reprogrammation), et vous obtenez une limite supérieure approximative de 3000 lignes d'assemblage dans l'original. Pas scientifique ou rigoureux, mais du mieux que je puisse comprendre.
Et comme dernière nouvelle, Allan Lasser a fait un Freedom of Information Act pour le code source au logiciel de contrôle et d'analyse de la mission Voyager révélant que le code est (C) Caltech, et au-delà de la portée de toute demande FOIA, un fait que pourrait diriger de nouveaux efforts pour rechercher ce code source.
Et grâce à une demande FOIA connexe d'Allan Lasser, nous apprenons que le contrat JPL / Caltech pour Voyager dépasse également le pouvoir de FOIA car le contrat est considéré par la NASA comme contenant des détails qui auraient tendance à compromettre la sécurité informatique.
la source
Cet article dans Wired indique clairement que le code a été écrit en Fortran 5 et plus tard porté sur Fortran 77 et certains éléments sont maintenant dans une version de C:
la source