Progetto e sviluppo di un sistema operativo in tempo reale basato su Linux per il rover planetario ExoMaDeR

ExOS, che sta per EXomader Operative System, e’ il nome del sistema operativo utilizzato sul rover planetario ExoMaDeR dell’Agenzia Spaziale Europea. Si tratta di un sistema operativo in tempo reale ottenuto tramite l’integrazione del kernel di Linux (versione 2.4.27) con l’interfaccia per il real-time RTAI (versione 3.2) insieme ad altri componenti appositamente sviluppati per il rover. La fusione dei vari componenti costituisce la suite software ExOS che verra’ presentata nel completo in questo documento. ExOS e’ stato sviluppato dall’autore nell’ambito di un periodo di ricerca presso l’European Space Technology and Research Centre (ESTEC) dell’European Space Agency nell’anno 2005. Il lavoro e’ stato supervisionato dalla Software Engineering and Standardization Section di ESTEC e coadiuvato dall’Automation & Robotics Division dell’omonimo centro di ricerca.
Lo scopo principale per cui ExOS e’ stato sviluppato e’ la necessita’ di fornire un ambiente d’esecuzione in tempo reale basato su Linux; prima di ExOS sul rover era installato un sistema basato su Linux ma privo di caratteristiche prestazionali capaci di permettere l’esecuzione real-time. Tutte le applicazioni di bordo, di conseguenza, erano gia state scritte per essere eseguite in Linux. Il goal dello sviluppo di ExOS e’ stato fornire un ambiente d’esecuzione capace di eseguire in maniera trasparente le applicazioni precedentemente scritte per il vecchio sistema e, in piu’, fornire il supporto per nuove applicazioni in tempo reale. Il primo Capitolo di questo documento fornisce una panoramica sui sistemi operativi in tempo reale necessaria ad introdurre i concetti e la terminologia che vengono impiegati nei capitoli successivi; il capitolo riporta anche una introduzione a RTAI volta a fornire al lettore un’idea generale di come il sistema realizzi le prestazioni real-time. Il secondo capitolo presenta molto brevemente il rover planetario ExoMaDeR in modo da rendere chiaro lo scenario d’applicazione del software. Nel terzo capitolo viene effettivamente seguito passo-passo lo sviluppo del sistema ExOS; il testo viene sviluppato come una guida che illustri i punti principali del cammino seguito per la progettazione e l’implementazione del sistema. Il quarto capitolo presenta dettagliatamente il software FPC (Feedback Priority Controller): si tratta di un programma scritto appositamente per ExoMaDeR orientato al controllo automatico, a runtime, delle priorita’ dei task soft real-time che vengono eseguiti nel sistema in un’ottica di ottimizzazione dei tempi di risposta. FPC e’ un progetto di pura ricerca, non ancora giunto a termine, avviato per lo piu’ col fine di esplorare a fondo il comportamento di RTAI e Linux sul rover e fornire al programmatore uno strumento che faciliti la scrittura e la gestione dei task real-time per ExoMaDeR almeno nella prima fase di sviluppo, quella di transizione tra il vecchio e il nuovo sistema. Al termine del capitolo si riportano anche i risultati delle operazioni di test e validazione del sistema prodotte tramite alcune tecniche di ingegneria del software. Nel terzo capitolo, per motivi di chiarezza espositiva, non si scende eccessivamente nel dettaglio dei passi implementativi seguiti per produrre ExOS; tali dettagli sono rimandati all’Appendice con cui termina questo documento: in Appendice vengono riportati maggiori dettagli circa l’intera progettazione e implementazione del software.
La proprieta’ intellettuale del codice sorgente del progetto ExOS (eccetto il kernel Linux, l’interfaccia RTAI e i driver di terze parti), compresi i codici sorgenti del FPC, appartengono all’ESA (European Space Agency). Su tale software valgono le regolamentazioni internazionali per la Proprieta’ Intellettuale del Software.

Giuseppe Montano

 

Corso di Laurea: 
Laurea Magistrale in Ingegneria Informatica
Anno Accademico: 
2006
Tesista
Tesista: 
Giuseppe Montano
Relatore
Relatore: 
Prof. Aldo Franco Dragoni
Email: