2010-02-22 11 views
6

Solo per interesse, sappiamo che c'è molta programmazione nella creazione di un satellite. In quali lingue sono scritti?Lingue utilizzate per scrivere programmi per missioni satellitari?

+3

E le lingue utilizzate per il controllo degli acceleratori e dei sistemi frenanti Toyota? – DOK

+2

@DOK Un commento che ho scritto in un thread di discussione correlato su lwn.net: http://lwn.net/Articles/374618/ –

+0

Grazie a tutti, è stato davvero interessante :) – trinity

risposta

0

Come per qualsiasi altra attività software, la lingua utilizzata per svolgere una funzione in un satellite sarà la lingua più appropriata in base ai vari driver aziendali e IT in vigore.

Troverete esempi di lingue diverse utilizzate nell'industria aerospaziale se vi guardate intorno. Data la tua domanda, probabilmente vorrai dare un'occhiata a Ada, che viene spesso definito come utilizzato nei "sistemi in tempo reale", un articolo di notizie in modo che l'effetto sia here, alcuni utenti non di difesa sono elencati here.

3

Dal momento che hanno un un'architettura personalizzata collegato a periferiche varie I/O devono essere programmati in C/C++ o direttamente in ASM per migliorare le prestazioni e ottimizzazioni ..

Sono completamente personalizzato, in modo non credo ci sono altri approcci al problema, pensate anche che devono usare davvero poca energia (e devono essere caricati dal sole), quindi tendono ad avere hardware non così potente e devono essere VERAMENTE ottimizzati (ecco perché ASM è il modo). Non dovresti sprecare un singolo ciclo della CPU!

Infine il tipo di dispositivi collegati a un satellite sono davvero rari quindi penso che sia difficile utilizzare qualsiasi tipo di API standard da interfacciare (come RS232 o così via), penso che siano diversi per ogni caso.

Non mi sorprenderei di trovare molti vecchi chip come Z80s facendo il lavoro sporco su un satellite solo perché sono abbastanza potenti da svolgere compiti semplici anche se il loro bus a 8 bit!

2

C, C++ e Ada sono menzionati here (sì, gli autori non possono utilizzare "Ada"). Il codice C può essere scritto a mano o generato da Scade.

2

A parte le possibilità che sono già state citate, almeno one spacecraft era controllato da software scritto in Lisp per parte del suo volo.

9

Le missioni satellitari della NASA Sono stato coinvolto in tutto il linguaggio di assemblaggio utilizzato per il software di bordo. C'è una forte preferenza per la NASA nell'usare il software di volo con il patrimonio - riutilizzo di componenti (sia hardware che software) con una comprovata esperienza di successo nelle precedenti missioni. Quindi, anziché utilizzare il codice compilato sui processori più potenti e più recenti, , spesso finiamo per utilizzare assembly codificati a mano su processori wimpy, ma provati e veri. Ad esempio, , il progetto THEMIS, realizzato nel 2003 e lanciato nel 2007, viene eseguito su processori Intel 8085, con moduli di assemblaggio codificati a mano con eredità di precedenti missioni come WIND, CLUSTER e STEREO.

0

La maggior parte delle lingue operative utilizzate presso la NASA e la Lockheed sono incentrate su statistiche e calcoli. Ciò significa MATLAB, haskell, Erlang e scala. MATLAB ed Erlang sono i più grandi richiesti per il provisioning.

Mentre la parte hardware delle cose sarà centrata attorno a Assembly, C e Verilog.

1

NASA utilizza molte lingue e varia in base ai suoi usi e dove viene utilizzato.I programmi scritti per alcuni calcoli e per alcuni script sono scritti principalmente usando python. I programmi per gli strumenti di terra e il controllo a terra sono scritti usando C, C++, Ada, ecc. I programmi critici scritti per gli strumenti e l'hardware di bordo sono per lo più in Assembly Language poiché offrono il massimo controllo sull'hardware e alcune vecchie lingue sono anche utilizzato come molti hardware sul satellite sono di vecchie tecnologie (non significa che sono obsoleti perché alcune funzioni sono impossibili da fare senza di loro) e altri linguaggi come MatLab, Visual Basic viene utilizzato anche per i calcoli scientifici.

Problemi correlati