Capitolo 1
prodotto alcune soluzioni originali di grande interesse; queste consentono di consid-
erare le WSN come uno dei settori a maggior potenziale innovativo nel campo delle
reti.
1.1 Dalle reti cablate al wireless
Le reti di sensori sono nate con strutture di comunicazione cablate che soffrono
pero` di gravi limitazioni: in primo luogo l’impossibilita` o le difficolta` d’installazione
in ambienti inospitali per l’uomo. A cio` si aggiunge un problema implicito di costi
visto che l’installazione di ciascun dispositivo richiede manodopera e materiali per
le operazioni di cablatura; inoltre una struttura cablata e` essenzialmente rigida, cioe`
risulta difficile aggiungere nuovi nodi alla rete o modificare la posizione di sensori
preesistenti senza riconsiderare l’intera struttura della rete: si pensi a semplici ap-
plicazioni per il controllo del riscaldamento o dell’illuminazione di una abitazione
residenziale.
Le soluzioni wireless si presentano indubbiamente vantaggiose per applicazioni che
richiedono:
• flessibilita` e scalabilita`;
• semplicita` di installazione;
• possibilita` di coprire aree ad ampio raggio (ad esempio applicazioni ambientali
o militari);
• capacita` della rete di auto-configurarsi ed auto-organizzarsi;
• tolleranza ai guasti;
11
Capitolo 1
• scarsa manutenzione.
Al tempo stesso si dovra` tener conto del fatto che i vantaggi richiamati in molte
applicazioni non sono sufficienti per prevedere la completa sostituzione delle reti ca-
blate: basti pensare a problemi di propagazione del segnale, interferenze, sicurezza,
requisiti di potenza, norme legislative. Cio` porta a valutare in sede di progetto la
possibilita` di realizzare reti di tipo ibrido in cui sono presenti contemporaneamente
una parte cablata e una parte wireless, in grado di cooperare ed interagire fra loro
in modo trasparente per l’utente finale.
In questo contesto le reti di sensori wireless possono essere considerate come una es-
tensione delle reti cablate, laddove l’utilizzo delle tecnologie wireless aggiunge valore
specifico all’applicazione.
1.2 Applicazioni delle WSN
Si possono riconoscere quattro macrocategorie di reti di sensori wireless:
• Monitoring : questo tipo di rete e` utilizzato per tenere traccia con continuita`
di grandezze relative a un’area geografica; queste grandezze possono essere
misure singole o aggregazioni di dati.
• Event detection: questo tipo di rete e` finalizzato a riconoscere determinati
eventi relativi alle misure rilevate dai sensori. Un tipico evento puo` essere il
superamento di un valore soglia di un certo dato misurato.
• Object classification: questo tipo di rete ha come obiettivo quello di effettuare
una classificazione di oggetti fisici in base alle grandezze misurate (ad esempio
suoni emessi).
12
Capitolo 1
• Object tracking : questo tipo di rete sfrutta le capacita` di riorganizzazione della
topologia delle reti di sensori per identificare gli spostamenti di un oggetto in
una determinata area geografica.
Da ognuna delle categorie indicate si puo` notare come la localizzazione dei nodi
sensore sia una questione fondamentale da trattare nell’ambito delle reti wireless.
Soprattutto grazie ai nuovi metodi che permettono di avere le coordinate dei sensori
anche senza l’utilizzo di antenne GPS, grazie a metodi interferometrici e stime sul
canale radio.
La trattazione dei dati che descrivono la posizione geografica comporta comunque
delle difficolta` in termini di problemi nella conversione delle coordinate per collegare
sistemi eterogenei cos`ı come complessita` nell’applicare espressioni che coinvolgano
relazioni tra le geometrie che rappresentano le entita` del sistema da monitorare,
come ad esempio il contenimento di una geometria in un’altra o il calcolo della
distanza tra due entita`.
1.3 Approccio dichiarativo ai dati
Un approccio diverso, mirato a ovviare al problema della complessita`, e` quello
di utilizzare un linguaggio dichiarativo che permetta di chiedere semplicemente al
sistema ”cosa si vuole” e non ”come fare per averlo”. Un simile approccio viene gia`
utilizzato nei DBMS tradizionali, che sfruttano un linguaggio dichiarativo: l’SQL
per permettere all’utente di formulare semplici interrogazioni al sistema che im-
magazzina i dati senza preoccuparsi di come esso riesca a reperire le informazioni
di interesse tra tutte quelle presenti. In questo ambito all’inizio degli anni ’60 nasce
13
Capitolo 1
nell’omonima Universita` l’Harvard Laboratory for Computer Graphics and Spacial
Analysis con lo scopo di realizzare software per la produzione di cartografia.
Nel 1970 viene prodotto ODYSSEY il primo vero software commerciale che intro-
duceva il concetto di struttura topologica di dati e di overlay mapping. Questo
genere di software viene denominato GIS, Geographical Information System, in
italiano SIT, Sistema Informativo Territoriale.
1.3.1 GIS definizione
Un Sistema Informativo Geografico, o GIS, e` un Sistema informatico per l’acqui-
sizione, conservazione, analisi e visualizzazione di dati geografici. Viene definito
sistema in quanto costituito da un insieme di componenti, hardware e software,
che interagiscono fra di loro. Caratteristica essenziale di un GIS e` la capacita` di
gestire dati geografici, vale a dire dati relativi ad elementi od oggetti della superficie
terrestre la cui posizione e` definita da un insieme di coordinate.
1.4 GIS e TinyDB
L’approccio dichiarativo nelle reti di sensori e` stato introdotto in diverse forme,
ad esempio per i sensori che utilizzano il sistema operativo TinyOS esiste il Tiny-
DB che permette di vedere una rete di sensori wireless come se fosse la tabella di
una base dati relazionale e mette a disposizione un linguaggio dichiarativo di in-
terrogazione simile all’SQL: il TinySQL, che permette d’interrogare le letture date
dai sensori sui nodi, con particolare attenzione ai consumi energetici degli stessi. I
14
Capitolo 1
dati trattati dal TinySQL sono solamente alfanumerici, non esiste cioe` un tipo di
dato che possa rappresentare le geometrie che descrivono la topologia della rete di
sensori ne` sono presenti operatori capaci di trattare dati geografici. In sostanza nel
TinyDB manca la componente GIS
A questo punto si e` posto il problema di come analizzare i dati forniti dalla rete di
sensori considerando anche le coordinate dei nodi sensore.
Una soluzione potrebbe essere raccogliere tutti i dati provenienti dalla rete e farli
confluire in una base dati relazionale e trattare le coordinate come semplici dati
numerici. Ma questa soluzione non permette di sfruttare la potenza espressiva dei
GIS. Ci si e` quindi chiesti se potesse avere senso utilizzare una base dati che sia
dotata di un’estensione per trattare i dati geografici letti dai sensori come semplici
dati numerici. Tale soluzione pero` presenta notevoli difficolta` in termini di consumo
energetico dei nodi e di complessita` nell’esecuzione delle operazioni di reperimento
dei dati in quanto i dati numerici che rappresentano le coordinate provenienti dalla
rete devono essere convertiti nell’appropriato formato geometrico proprietario della
base dati utilizzata.
La soluzione migliore e` sembrata quella di operare direttamente sul TinyDB aggiun-
gendo la capacita` di trattare dati geografici.
In quest’ottica si inserisce il presente lavoro di tesi che realizza un’estensione del
TinyDB che permetta di trattare anche i dati geografici in modo dichiarativo. Tale
estensione sara` denominata TinyGIS ed avra` lo scopo di semplificare il reperimen-
to di dati riguardanti la rappresentazione della rete e di aumentare l’espressivita` del
TinySQL fornendo un ulteriore livello di scrematura dei dati provenienti dalla rete
di sensori.
Verranno inizialmente definite le geometrie adatte a rappresentare la rete di nodi
15
Capitolo 1
sensore, che possono essere rappresentati da punti nel piano o nello spazio. Succes-
sivamente verranno definiti degli operatori spaziali che permettano di operare con
tali geometrie fornendo un valore aggiunto alle letture dei sensori posti sui nodi allo
scopo di poter implementare un applicativo reale appartenente ad una delle cate-
gorie descritte in 1.2. Data la natura intrinseca delle reti di sensori wireless, soggetta
a forti limitazioni in termini di consumi energetici e di potenza di calcolo, tutto il
lavoro, ed in particolare la realizzazione degli operatori spaziali, dovra` tener conto
di tali limitazioni.
Gli operatori che verranno realizzati sono i seguenti:
• controllo del contenimento del punto che rappresenta un sensore in un’area
definita dall’utente, tale operatore permette di discriminare le letture dei
sensori in base alla loro posizione geografica.
• evento contorno: tale operatore e` dedicato al controllo della posizione di un
nodo che possa muoversi, in particolare permette di eseguire un particolare
comando, deciso dall’utente, nel caso in cui il nodo esca da un’area definita
dall’utente.
• distanza punto-nodo: permette di calcolare la distanza tra un nodo ed un
punto definito dall’utente.
Verra` inoltre implementata un’interfaccia dedicata alla visualizzazione della
topologia della rete che permetta di visualizzare sul monitor della macchina che
raccoglie i dati dalla rete le reali posizioni dei nodi sensore.
Gli operatori descritti permettono di operare numerosi miglioramenti nell’analisi dei
dati provenienti dalla rete di sensori, oltre a semplificare le definizioni di molte analisi
16
Capitolo 1
relative al monitoraggio, al controllo di particolari eventi ed all’identificazione degli
spostamenti. In particolare l’operatore evento contorno sfrutta la natura ad eventi
della rete, e sarebbe quindi irrealizzabile analizzando i dati per mezzo di una banca
dati esterna, seppur dotata di un’estensione per il trattamento dei dati spaziali.
Contenuto della tesi La tesi e` composta da sette capitoli, oltre quello
introduttivo, i cui contenuti sono i seguenti:
. Capitolo 2 presenta le generalita` di una rete di sensori wireless.
. Capitolo 3 e` dedicato alla descrizione approfondita del TinyDB, analizzando
i componenti su cui e` necessario intervenire per lo svolgimento del resto del
lavoro.
. Capitolo 4 descrive il lavoro realizzato fornendo inizialmente delle ipotesi
sui dati spaziali e su come interpretarli e successivamente presenta le fasi
progettuali dei diversi operatori realizzati e ne motiva la scelta.
. Capitolo 5 si entra nel dettaglio implementativo degli operatori realizzati
presentando i componenti TinyOS realizzati ed il codice java prodotto per
migliorare l’efficenza e l’usabiita` del sistema di querying sui dati spaziali.
. Capitolo 6 descrive la realizzazione dell’interfaccia grafica per la visualiz-
zazione della topologia reale della rete, analizzando le classi java create e
modificate allo scopo.
. Capitolo 7 analizza le migliorie apportate al sistema di query in termini di
efficienza energetica, fornendo un modello energetico dei nodi e simulando
17
Capitolo 1
l’applicazione dell’operatore contenimento per mostrare come sia ridotto il
consumo dei nodi in confronto all’interrogazione della intera rete.
. Capitolo 8 analizza criticamente il sistema realizzato introducendo eventuali
migliorie da apportare in futuro.
18
Capitolo 2
Reti di sensori
Il mondo delle reti di telecomunicazioni e` in continua espansione, come testimonia
la capillare di diffusione delle reti ad estensione geografica (Wide Area Network).
Da molti anni si e` intuito che il limite principale delle reti e` costituito dalle infras-
trutture necessarie al loro funzionamento. Cavi e punti di accesso rappresentano un
grosso ostacolo per l’ espansione della rete stessa, operazione che diventa alquanto
costosa in termini di tempo e risorse. Una valida soluzione in merito e` rappresentata
dall’utilizzo di reti ad hoc. Essa e` stata elaborata al preciso scopo di ottenere reti
autoconfiguranti, che non necessitino di una organizzazione gerarchica e soprattutto
di infrastrutture. e` indispensabile che reti di questo tipo permettano di risolvere con
efficacia problemi dovuti a guasti, spegnimenti e mutamenti dell’ambiente operativo.
Le reti di sensori senza filo, o Wireless Sensors Networks (WSN) nascono alla stessa
stregua delle reti ad hoc, focalizzandosi su applicazioni di monitoraggio e controllo
ambientale e strutturale.
I recenti progressi tecnologici nei sistemi micro-elettro-meccanici (MEMS, micro-
electro-mechanical system), nelle comunicazioni wireless e nell’elettronica digitale
19