Processo di sviluppo del codice per la missione Voyager?

28

La Voyager 1 ha raggiunto lo spazio interstellare nell'agosto 2012 ed è l'oggetto umano più distante esistente. Lanciata poco dopo la sua navicella gemella, la Voyager 2, nel 1977, la Voyager 1 esplorò i sistemi gioviani e saturniani scoprendo nuove lune, vulcani attivi e una grande quantità di dati sul sistema solare esterno.

I Voyager 1 e 2 sono stati progettati per trarre vantaggio da un raro allineamento planetario che si verifica solo una volta in 176 anni e rimangono il veicolo spaziale più utilizzato nella storia. Entrambi i veicoli spaziali portano una sorta di capsula del tempo chiamata Golden Record, un disco di rame placcato in oro da 12 pollici contenente suoni e immagini selezionati per ritrarre la storia del nostro mondo agli extraterrestri.

Presumo che la stragrande maggioranza delle persone che stavano costruendo software per queste missioni sono ora in pensione, ma negli ultimi 35 anni la programmazione, i linguaggi di programmazione sono avanzati fino ad ora.

Quindi, è stato lanciato nel 1977. Dopo 35 anni, la Voyager ha raggiunto lo spazio interstellare. Quante linee di codice ci sono e in che lingua è scritta? Qual è stato il processo di sviluppo alla base di queste missioni (che sono ancora attive) ?.

Quindi, qual è stato il piano più grande con il codice in questa missione, e in quale lingua è scritto il codice di base?

    
posta Josip Ivic 17.08.2016 - 14:04
fonte

2 risposte

18

(Modifica: 12/7/2017, un anno dopo, ho trovato una risposta autorevole) In un articolo sullo sviluppo di software per le missioni spaziali della NASA. link A pagina 31, la seguente tabella è nel grafico che mostra un adattamento decente a un aumento logaritmico delle righe di codice : (Quindi, la mia stima di 3K era giusta per i soldi.)

  • 1969 Mariner-6 (30)
  • 1975 Viking (5K)
  • 1977 Voyager (3K)
  • 1989 Galileo (8K)
  • 1990 Cassini (120 K)
  • Pathfinder 1997 (175 K)
  • 1999 DS1 (349K)
  • 2003 SIRTF / Spitzer (554K)
  • 2004 MER (555K)
  • 2005 MRO (545K)

Inizialmente era una domanda alla ricerca di una risposta definitiva, quindi abbiamo fatto la seguente stima:

Secondo il post qui sotto, c'è un codice disponibile per Apollo 11 e varie altre cose NASA open source, ma la fonte delle sonde sembra essere deludentemente mancante:

link

Ho cercato su Google e non ho trovato nulla di più decisivo, ma al di là dei fatti che è stato riscritto per la maggior parte in F77 e potenzialmente potrebbe inviarci dati sullo spazio interstellare fino al 2024 se tutto andrà perfettamente.

Questo è allettante vicino: link

Solo la "porzione inferiore" dei banchi di memoria 4K che viene utilizzata dal sistema di dati di volo è per il codice. Questo è probabilmente il più complesso dei tre computer su Voyager in modo da poter ottenere un limite superiore da qui. Quindi, 2 kbyte di memoria per istruzioni con una dimensione di istruzione di 1 byte sarebbero circa 2000 istruzioni di assemblaggio. O forse 1000 righe di codice Fortran. Moltiplicare per tre per riprogrammare) e si ottiene un limite superiore approssimativo di 3000 linee di assemblaggio nell'originale. Non scientifico o rigoroso, ma il meglio che riesco a capire.

E come ultime notizie, Allan Lasser ha fatto un Freedom of Information Act per il codice sorgente del software di controllo e analisi della Voyager Mission che rivela che il codice è (C) Caltech, e al di là della portata di qualsiasi richiesta FOIA, un fatto che potrebbe dirigere ulteriori sforzi per ricercare quel codice sorgente.

Attraverso una richiesta FOIA correlata di Allan Lasser apprendiamo che Contratto JPL / Caltech per Voyager sono anche oltre il potere FOIAs in quanto il contratto è ritenuto dalla NASA per avere dettagli che potrebbero tendere a compromettere la sicurezza IT.

    
risposta data 18.08.2016 - 20:30
fonte
13

Questo articolo in Wired rende chiaro che il codice è stato scritto in Fortran 5 e successivamente portato su Fortran 77 e alcuni elementi sono ora in una versione di C:

The spacecrafts’ original control and analysis software was written in Fortran 5 (later ported to Fortran 77). Some of the software is still in Fortran, though other pieces have now been ported to the somewhat more modern C.

    
risposta data 18.08.2016 - 20:52
fonte