4 Criteri di classificazione e l’albero di classificazione
I due problemi principali nella creazione di una nuova tassonomia sono: i criteri di classificazione e l’albero di classificazione. Qui, i criteri di classificazione sono stati scelti per riflettere l’essenza del punto di vista di base della ricerca. L’albero di classificazione è stato ottenuto dall’applicazione successiva dei criteri scelti. Le foglie dell’albero di classificazione sono gli esempi (sforzi di ricerca), che sono elaborati brevemente in seguito, nella sezione Presentazione delle soluzioni esistenti di questo documento.
In questo studio, abbiamo anche incluso architetture che non trattano la semantica dei dati, ma le cui architetture hanno influenzato la ricerca in una certa direzione. Oltre a questo, abbiamo mostrato come l’arricchimento semantico dei dati migliora l’efficienza dell’approccio utilizzato.
Siccome il ruolo della piattaforma di integrazione delle reti di sensori è quello di agire come un’interfaccia tra le reti di sensori e l’applicazione degli utenti, i ricercatori sono in grado di affrontare il problema sia a livello delle reti di sensori, cioè, bottom-up, o a livello delle applicazioni, cioè, approccio top-down. Pertanto, come principale criterio di classificazione delle architetture esaminate, classifichiamo le architetture secondo l’approccio selezionato, che può includere: approccio orientato alle reti di sensori e approccio orientato alle applicazioni. Nel primo approccio, i ricercatori cercano di risolvere l’eterogeneità delle reti di sensori, le caratteristiche tecniche delle reti di sensori, i vincoli, i protocolli e le osservazioni e misurazioni prodotte, proponendo un modo ottimale per gestire, rappresentare, memorizzare e aggregare le fonti di dati dei sensori disponibili ai livelli superiori del sistema, e quindi alle applicazioni. Nel secondo approccio, i ricercatori tendono ad abilitare un’interfaccia il più possibile conforme e un meccanismo di interazione per gli utenti e le applicazioni, che permetta loro di ottenere le informazioni a cui sono interessati dalle reti di sensori integrate, liberandoli dalle complessità e dalle specificità di queste reti di sensori.
Nella prima classe, possiamo identificare tre sottogruppi: architetture centrate su database, approcci basati sulla traduzione di query e approcci basati sulla virtualizzazione dei sensori. Tutti questi sottogruppi possono essere ulteriormente divisi in approcci con e senza occupazione della semantica dei dati.
Le soluzioni centrate sul database sono caratterizzate da un database come hub centrale di tutti i dati raccolti dai sensori, e di conseguenza tutte le ricerche e le manipolazioni dei dati dei sensori vengono eseguite sul database. È una sfida mappare i dati eterogenei dei sensori in un unico schema di database. Un meccanismo aggiuntivo dovrebbe essere fornito per il supporto dei dati in tempo reale, perché questo tipo di dati difficilmente può essere memorizzato direttamente nella cache a causa del suo grande volume. La preoccupazione principale con questo approccio è la scalabilità, dal momento che il server del database dovrebbe gestire sia gli inserimenti di dati provenienti dai nodi del sensore, sia eseguire le query dell’applicazione. Questo approccio può beneficiare della possibilità di abilitare il supporto per il data mining e le tecniche di apprendimento automatico sul pool di dati del sensore memorizzati.
L’approccio di traduzione delle query utilizza la forma naturale dei dati del sensore e i linguaggi di query associati al fine di trasformare le query degli utenti nel linguaggio di query di destinazione di una certa fonte. Questo approccio implica la necessità di mantenere le informazioni delle fonti di dati disponibili, principalmente il linguaggio di interrogazione nativo di una certa fonte di dati, il formato e la natura dei dati prodotti, ma può anche includere informazioni sulle capacità dei sensori, la topologia della rete, i vincoli di potenza per una migliore ottimizzazione dell’interrogazione. I risultati delle query native dovrebbero essere assemblati nel formato dati di destinazione. Potenzialmente, uno svantaggio in termini di prestazioni risiede nel fatto che due conversioni per ogni richiesta dell’utente devono essere fatte nel runtime: quando una query viene tradotta in una query nativa, e di nuovo quando i risultati della query devono essere convertiti nel formato di destinazione.
Nell’approccio di virtualizzazione dei sensori, i sensori e altri dispositivi sono rappresentati con un modello di dati astratto e le applicazioni sono fornite della capacità di interagire direttamente con tale astrazione utilizzando un’interfaccia. Sia che l’implementazione dell’interfaccia definita sia realizzata sui componenti dei nodi sensori o dei gateway, i flussi di dati prodotti devono essere conformi al formato comunemente accettato che dovrebbe consentire l’interoperabilità. In generale, qualsiasi formato di dati comune, che sfrutta il modello semantico dei dati, potrebbe essere utilizzato per la rappresentazione dei dati, o anche più formati di dati che puntano a diversi livelli di astrazione dei dati, potrebbero coesistere in parallelo a seconda delle esigenze degli utenti. Questo approccio è promettente e offre una buona scalabilità, alte prestazioni e una fusione efficiente dei dati su reti di sensori eterogenei, così come la flessibilità nell’aggregazione dei flussi di dati, ecc.
Come detto sopra, gli approcci orientati alle applicazioni cercano di offrire il modo più efficiente alle applicazioni utente per ottenere le informazioni necessarie dalle reti di sensori integrate. Tuttavia, concentrandosi sulla fornitura dell’interazione di alto livello tra le applicazioni e il sistema sottostante, con l’abilitazione delle caratteristiche di inferenza della conoscenza, a volte soffre degli aspetti di performance, che impediscono la più ampia accettazione di queste soluzioni. Abbiamo identificato quattro sottogruppi che condividono lo stesso principio di base dell’approccio top-down: gli approcci di architettura orientata ai servizi, gli approcci di composizione dei servizi, gli approcci di trasformazione dei dati basati su regole e i sistemi basati su agenti.
Gli approcci di architettura orientata ai servizi forniscono un’interfaccia di servizio standard con metodi definiti e codifiche di dati per ottenere osservazioni e misure dai sensori desiderati. Inoltre, potrebbe offrire funzioni come ottenere informazioni sulle caratteristiche dei sensori, la capacità di sottoscrivere i valori dei dati dei sensori selezionati, l’invio di query, opzionalmente le funzioni di attuazione, ecc. L’interazione dominante in queste architetture è il modello richiesta-risposta, e in misura minore la consegna dei dati dei sensori basata su eventi. Uno svantaggio di questo approccio è che non ha la capacità di fondere i dati dei sensori basati sul flusso insieme ai tipi di dati archiviati o acquisiti. Anche se non ci sono vincoli espliciti sull’implementazione concreta, questo approccio tende ad essere orientato verticalmente e copre solo un dominio di applicazione.
Gli approcci orientati alla composizione dei servizi permettono agli utenti la possibilità di definire servizi arbitrari o flussi di dati con specifiche caratteristiche di interesse. Il sistema cercherà di comporre tale flusso di dati applicando un’elaborazione specifica su fonti di dati appropriate, che risulterà nella produzione di un flusso di dati conforme alla specifica richiesta. La piena espressività della richiesta dell’utente potrebbe essere raggiunta consentendo una descrizione basata su un modello semantico dei flussi di dati desiderati e delle capacità di elaborazione: il ragionamento basato sulla semantica potrebbe essere utilizzato quando si cerca una composizione ottimale dei componenti disponibili. Questo approccio sembra offrire le soluzioni più flessibili dal punto di vista delle applicazioni, sebbene le prestazioni possano essere degradate a causa della scoperta in tempo reale della composizione dei servizi.
La trasformazione dei dati basata su regole sembra essere l’approccio più comune per l’utilizzo di modelli di dati semantici. L’inferenza di nuove conoscenze o il rilevamento di eventi di alto livello sono raggiunti dalle funzioni di mappatura che si basano sulle relazioni tra i concetti catturati nella rappresentazione ontologica del modello di dominio e le osservazioni e le misurazioni dei dati del sensore. Ci possono essere molteplici trasformazioni attraverso l’architettura secondo i diversi livelli del modello d’informazione. I dati sono trasformati da formati di livello inferiore a rappresentazioni basate sulla semantica che permettono l’applicazione di algoritmi di ricerca semantica e di ragionamento.
I sistemi basati su agenti consistono in diversi tipi di agenti. Gli agenti sono componenti software in grado di eseguire compiti specifici. Essi raggiungono in modo collaborativo le funzionalità desiderate. Per le comunicazioni interne degli agenti possono essere utilizzate alcune piattaforme standard di agenti o un’implementazione specifica. Tipicamente, gli agenti appartengono a uno dei diversi livelli in base al tipo di funzionalità di cui sono responsabili. Inoltre ci possono essere diversi tipi di agenti in un livello logico. Gli agenti dei livelli superiori impiegano agenti dei livelli inferiori. Se gli agenti impiegano la semantica dei dati del sensore, o se i modelli semantici sono usati per la descrizione delle capacità di elaborazione degli agenti dipende dall’implementazione concreta.
L’albero di classificazione, derivato dai criteri di classificazione sopra menzionati, è presentato in Fig. 1, ed è composto da sette foglie. Ad ogni foglia dell’albero di classificazione è assegnato un nome, come descritto sopra. La lista delle soluzioni esistenti (esempi) è data secondo la classificazione applicata per ogni foglia (classe). Abbiamo fornito solo i nomi degli approcci e i riferimenti principali in un paragrafo separato per permettere ai lettori interessati di studiare ulteriori dettagli. Per semplicità, diamo un nome arbitrario a una soluzione che non ha un nome esplicito dato dagli autori. Usiamo o il nome dell’istituzione da cui gli autori provengono, o il nome della principale questione strategica caratteristica di quella soluzione.
Le soluzioni centrate sul database includono approcci non semantici come il sistema di database Cougar , uno dei primi lavori di ricerca verso l’integrazione delle reti di sensori, e SenseWeb , che è un esempio di massimo utilizzo dell’approccio descritto. ES3N è un esempio di approccio centrato sul database basato sulla semantica.
Tutte le soluzioni relative agli approcci di traduzione delle query impiegano tecnologie semantiche e comprendono: la rete di sensori semantici CSIRO, l’approccio basato su SPARQLSTREAM e SemSorGrid4Env, che è la soluzione più completa in questo gruppo.
Gli sforzi di ricerca più recenti in questo campo appartengono agli approcci di virtualizzazione dei sensori. L’approccio non semantico è usato nel GSN , mentre le soluzioni proposte in progetti su larga scala finanziati dall’UE come il SENSEI e l’Internet of Things (IoT) utilizzano la semantica dei dati.
Le architetture orientate ai servizi includono soluzioni non semantiche semplici ma efficienti come TinyREST e le specifiche OGC SWE dell’architettura di riferimento implementate da varie parti . Un approccio semantico è utilizzato nel SemSOS .
Gli approcci di composizione dei servizi tendono ad offrire l’interazione più flessibile agli utenti e Clessidra è un esempio di una soluzione non semantica. Soluzioni più potenti utilizzano approcci semantici e includono il SONGS e un’architettura sviluppata presso IBM .
Le architetture più comuni che impiegano tecnologie semantiche appartengono agli approcci di trasformazione dei dati basati su regole e includono: un sistema di fusione dei dati dei sensori basato sulla semantica sviluppato presso l’Università di Toronto, un’architettura pluggable progettata presso l’Università Tecnica Nazionale di Atene e lo SWASN, una parte della visione CommonSense di Ericsson.
Infine, gli approcci basati su agenti hanno entrambi i rappresentanti non semantici e semantici: il primo è un’infrastruttura di sensori su scala Internet chiamata IrisNet , mentre il secondo è lo SWAP , un sistema multi-agente per architetture Sensor Web.