Cinque motivi per cui il settore IoT deve abbracciare il ciclo di retroazione dei dispositivi

Quante volte vi capita di leggere messaggi come quello mostrato nell'immagine in apertura? Recentemente stavo per parcheggiare la mia auto in un garage, ma il nuovo sistema di pagamento era fuori servizio, molto probabilmente per un problema software. Per me è stata una scocciatura, ma forse il gestore del parcheggio ha avuto conseguenze ben più serie. La volta successiva, dovendo parcheggiare nella stessa zona, ho scelto un altro garage, per evitare di incorrere nuovamente nello stesso problema.

Lo stesso giorno sono andato in un negozio di alimentari dove i clienti possono leggere i prodotti con uno scanner, ma erano disponibili solo pochi apparecchi perché molti riportavano questo messaggio di errore.

Contrattempi tecnologici come questi sono ormai frequenti; solitamente non sono problemi gravi per i consumatori, ma certamente possono esserlo per le aziende che gestiscono i dispositivi difettosi. Fondamentalmente, non esistono software esenti da errori, pertanto la maggior parte dei dispositivi è soggetta a problemi. Si tratta solo di capire la frequenza di tali problemi e le conseguenze quando si verifica un guasto.

Per poter intervenire, è necessario conoscere hardware e software. Questo è il principio che sta dietro al concetto di "anello di retroazione", mutuato dai sistemi di controllo e applicato con successo allo sviluppo di software per desktop e cloud: avendo un riscontro continuo sul comportamento di un'applicazione o di un dispositivo, si può intervenire rapidamente per correggere eventuali difetti e pubblicare aggiornamenti. Questo approccio non ha ancora preso definitivamente piede fra gli sviluppatori embedded e IoT, pertanto ho deciso di scrivere questo articolo proprio per invitare tutti ad adottarlo. I vantaggi sono troppo rilevanti per essere ignorati.

La prima funzionalità che mi viene in mente è la segnalazione di errori. L’anello di retroazione di un dispositivo può avvisare l'operatore nel momento stesso in cui si verifica un errore software e fornire al team di sviluppo del prodotto le informazioni necessarie per risolvere il problema... tutto senza alcun intervento umano. I "crash" segnalati dai clienti possono essere molto difficili da risolvere, perché le informazioni fornire spesso non sono sufficientemente dettagliate per consentire agli sviluppatori di riprodurre il problema.

Rilevare le anomalie, ad esempio attività malevole, è un'altra funzione molto importante dell’anello di retroazione, in quanto contribuisce ad aumentare la sicurezza dei dispositivi IoT. Se si verificano guasti casuali, ad esempio, può significare che qualcuno stia cercando di sfruttare una vulnerabilità per introdurre un malware nel dispositivo, ma non riesce a portare a buon fine il suo attacco. In tal caso è cruciale essere informati sugli attacchi il più presto possibile.

Potrebbe essere utile monitorare metriche chiave come utilizzo di stack e heap, carico della CPU e autonomia residua della batteria. Supponiamo che uno degli obiettivi del progetto sia definire dimensioni dello stack tali da avere un margine di sicurezza del 5%: è importante sapere appena possibile quando l'utilizzo effettivo ecceda tale limite.

I test automatici del firmware in fase di sviluppo traggono grande beneficio da un anello di retroazione che raccoglie automaticamente e sistematicamente risultati di test dettagliati e li memorizza centralmente in modo che siano accessibili a tutti gli sviluppatori.

Oppure si potrebbero verificare gli intervalli di usura fisica e manutenzione di un sistema di controllo. I componenti hardware solitamente hanno una durata nominale, espressa come numero di operazioni, e la manutenzione programmata tiene conto di questo parametro. Ma supponiamo che un componente si attivi/disattivi più spesso del previsto. Un anello di retroazione consente di vedere quando ciò accada, consentendo di aumentare la frequenza degli interventi di manutenzione; senza feedback, il componente si guasterebbe prima del previsto e ciò potrebbe comportare il blocco di un'intera linea di produzione.

Riepilogando: l’anello di retroazione di un dispositivo consente di ottimizzare le attività IoT salvaguardando il funzionamento, la sicurezza e l'affidabilità del dispositivo, riducendo il rischio e migliorando i tempi di intervento per correggere difetti del software rilevati sul campo.

È difficile eliminare completamente gli errori. Quello che importa è sapere come intervenire e correggerli.

Informazioni sull'autore

Johan Kraft è ceo e fondatore di Percepio AB

Johan Kraft è ceo e fondatore di Percepio AB. È lo sviluppatore di Percepio Tracealyzer, uno strumento di diagnostica visuale che si integra con Percepio DevAlert, un servizio in cloud per il monitoraggio di dispositivi IoT, per creare un ciclo di retroazione in stile DevOps dai dispositivi in campo agli sviluppatori software, al fine di garantire un ciclo rapido di miglioramento continuo del prodotto.

Prima di fondare Percepio nel 2009, Kraft ha lavorato nello sviluppo di software embedded in ABB Robotics. Kraft è laureato in informatica.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome