Software o Borg: una grande minaccia per un'astronave?

Software o Borg: una grande minaccia per un'astronave?

La tua nave compie una collisione inaspettata - quanto è affidabile il software per affrontarlo?

L'articolo è stato preparato sui materiali dello specialista Icarus Interstellar Donna A. Dulo, un importante matematico, scienziato del software, ingegnere di sistema del Dipartimento della Difesa degli Stati Uniti. Maggiori informazioni su Icarus Interstellar nell'articolo Discovery News.

Quando la tua astronave galoppa la galassia alla velocità della luce, trovi un picco appena visibile nei sensori di bordo. Più ti avvicini alla fonte, più forti sono i suoi flussi, ognuno di loro in una densa formazione viene inviato nella tua direzione. Nell'ansia, tu e la tua squadra prendete posto sulla nave e realizzate il peggio: dovete affrontare una grande armata di cubi Borg e le loro sfere.

Fortunatamente, sei stato in grado di condurre la nave lontano da una grave collisione, manovrando attraverso una piccola scappatoia appena percettibile scoperta durante la preparazione preliminare del piano di navigazione, e la nave lascia illeso. Dovevi deviare un po 'dal corso, ma la nave è al sicuro e il tuo equipaggio è al sicuro.

Non appena inizi a calcolare di nuovo il percorso, scopri un altro segnale. Il modulo del sistema di supporto vitale della nave non è riuscito a causa di un errore del software che si è verificato durante una manovra di evitamento della collisione. Il software ha danneggiato i sistemi di supporto vitale della squadra, e capisci che la nave non è più in grado di respirare aria nelle prossime 24 ore. Il sistema di backup era impotente e il componente hardware di backup stesso utilizza le stesse procedure software. I dispositivi di soccorso consentono di respirare aria per 48 ore e le unità mobili a bordo sono dotate di kit aria progettati per 8 ore di respirazione.

Invia i tuoi migliori scienziati informatici e ingegneri del software alla sala macchine per diagnosticare un problema. Ti informano che almeno ci vorranno quattro giorni per risolvere il problema al fine di isolare ed eliminare gli errori in diverse centinaia di milioni di righe di codici che controllano i sistemi di supporto vitale della nave.

La tua situazione è particolarmente difficile ora. Richiedi un report da sistemi non critici e invia urgentemente un team di programmatori. Ora aspetterete, sapendo che la vita di tutti i membri dell'equipaggio presenti è ora nelle mani del team di sviluppo del software.

Lo scenario sopra descritto dimostra la natura vitale del software durante un lungo viaggio in nave. Sorge spontanea una domanda: qual è un grande nemico: una flottiglia di cattivi dello spazio o una debolezza nel sistema software dei sistemi navali?

Per chi ha familiarità con la natura molto complessa del sistema software, la risposta è ovvia; questo è il software che rappresenta il maggior pericolo.

Software o Borg: una grande minaccia per un'astronave?

Viaggiare negli spazi interstellari richiede una nave e un equipaggio autosufficienti, implicando decisioni rapide dei più gravi problemi di ingegneria. La complessità esponenziale e la fragilità intrinseca del software finale lo rendono uno degli anelli più deboli nella necessità di sopravvivenza a lungo termine a bordo di una nave interstellare. Immagina un veicolo spaziale pienamente operativo, con centinaia di milioni di linee di codice e decine o persino centinaia di migliaia di variabili e stati. La diagnosi di un singolo errore in una riga di codice è quasi impossibile in caso di emergenza, anche con le procedure di test automatizzate più avanzate. La tensione della situazione in combinazione con le difficoltà intrinseche della logica matematica e una quantità enorme di codice creerà tensione nel lavoro anche dei migliori team di ingegneri che stanno attualmente conducendo lavori.

Come nella situazione con i Borg, dove pensavi a tutto in anticipo, fatti piani di emergenza e percorsi di evacuazione pianificati, allora è possibile pianificare la sicurezza per il software a lungo termine di un veicolo spaziale. Tuttavia, questa pianificazione deve avvenire durante lo sviluppo della nave, così come durante le sue operazioni interstellari. La chiave del nuovo paradigma di ingegneria si chiama "sostenibilità" e potrebbe essere facilmente applicabile allo sviluppo e allo sviluppo del software.

Nella missione spaziale a lungo termine, i possibili limiti del software saranno messi alla prova, tuttavia, la possibilità di fallimento non andrà bene a nessuno.

Il software, così come i membri dell'equipaggio che lo utilizzano, devono essere stabili per far fronte a tutte le situazioni critiche nel mantenimento della sicurezza. Il concetto di sostenibilità come disciplina in ingegneria è emerso a metà degli anni 2000 come un modo per ridurre l'insuccesso nei sistemi complessi, alla luce di solidi sforzi ingegneristici. La sostenibilità dell'ingegneria, come concetto di software, viene catturata dal modo in cui le persone affrontano la complessità di un sistema software per riuscire in breve tempo anche nelle situazioni più difficili. La resilienza ingegneristica si concentra sulla capacità del sistema di adattarsi a una situazione e condizioni in costante cambiamento, in modo da mantenere uno stato positivo di controllo sul sistema per evitare guasti. In combinazione con la capacità del sistema di adattarsi, le capacità del fattore umano nel sistema sono necessarie per una maggiore adattabilità alle condizioni mutevoli. La combinazione di sistemi uomo-macchina introduce un nuovo approccio alla sicurezza, fornendo alle persone gli elementi per acquisire conoscenze e anticipare i processi nel sistema, consentendo loro di diventare una parte proattiva delle operazioni di sicurezza del sistema stesso.

