SOFTWARE SPAZIALE, È TEMPO DI UPGRADE

Un nanosatellite con Linux e Java

Grande poco più di una stecca di sigarette, un nuovo satellite in progettazione nei laboratori dell’ESA promette di poter adottare anche nello spazio i processori, i linguaggi di programmazione e i sistemi operativi più recenti. Ne parliamo con Mario Merri.

     24/04/2012

Sembra incredibile, ma c’è un’intera riserva di computer vintage, lassù sopra le nostre teste. Già, perché se la vostra passione è il modernariato al silicio, se ancora v’emozionate imbattendovi in un polveroso dischetto da 3” ½, sappiate che il paradiso dell’informatica d’antan non sta né in fondo alle cantine né dentro ai musei. È a bordo dei satelliti. Di quelli più recenti, per giunta. Ed è perfettamente funzionante. Per dire, se state leggendo queste righe, probabilmente è anche grazie a qualche CPU anni Novanta che sta macinando bit su un satellite per le telecomunicazioni in orbita a qualche migliaia di chilometri dalla Terra.

Stesso discorso anche per i telescopi spaziali di ultima generazione: persino quelli che ancora devono essere lanciati, quelli oggi in fase di progettazione, si avvalgono di componenti hardware e soluzioni software che sul PC della nostra scrivania, o all’interno d’uno smartphone, ci farebbero nel migliore dei casi tenerezza.

Ma com’è possibile, se proprio dallo spazio arrivano le più grandi ricadute e innovazioni tecnologiche? Il fatto è che lassù, se qualcosa smette di funzionare, intervenire è tremendamente costoso, rischioso e a volte proprio impossibile. Dunque, occorre affidarsi a componenti, linguaggi e sistemi operativi ultra-collaudati. Il prezzo da pagare per tanta affidabilità è però alto: tocca rimanere indietro, dal punto di vista informatico, di almeno un decennio. Con tutto quel che ne consegue in termini di prestazioni e potenzialità. Nei prossimi anni, però, la situazione è destinata a cambiare. L’ESA, l’Agenzia Spaziale Europea, sta considerando la costruzione di un nanosatellite – in configurazione CubeSat, appena 10x10x30 cm, praticamente una scatola per bottiglie – pensato proprio per il collaudo di hardware e software di bordo con CPU, interfacce e sistemi operativi di ultima generazione. Si chiama Ops-Sat, permetterà l’aggiornamento del software anche su base quotidiana e consentirà di adottare le soluzioni più recenti in tutta sicurezza.

Media INAF ne ha parlato con uno fra i responsabili del progetto, Mario Merri. Dopo una laurea in ingegneria elettronica al Politecnico di Milano, un master e un PhD conseguiti entrambi negli Stati Uniti (alla University of Rochester), da circa 23 anni Merri lavora presso l’ESOC, la sede ESA di Darmstadt, in Germania, dove dirige la Mission Data Systems Division.

Ingegner Merri, per capire meglio la situazione attuale proviamo a fare un esempio concreto: un satellite progettato per il lancio nel 2012, a oggi, che tipo di sistema operativo o di CPU possiamo ragionevolmente attenderci che implementi?

«Lo spazio è un ambiente molto aggressivo, con un livello di radiazioni elevate. Anche per questo motivo la componentistica harware, memorie e CPU incluse, deve essere resistente a questo ambiente. La scelta di componenti cosiddetti space qualified è chiaramente indispensabile quando si tratta di un satellite del valore di alcune centinaia di milioni di euro. Attualmente, la maggior parte dei satelliti ESA usa il processore ERC32 (SPARC) con un sistema operativo real-time, come per esempio RTEMS o VxWorks. Altri processori più moderni sono già pianificati per missioni in sviluppo, ma comunque sempre con performance molto inferiori a quelle a cui siamo abituati oggi sulla Terra».

Progettisti al lavoro su Ops-Sat presso la facility ESA per il Concurrent Design (crediti: ESA)

Se c’è un componente dei satelliti che, pur nel vuoto e in assenza di gravità, ci attendiamo che si comporti esattamente come avviene a terra, è proprio il software. Perché allora si innova così lentamente, in questo settore, rimanendo vincolati a soluzioni che risalgono al secolo scorso?

«È vero, il software non risente dell’assenza di gravità. Prima discutevamo del fatto che le missioni usano CPU e sistemi operativi non moderni: questo limita anche l’innovazione del software. Nel 1994 si usava Windows 3.1: anche se volessimo, sarebbe molto difficile oggi far girare la maggior parte delle applicazioni che usiamo tutti i giorni su quella piattaforma. Un altro fattore limitante è l’interfaccia spazio-Terra che, nel caso dei satelliti ESA, segue uno standard che è stato pubblicato anch’esso nel 1994. Provi ad immaginare come funzionerebbero le applicazioni di oggi se potessero scambiare dati tra di loro solo attraverso un’interfaccia Kermit (consiglio ai giovani lettori di fare una ricerca su Google se non sanno cosa è Kermit!)».

In che modo un esperimento come Ops-Sat potrà cambiare la situazione?

«Nel caso di Ops-Sat, visto il carattere sperimentale del satellite, si vuole abbattere questa barriera e usare la tecnologia terrestre anche a bordo: il processore sarà molto simile a quello usato in uno smartphone, Linux verrà usato come sistema operativo e Java come linguaggio informatico. La ridondanza a bordo (il progetto preliminare prevede 5 CPU indipendenti) servirà a compensare il fatto che le CPU non sono validate in un ambiente ad alto livello di radiazioni. Ops-Sat fornirà dunque una piattaforma prevalentemente basata su tecnologia hardware e software disponibile sulla Terra che permetterà di sperimentare con nuovi concetti operazionali, ad esempio nuove interfacce spazio-Terra, nuove tecniche di compressione dati, maggior delega delle decisioni a bordo e molte altre cose. Inoltre Ops-Sat permetterà l’upload sistematico di nuovo software, fornendo così un piattaforma volante per la sperimentazione di nuove tecnologie software. Una volta che Ops-Sat sarà in orbita, il limite alla sperimentazione sarà la nostra immaginazione».

E se qualcosa dovesse andare storto?

«Il satellite è stato disegnato per resistere anche in caso di crash totale del sistema di bordo: se dovesse succedere, si potrà semplicemente inviare un comando di reset e uploadare una nuova versione del software. Certo il software non è influenzato dalla forza gravità, ma nessuna missione ESA permetterebbe di fare questo. Inoltre, solo facendo veramente “volare” queste nuove applicazioni si riesce davvero a validarle in un ambiente rappresentativo. E, speriamo, a convincere gli operatori e i project managers delle missioni ad adottare in futuro alcune delle nostre sperimentazioni».

Se qualche giovane volesse provare a lavorare con voi, ci sono abilità specifiche richieste a chi sviluppa software o hardware di bordo per esperimenti spaziali?

«Certo. Gli sviluppatori di sistemi di bordo devono essere esperti dell’ambiente di sviluppo specifici dello spazio. Gli sviluppatori di Ops-Sat saranno brillanti ingegneri del software con competenze equivalenti a quelli che sviluppano sistemi moderni per utilizzo terrestre».