La componente di base di un sistema digitale è il Sistema Operativo. Il Sistema Operativo gestisce le risorse a disposizione, quali potenza di calcolo e memoria, per consentire il corretto comportamento del sistema, svolgendo molteplici processi apparentemente in parallelo. Alcuni settori applicativi, come l’automotive e l’industriale, impongono dei requisiti specifici ai sistemi digitali che ne realizzano le funzionalità. Richiedono ad esempio basse latenze e predicibilità dei tempi di risposta. Una decisione di controllo automatico presa in ritardo o implementata in una tempistica non corretta può condurre a conseguenze drastiche. In questi contesti, la correttezza del risultato prodotto dalla componente digitale è quindi determinata sia dal valore del risultato stesso, sia dalla tempistica in cui questo risultato viene prodotto. I sistemi operativi tradizionali possono non rappresentare la scelta ottimale in questi casi. Per gestire queste problematiche nascono i Sistemi Operativi Real-Time (RTOS). Questi sistemi operativi sono progettati per far in modo che i risultati delle elaborazioni siano prodotti in tempi predicibili, e compatibili con le richieste dalla specifica applicazione. Gli RTOS sono tipicamente impiegati in applicazioni di tipo embedded dove, solitamente, scarseggiano risorse computazionali e memoria.
Real time operating system e IoT
Un numero crescente di aziende sta collegando i propri prodotti a Internet. Lo sviluppo di tecnologie IoT consente oggi sia di capire meglio i bisogni dei propri clienti, sia di offrire servizi sempre migliori. L’IoT sta profondamente trasformando interi settori di mercato, ciascuno con le proprie sfide.
Nell’IoT del settore automobilistico si parla molto di comunicazione V2X e di guida autonoma. Le sfide sono decidere come o con chi comunicare, come farlo in sicurezza, come integrare algoritmi di intelligenza artificiale, come gestire la crescente complessità nella raccolta e analisi dei dati e nel controllo automatico. Nel settore manifatturiero, l’IoT abilita la manutenzione predittiva e la produzione personalizzata. In questo caso, le sfide sono la creazione di copie digitali di sistemi complessi (digital twin) per abilitare analisi complesse e sperimentazioni. IoT sta rivoluzionando l’industria logistica, integrando robot e forza lavoro per l’esecuzione di task quali lo stoccaggio, lo spostamento e la localizzazione di materie prime. Come nel settore automobilistico, questo comporta sfide legate alla comunicazione (V2V), ai sensori e agli attuatori smart e alla guida autonoma.
Nel settore dell’assistenza sanitaria, l’IoT sta incentivando l’impiego di dispositivi controllati da remoto e il pronto tracciamento e la pronta reazione a potenziali rischi per i pazienti. Una delle sfide principali in questo campo è l’affidabilità dei dispositivi medici embedded, che generano e comunicano dati a distanza grazie a dispositivi complementari.
I requisiti del settore IoT per gli RTOS
La transizione verso il paradigma IoT implica per le tecnologie digitali impiegate il dover rispettare requisiti ancora più sfidanti. Ciò è particolarmente vero per gli embedded RTOS, che sono centrali al funzionamento di un dispositivo IoT. Tradizionalmente, i requisiti principali degli RTOS erano affidabilità, prestazione, compattezza, prevedibilità e scalabilità. L’evoluzione verso l’IoT pone almeno tre ulteriori requisiti: interazione complessa con il mondo fisico, necessità di connettività per scambio dati e capacità decisionale, ad esempio sfruttando l’intelligenza artificiale. L’interazione con il mondo fisico indirizza la necessità di raccogliere dati per descrivere e controllare il mondo circostante in maniera più accurata tramite sensori e attuatori smart. La connettività consente ai dispositivi in campo, ai nodi edge e alle piattaforme IoT in cloud oppure on premise di condividere dati tra di loro. La capacità decisionale identifica il bisogno di capire il contesto circostante, estrarre valore dai dati raccolti e prendere decisioni azionabili, anche in caso in cui il prodotto non sia nelle condizioni di poter dialogare con un sistema remoto, ad esempio per scarsità o mancanza di connettività.
Questi requisiti introducono ulteriori sfide da indirizzare. Una di queste è garantire la sicurezza su un perimetro di attacco informatico che risulta esteso. Un possibile approccio è fornire una soluzione end-to-end dai nodi fisici alla piattaforma. Un’altra sfida è fornire le risorse necessarie in termini di potenza computazionale e di efficienza per rendere i dispositivi IoT intelligenti. Un possibile approccio è prevedere delle risorse di calcolo dedicate all’esecuzione di modelli di AI, ad esempio mediante la realizzazione di acceleratori hardware il cui compito è di sostenere i calcoli complessi richiesti dai modelli di intelligenza artificiale. Un’ulteriore sfida è permettere a tutti i dispositivi IoT di comunicare tra di loro astraendo le specificità di differenti protocolli e tecnologie. Un possibile approccio è prevedere delle astrazioni software che mascherano le complessità specifiche della singola tecnologia.
I tre approcci del mercato
I RTOS si stanno evolvendo per soddisfare la nuova serie di sfide e requisiti. È possibile identificare tre approcci: attori già presenti nel mercato embedded, che estendono la loro offerta tecnologica; attori del mercato consumer, interessati a entrare in un mercato in forte espansione; nuovi attori che propongono soluzioni specifiche per il mondo IoT.
Attori provenienti dal mercato embedded hanno aggiunto ai propri RTOS nuove componenti software quali il supporto a protocolli M2M e tecnologie di connettività specifiche per il mondo IoT. Operatori provenienti dal mercato consumer, come Amazon, Google, Windows, Ubuntu e Samsung, hanno esteso soluzioni progettate in ambito embedded per integrare i loro servizi cloud o hanno costruito nuovi RTOS. Alcuni esempi sono AWS FreeRTOS, Windows 10 IoT Core, Ubuntu Core 16 e TizenRT. Nuovi operatori specifici per il mondo IoT si sono affacciati al mercato. Zephyr Project, ad esempio, ha come scopo fornire a designer di prodotto un nuovo e flessibile RTOS che sia indipendente dall’hardware.
Potenziali evoluzioni degli RTOS
La natura distribuita delle applicazioni IoT richiederà l’introduzione di nuovi metodi e strumenti per la valorizzazione dei dati raccolti tramite i sensori in campo. Scenari quali la gestione e il controllo delle flotte (fleet management) e la valorizzazione del dato come asset reso disponibile anche ad attori esterni, richiederanno l’introduzione sia di nuovi modelli di business sia nuovi framework legali. Questo a sua volta farà leva sulla capacità dei dispositivi distribuiti e connessi di rispondere in tempo reale alle richieste di dati aggiornati.
Allo stesso modo, data l’importanza che il mercato attribuisce all’AI, nuovi prodotti dovranno evolversi per soddisfare il bisogno crescente di eseguire computazioni in campo e rispondere in modo reattivo, o addirittura proattivo.
Questi sono solo alcuni casi d’uso per cui la tempistica con cui il dato viene prodotto sarà fondamentale. Un ulteriore aspetto molto attuale riguarderà la capacità dei prodotti IoT di reagire in tempo reale a violazioni della sicurezza o attacchi informatici. Anche in questo caso, la possibilità di agire in tempo reale può risultare determinante nell’arginare una potenziale falla di sistema ed evitare compromissioni su scala più ampia.