Ricerca > Tecnologia > Software e sistemi di controllo

23/09/2020

L’Istituto di Radioastronomia è impegnato da anni nella progettazione e nello sviluppo, che coinvolgono tutta la radioastronomia italiana, di software per l’operatività dei radiotelescopi INAF. Dal sistema di controllo fino a strumenti che assistono gli utenti nell’analisi dati, il software è prodotto con l’obiettivo di essere comune per le tre antenne, ottimizzando così le risorse e garantendo affidabilità, maturità e durabilità nel tempo.

 

Staff: F. Bedosti, S. Buttaccio, G. Maccaferri, A. Orlati, S. Righini, F. Tinarelli, A. Zanichelli

Il software realizzato per i radiotelescopi italiani si articola su più livelli. Si estende dai sistemi di controllo che regolano i dispositivi di cui sono equipaggiati i telescopi (servo sistemi, sensori, ricevitori, back-end, meccanismi di sicurezza) e ne definiscono la logica di controllo e di configurazione, fino ai tool di più alto livello che consentono operazioni di diversi gradi di complessità come la programmazione delle osservazioni, l’acquisizione, il quick-look e l’analisi dei dati, oppure la conversione del formato dati e il supporto all’archiviazione degli stessi. Sono implementate e periodicamente migliorate tutte le modalità osservative più comuni, come l’on-the-fly e il raster scan, il beam switching e il frequency switching, sia per osservazioni in continuo che in spettroscopia. La strategia adottata nello sviluppo ha consentito di creare un’infrastruttura comune, ottimizzando le risorse impiegate sia per la manutenzione e l’operatività, sia per lo sviluppo di nuove funzionalità. Questo tipo di ottimizzazione si riscontra anche a livello di utente, dove la disponibilità di Graphical User Interface, strumenti, procedure e formati dati comuni facilita la formazione, la scrittura della documentazione, la progettazione delle osservazioni, il riutilizzo dei software di analisi. L’architettura e l’implementazione di ogni componente del software e ogni tool distribuito alla comunità scientifica seguono metodologie allo stato dell’arte dell’ingegneria del software. Lo sviluppo di nuovo codice e il debugging avvengono in maniera incrementale seguendo un metodo TDD (Test Driven Development), per cui ogni modifica è accompagnata da una serie di test unitari o di regressione. Inoltre la qualità del software installato sulle workstation di stazione è garantita dall’utilizzo di tecnologie di deployment automatico, che fanno sì che gli ambienti di sviluppo e di produzione siano pressoché identici. Si stanno studiando metodologie di Continuous Integration le quali, attraverso l’utilizzo del TDD e di ambienti simulati, consentiranno di ottenere una qualità sempre migliore del software. Lo sviluppo impiega unicamente tecnologia LGPL, che fornisce ampie garanzie di affidabilità, maturità e durabilità nel tempo. Inoltre, i sorgenti e i codici prodotti sono disponibili su un repository pubblico INAF, sotto una licenza “Attribution-NonCommercial-NoDerivatives”.

Piu’ info: INAF / DISCOS · GitHub , Il progetto DISCOS – documentazione

 

Crediti
Immagini: INAF-IRA