Menu

Rimanere al passo grazie a una procedura di sviluppo standardizzata

Mentre le prime standardizzazioni si concentravano sull'astrazione hardware, la tecnologia moderna si basa sul software.

I processi di sviluppo di software iterativi permettono di offrire ai clienti prodotti migliori in tempi più rapidi.

Per rimanere competitivo, chi si occupa di test deve passare a metodi standardizzati di sviluppo di software iterativi.

image descriptionLa standardizzazione è stata per decenni un obiettivo ambizioso nelle organizzazioni di test. Nel 1961, D.B. Dobson e L.L. Wolff della Radio Corporation of America (RCA) hanno pubblicato un documento dal titolo Standardization of Electronic Test Equipment, che presenta i principi, i criteri e le tecniche utilizzati nell'indagine e nella prototipazione delle apparecchiature di collaudo di un sistema missilistico multifunzione.

L'obiettivo della maggior parte dei primi tentativi di standardizzazione era la riduzione del numero complessivo di apparecchiature di test utilizzate nella medesima organizzazione. L'obiettivo chiave raggiunto da RCA è stato la progettazione e l'implementazione di un set hardware modulare. L'hardware modulare consente un maggiore riutilizzo delle apparecchiature, soluzioni di collaudo più integrate, meno componenti obsoleti e un processo più semplice per la sostituzione della tecnologia. Con un ampio mix di prodotti e risorse che possono rimanere in servizio fino a 50 anni, i gruppi di collaudo nel settore aerospazio e difesa beneficiano maggiormente dei sistemi di test più facilmente manutenibili e riutilizzabili.

I nuovi requisiti di sicurezza e le sempre più rapide modifiche stanno costringendo ad andare ben oltre la semplice standardizzazione dell'hardware, per concentrarsi sui livelli software e sulle pratiche utilizzate per svilupparli. I team di test engineering devono adottare modelli standard di sviluppo di software iterativi per mantenere il passo con lo sviluppo del prodotto e rispettare i tempi di consegna in un settore in rapida modernizzazione.

Il software come fondamento della standardizzazione

image description Il documento pubblicato da RCA descrive il processo di identificazione di input e output condivisi tra più componenti funzionali e programmi missilistici per definirne il sistema hardware modulare. Tale processo di identificazione e separazione degli elementi comuni che possono essere affrontati assieme è alla base dell'astrazione. Maggiori sforzi di standardizzazione della strumentazione e il passaggio a tecnologie commerciali già disponibili sul mercato hanno portato a standard hardware modulari come VXI, PXI, PXIe e AXIe, utilizzati per il test in diversi settori industriali. Le piattaforme hardware modulari standard riducono gli elementi ridondanti come alimentatori, dispositivi di raffreddamento e interfacce utente a punti singoli del sistema.

Nel report Design and Acquisition of Software for Defense Systems, il Defense Science Board (DSB) afferma che "molte delle funzionalità offerte dai nostri sistemi d'arma sono derivate dal software del sistema, non dall'hardware. Questo passaggio da funzionalità hardware-enabled a funzionalità software-enabled sta conoscendo un rapido aumento". La strumentazione moderna include sempre più processori e componenti software-defined, come gli FPGA. Per ottenere il massimo da queste moderne soluzioni di test, la definizione di sistemi di misurazione nel software non è solo utile ma necessaria. I migliori team di test software engineering stanno realizzando software di collaudo astratti che offrono ancora più vantaggi di quelli forniti dall'hardware astratto.

Una piattaforma software astratta è composta da livelli che eseguono funzioni specifiche. Ciò consente ai team di riparare e aggiornare singolarmente ciascun modulo isolando altri livelli, pur mantenendo gli stessi input e output. "Con decine di linee già esistenti, la standardizzazione del software deve tenere conto della storia di ogni gruppo", ha dichiarato Mark Keith, chief engineer presso Honeywell Aerospace. "Lo scopo [dell'astrazione] è quello di minimizzare o eliminare la necessità di modifiche al software quando si sostituisce hardware obsoleto".

"Al ritmo con cui si evolve la tecnologia odierna, 30 anni possono sembrare un'eternità. Talvolta gli approcci best-in-class di oggi non sono compatibili con gli approcci best-in-class del passato".

Mark Keith, Chief Engineer, Honeywell Aerospace

Il moderno sviluppo di software per il test

Per mantenere il ritmo a cui prodotti e funzionalità vengono rilasciati nel mercato odierno, non è più sufficiente creare correttamente un'architettura software di test. L'organizzazione del software di test deve implementare pratiche in grado di garantire una consegna più rapida e flessibile alla produzione e al cliente. Per poter fornire tutte le funzionalità richieste, i moderni team di software engineering si stanno muovendo verso pratiche di sviluppo di software iterativi continui, come Agile.

Come affermato nel rapporto DSB, "il vantaggio principale dello sviluppo iterativo è la capacità di rilevare gli errori in modo rapido e continuo, integrare facilmente i nuovi codici e ottenere il feedback degli utenti in ogni fase dello sviluppo dell'applicazione". Lo sviluppo di software iterativi è ormai una pratica standard del settore e "aiuterà [il Dipartimento della Difesa] a operare nell'ambiente di sicurezza odierno, dove le minacce si evolvono più rapidamente di quanto lo sviluppo a cascata possa gestire".

Standardizzazione dello sviluppo di software iterativi

Lo sviluppo di software iterativi richiede un team ben organizzato che lavori in modo cooperativo e, proprio come l'astrazione di piattaforme hardware e architetture software, include concetti e attività condivise e ripetute.

I team che collaborano su basi di codice devono concordare e standardizzare gli strumenti per il controllo del codice sorgente, i quadri di collaudo unitari, l'analisi del codice, la gestione del lavoro e la distribuzione. Una preoccupazione aggiuntiva è rappresentata dalla sicurezza informatica. Secondo DSB "controllare quotidianamente il codice di un sistema software consente di mantenere gestibile il numero di modifiche richieste per soddisfare un'ampia base di regole informatiche".

Nel report Contracting Strategy for F-22 Modernization, l'Inspector General del Dipartimento della Difesa degli Stati Uniti afferma: "Secondo un funzionario dell'Ufficio Programmi, il Dipartimento della Difesa rischia di perdere il proprio vantaggio tecnologico sugli avversari degli Stati Uniti e deve trovare modi innovativi per offrire più rapidamente nuove risorse alle forze armate".

Il settore aerospaziale e quello della difesa non sono gli unici settori in cui i team di test hanno difficoltà nell’immettere sul mercato tecnologie migliori più rapidamente. Lo sviluppo iterativo è un metodo collaudato per accelerare lo sviluppo tecnologico. Mentre i team di test engineering si concentrano sulla standardizzazione dell'hardware e sulle architetture software multilivello, le organizzazioni di ricerca e sviluppo si dedicano da tempo ai prodotti iterativi. Benché tutti gli aspetti della standardizzazione siano importanti per chi si occupa di test, la standardizzazione deve essere perfezionata per mantenere il passo con le pratiche ingegneristiche attualmente in fase di sviluppo. Le organizzazioni di collaudo che adottano pratiche di sviluppo software Agile sono pronte a sfruttare questa nuova opportunità.

COME AUMENTA IL VALORE DELLA STANDARDIZZAZIONE

image description

Approfondimenti

image description

Nicholas Butler,

Head of Aerospace and Defense Marketing, NI

NI Trend Watch 2019: Scopri i nuovi trend tecnologici per pianificare in modo efficace il tuo futuro

NI Trend Watch - Download