In Snap4City vi e' un insieme di strumenti per lo sviluppo di algoritmi di data analytic, e le loro fasi di apprendimento. Per esempio, per realizzare predizioni (per parcheggi, flussi di veicoli e persone, condizioni critiche), l’identificazione di anomalie, la ricostruzione del traffico, la stima di matrici di origine destinazione (O/D), la stima di flussi primari pedonali e mezzi in navigazione, il calcolo di precursori e predittori, il calcolo di KPI, il calsolo di heatmap, etc. I processi di traformazione e data analytic sui dati possono essere data/event driven, o periodici. I processi data/event driven possono essere guidati da eventi sporadici, dai dati, da eventi IOT, dagli operatori o da eventi di allarme, etc. In questo modo si sfruttano al meglio i modelli predittivi tramite machine learning dei suddetti algoritmi complessi. Tutti risultati di Data Analytic vengono resi disponibili per le Dashboard tramite API e storicizzati anche in Big Data Store e knowledge base.
Con Snap4City, si possono realizzare processi di trasformazione dati real time e per la gestione dei flussi di operazioni che possono includere anche aspetti di data analytic. In Snap4City si ha una gestione evoluta delle componenti IOT: IOT evoluto con IOT Application su Snap4City Km4City, sono direttamente connesse alle Dashboard di Km4City e svolgono per queste operazioni di elaborazione dati in tempo reale, event/data driven. Per esempio per processi complessi in stream ed anche per l’identificazione il riconoscimento di condizioni di allarme. Anche i servizi GIS API sono rese accessibili da IOT Application come MicroService e saranno pubblicate nella suite Snap4City su JS Foundation, come lo e’ oggi la soluzione Snap4City. Le applicazioni IOT Snap4City possono essere inserite in IOT Edge in PC Windows e Linux, Raspberry pi, Android, etc.
- i MicroServizi di base di NodeRED/NodeJS per la creazione di applicazioni IOT
- i servizi avanzati per applicazioni IOT in ambito Smart City di Snap4City accessibili da JS Foundation
- l’editor Node-RED per la costruzione delle applicazioni IOT, con le estensioni Snap4City, rilasciato in Open Source da DISIT Lab
- Simulation Engine, What-IF analysis: questo componente permette di effettuare delle simulazioni di scenari permettendo di agire sulla mappa aggiungendo Barriere ed elementi che possono cambiare le situazioni (per esempio l’interruzione di una strada, il cambio di livello dell’acqua, il blocco di una certa area). Queste condizioni possono essere utilizzate per calcolare:
- Algoritmi di routing per il raggiungimenti di un punto B da un punto A, per esempio per i mezzi di soccorso anche tenendo conto di vincoli di percorrenza, dimensioni, ma anche di barriere dinamiche per puinti o shape, etc.
- Simulazione/ricostruzione del traffico: per computare come di potrebbe evolvere il traffico a fronte di certi impedimenti sul grafo stradale / acqueo / pedonale. Tenendo conto della domanda di traffico dell’area, dei flussi di persone, del traffico storico, etc. (e facendo room il livello di risoluzione da noi raggiunto)
- Etc.
- KPI Computing: questo componente viene utilizzato per calcolare dei valori di Key performance indicator a partire da altri dati accessibili. Per esempio, partendo dai dati del flusso del traffico calcolare gli scostamenti media, dai ritardi e anticipi sulle paline la qualità del servizio, etc. Questi processi di calcolo possono essere implementati e cambiati in tempo real tramite l’editing di IOT Application modificando il flusso di computazione con l’editor grafico dei flussi Node-RED. I calcoli vengono effettuati direttamente in modalità data driven oppure in modo schedulato periodico. Le KPI stimate diventano accessibili per le Dashboard e possono essere storicizzate. Questi dati possono essere sensibili e vengono trattati come dati privati che pero possono essere acceduti in delega in accordo al GDPR.
- dati real time possono essere inviati tramite connessioni WebSocket direttamente da Broker alle Dashboard che accettano protocolli diversi, riducendo in questo modo i tempi di visualizzazione anche di eventi Real Time. Come per esempio il tracking dei traghetti, delle squadre di soccorso, dei mezzi per la raccolta della nettezza, i punti dove sono avvenuti gli ulti incidenti, etc.
- Smart City API (Km4City e quelle estese di Snap4City) possono essere interrogate da web e mobile app, come da IOT Application tramite MicroServizi, e accederanno direttamente allo Storage e allo SpatioTemporal Big Data Store. Vi sono svariate applicazioni per queste API che sono usate e monitorate nella loro applicazioni di Firenze anche da E015 di Regione Lombardia. Questa istanza di Km4City su Firenze è stata utilizzata nell’Hackathon del team di Piacentini verso il DAF nazionale, etc. Tali Smart City API sono documentate con standard internazionali come Swagger, testate con Postman in modo automatico e pubblico.
Questo modulo viene allocato nella Vostra infrastruttura cloud e presenta processi che possono essere gestiti tramite lo scheduler distribuito DISCES per eseguire analisi dei dati e servizi di calcolo per fornire servizi intelligenti avanzati, on demand, periodici e in tempo reale, con gestione delle risorse come processi ETL in Penthao Kettle (per esempio), Data Analytic (in R studio e/o Java). I processi relativi ad IOT Application sono eseguiti in container e possono essere allocati sulle macchine virtuali come direttamente su ESX avendo l’estenzione VMware adatta.
Nello strumento di Big Data Analytics di snap4city sono compresi anche i tool di sviluppo per la creazione di servizi / processi, per esempio per lo sviluppo di analisi statistiche, predizioni, detection di anomalie, etc. Questi algoritmi saranno da noi sviluppati nel contesto del progetto in modo da avere subito una base concreta dei processi di gestione a supporto delle decisioni: predizioni parcheggi, predizioni ingombri, ricostruzione del traffico, etc. Lo sviluppo di queste soluzioni di
- Data Analytic puo’ essere svolto in R studio (anche utilizzando Tensor Flow, se predisponete di Host con schede GPU, altrimenti direttamente in R), Java, Python, etc., per lo sviluppo di algoritmi predittivi, di anomaly detection con tecniche statistiche e di machine learning come processi periodici o sporadici gestiti da DISCES oppure da IOT. La soluzione fornita vi permette di fornire si vostri sviluppatori o a terze parti l’accesso come sviluppatore di algoritmi e poter trasformare direttamente gli algoritmi in MicroServizi accessibili per applicazioni IOT, Node-RED nel back office. I processi di data analytics in R Studio o altri linguaggi possono essere messi in esecuzione come container e si presentano come MicroServizi all'interno di applicazioni IOT.
- Pentaho per lo sviluppo di ETL,
- Node-RED per lo sviluppo di IOT Application che sfruttano i MicroServizi messi a diposizione dalle Smart City API incluse le API per accedere ad Storage e Big Data Spatio Temporal Storage),