Ci sono due aspetti dell'ingegneria della resilienza del software: la resilienza del software attraverso il processo sonoro di sviluppo orientato alla sicurezza e l'attuale funzionamento in tempo reale del software con una risposta umana positiva nelle operazioni cicliche. Il programma complessivo funziona in base al concetto che la sicurezza è un valore fondamentale insieme all'aspettativa costante di un potenziale errore del software.

Quindi, una persona, orientando l'attenzione alla sicurezza, aiuta a cambiare l'equazione del rischio nel sistema di supporto delle misure, per spezzare la catena del fallimento del software della cascata causale, allo stesso tempo, riducendo la fragilità del sistema. Il risultato è una performance del software più sicura, più praticabile e prevedibile, in collaborazione con gli utenti, che partecipa alla piena estensione dei processi e dell'evoluzione del software.

La stabilità dei metodi di ingegneria continua a manifestarsi e si concentra sulla ridondanza del software di logica, sui metodi di intervento adattativo, sull'analisi intellettuale e su molte altre tecniche di ingegneria del suono. Tra le strutture di ingegneria, c'è un suono giustificato da una risorsa umana, e i protocolli di gestione operativa sono progettati per concentrarsi sulle capacità dell'equipaggio di adattarsi alle mutevoli condizioni e mitigare anche le emergenze software più complesse. Attraverso le grinfie di metodi di sviluppo del software resilienti e la fattibilità della leadership tecnica organizzativa e un team focalizzato sulla gestione del software di emergenza, il sistema complesso ha la capacità di sopravvivere a un fallimento catastrofico, che aiuta a prevenire un guasto totale dell'equipaggio.

Nel nostro esempio, il sistema di supporto della vita di backup non è riuscito, perché era la stessa programmazione del sistema principale e, quindi, nella stessa situazione, anche il backup era fallito. Un sistema più robusto utilizzerà un altro programma dal pacchetto software e un insieme di algoritmi di backup per fare lo stesso lavoro, rendendo il sistema più stabile.

Un sistema fault-tolerant, come il software, è più modulare e matematicamente dimostrabile, fornendo così modi sempre più praticabili di adattamento, refactoring e riparazione. La complessità ridotta e il software e le strutture algoritmici più standardizzati forniranno ulteriori garanzie per migliorare la stabilità.

Allora l'uomo, come elemento di un sistema sostenibile, entra nel gioco. Dopo un guasto al sistema di supporto vitale, l'equipaggio è in servizio, spostando immediatamente il sistema su componenti di backup, in cui scorre un diverso insieme di procedure software, compreso un insieme completamente diverso di logica matematica.

Tutti i membri dell'equipaggio sono addestrati sulle sfumature dell'hardware e del software della nave, nonché sulle responsabilità di comprendere tutti i tipi di errori computazionali e su come affrontarli. Molto tempo dopo, il sistema software del team di ingegneri procede a riparare il malfunzionamento nella catena logica del set primario di procedure software, poiché il sistema di backup funziona in modo impeccabile.

Software o Borg: una grande minaccia per un'astronave?

L'attività di riparazione è più semplice, poiché il software è più modulare, facilmente scomposto in ordine gerarchico e accuratamente documentato nel design, nell'architettura e anche nelle sue strutture matematicamente provate. Il team è completato da una serie di ingegneri del software di secondo livello che hanno lo sviluppo necessario e svolgono le funzioni secondarie dell'equipaggio e del team di software primario altamente qualificato.

La sceneggiatura era ben preparata in anticipo, durante l'allenamento, e il giocatore di ogni squadra ha familiarità con la sua funzione: codificatore, verificatore, matematico, tester e implementatore. In un'attività di gestione ingegneristica organizzata sistematicamente, un nuovo set di logica viene sviluppato e codificato per il sistema principale. Entro due giorni viene controllato e alla fine va a lavorare. Dopo l'implementazione dell'esperimento con la piena partecipazione dell'equipaggio, la nave ritornò all'originale ordine di battaglia.

Applicando la perseveranza nello sviluppo del software e nel funzionamento in tempo reale del veicolo spaziale, l'equipaggio può aumentare la capacità di sopravvivenza della nave, anche in un momento in cui sorgono seri problemi software. Grazie allo sviluppo e all'applicazione di teorie e metodologie all'avanguardia per lo sviluppo di software per la sostenibilità, la nave avrà gli strumenti e l'equipaggio addestrato per eseguire in modo sicuro operazioni software approfondite.

I metodi di sostenibilità possono anche essere applicati ad altre forme di tecnologia, così come operazioni sulle navi, creando una cultura olistica della sicurezza che migliorerà la sopravvivenza globale della nave.

Pertanto, la sostenibilità renderà la nave di lunga durata, destinata a passare attraverso una galassia con infinite possibilità per le generazioni presenti e future. Anche quando non c'è possibilità prima dei Borg. La missione di Icarus Interstellar è quella di promuovere lo sviluppo della ricerca di veicoli spaziali, sia per veicoli con equipaggio umano sia per quelli senza equipaggio. Il software prenderà una parte enorme di questi sistemi futuri, e la stabilità dello studio aiuterà a raggiungere gli obiettivi finali, prima di tutto, arrivare alle stelle e poi spostarsi tra loro, come nella civiltà interstellare.

Commenti (0)
Ricerca