Zione Di Uno Strumento Ed Per La Simulazione Remota Di Senza Filo
Total Page:16
File Type:pdf, Size:1020Kb
Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo Anno Accademico 2009/2010 relatore Ch.mo prof. Marcello Cinque correlatore ing. Catello Di Martino candidato Luigi, Paolo Rossi matr. 534 000 308 A mio padre e mia madre Non aetate verum ingenio apiscitur sapientia. Indice Introduzione 4 Capitolo 1. Wireless Sensor Network: Modellazione e Simulazione 7 1.1 Wireless Sensor Networks: Reti di Sensori senza filo 7 1.2 Progettare e Simulare una WSN 11 1.3 Il Tool Failure Model WSN Generator 19 1.3.1 Il simulatore Mobius 21 1.3.2 La topologia della rete 22 1.4 Motivazioni del remoting nella simulazione di WSN 24 Capitolo 2. Analisi dei Requisiti e Progettazione 27 2.1 Web Model WSN Generator: concetti chiave 27 2.2 Casi d’uso 31 2.3 Diminuire l’accoppiamento 33 2.3.1 La classe AmbientVar 35 2.3.2 Logging 36 Capitolo 3. Tecnologie e Strumenti per le Rich Internet Applications 38 3.1 Le RIA e metriche di valutazione 38 3.1.1 AJAX e JavaScript 40 3.1.2 Caratteristiche e metriche di valutazione dei framework 43 3.2 Java Server Pages e IceFaces 44 3.3 Openlaszlo 48 3.4 Adobe Flex 50 3.5 Echo 3 52 3.6 Google Web Toolkit 54 3.7 Apache Click 57 Capitolo 4. ZK Framework 59 4.1 Direct RIA: cos’è ZK Framework 59 4.2 Caratteristiche principali di ZK Framework 61 4.3 Integrazione con Java: il funzionamento di ZK Framework 62 4.3.1 Framework Server -Centrico e Client-Centrico 65 4.4 Estensibilità: MVC, Spring, Hibernate ed Integrazione 67 4.4.1 Il Pattern MVC con ZK 67 4.4.2 Spring con ZK 71 4.4.3 Hibernate con ZK 73 II 4.4.4 Integrare linguaggi in ZK 75 4.5 Qualità del supporto: ZK Forge e case studies 76 4.6 Curva di apprendimento: programming skills e linguaggio ZU ML 77 4.7 Strumenti di supporto: i tool di ZK 78 4.8 Costi di sviluppo: le versioni disponibili 81 Capitolo 5. Implementazione del tool 82 5.1 Pattern MVC e struttura della RIA 82 5.2 Le classi controller 84 5.3 Classi di utilità del tool web -based 85 5.4 La view ed i file ZUL 86 5.5 Il Disegno della Topologia: draw2d 88 5.6 Esempi di funzionamento 91 Conclusioni 95 Bibliografia 97 Sitografia 98 III Introduzione I recenti sviluppi nel campo delle reti di sensori senza filo hanno ampliato lo spettro delle loro possibili applicazioni, l'efficienza di monitoraggio e i loro costi di sviluppo e di produzione. Se da una parte tale progresso ha portato a dei risultati sicuramente ottimali riguardo la loro applicazione concreta nel settore delle reti wireless, d'altro canto non può non essere osservato che tale procedimento innovativo ha condotto ad un diverso approccio nella progettazione, modellazione e simulazione delle Wireless Sensor Networks. Ciò in ragione della difficoltà di gestire un numero elevato di nodi sensore, ed inoltre, nei costi in termini economici e di tempo per testare in maniera pratica il funzionamento di questi microsistemi al fine di valutarne l'efficienza della trasmissione, l'affidabilità e la tolleranza ai guasti. In ragione di quanto appena affermato nella prassi applicativa delle Wireless Sensor network (WSN), si è posta l'esigenza della modellazione del sistema da implementare e della simulazione dello stesso al fine di valutare i risultati ottenuti e correggere le scelte effettuate riguardo la loro progettazione nelle varie modalità di utilizzo. In tal senso è stata diretta l'attività del laboratorio Mobilab del Dipertimento di Informatica e Sistemistica, il quale ha apportato un notevole contributo sia nell'approccio della modellazione e simulazione dei sistemi WSN, sia nell'implementazione di framework e strumenti software. Nel procedere a tale attività il suddetto laboratorio ha adottato un metodo che si basa sulla 4 Realizzazione di uno strumento web-based per la simulazione remota di WSN Cap. 5: Implementazione del tool necessità di valutare a priori l’affidabilità dei sistemi, ricorrendo a modelli che possano rappresentare adeguatamente le caratteristiche rilevanti del sistema stesso e a metriche e tecniche di valutazione dell’affidabilità. In seguito tale attività si è concretizzata nell'implementazione di un tool per la generazione automatica di modelli di fallimento. Nell'ambito di tale lavoro sono emerse delle problematiche riguardo agli utilizzi di questo strumento software con i framework di sviluppo WSN che sono stati progettati e sviluppati dal Mobilab, poiché tali applicazioni richiedono notevoli risorse di calcolo nonché determinano difficoltà in ordine alla configurazione dei software e distribuzione degli stessi agli utenti finali. E' nata, pertanto, l'esigenza di convogliare questi strumenti ed in particolare il tool di generazione automatica dei modelli di fallimento, in un ambiente operativo che abbia determinate caratteristiche: immediata disponibilità, estensibilità, facile manutenibilità, sicurezza dei dati, minore carico computazionale, riduzione costi di gestione e accessibilità. Si è resa, inoltre, l'esigenza di associare alle suddette caratteristiche una funzionalità che permetta allo sviluppatore WSN di riprodurre graficamente la topologia della rete da modellare e simulare senza l'utilizzo di ulteriori strumenti software. Le suddette caratteristiche hanno portato alla realizzazione di uno strumento web-based per la simulazione e modellazione remota di reti di sensori senza filo che è oggetto di trattazione del seguente lavoro di tesi. Al fine di pervenire alla realizzazione di tale strumento sono state effettuate delle ricerche sulle tecnologie più diffuse per la realizzazione di applicazioni web che presentano più elementi di somiglianza in ordine al loro comportamento e alla visualizzazione degli applicativi desktop tradizionali, ovvero più simili non ad una web application tradizionale ma ad una RIA (Rich Internet Application) al fine di rendere più agevole l'utilizzo dello stesso nei confronti dell'utente finale. Al fine di addivenire a tale risultato si è reso necessario strutturare tale lavoro di tesi nel seguente modo: il Cap. 1 è dedicato ad una panoramica delle wireless sensor network, delle motivazioni che portano al remoting nella simulazione di WSN ed introduce il lettore 5 Realizzazione di uno strumento web-based per la simulazione remota di WSN Cap. 5: Implementazione del tool al dominio del problema. La progettazione e le scelte principali che sono state effettuate in ordine all'implementazione del suddetto strumento software sono poste ad oggetto del Cap. 2, nel quale contemporaneamente si procede alla analisi dei suoi requisiti. La progettazione della applicazione web procede nel Cap. 3, attraverso una panoramica delle tecnologie più diffuse per lo sviluppo delle RIA alla stregua delle seguenti metriche di valutazione: integrazione con Java, estensibilità, qualità del supporto, curva di apprendimento, strumenti di supporto e costi di sviluppo. Il Cap. 4 è dedicato al framework ZK procedendo allo studio delle sue caratteristiche, del suo funzionamento e delle sue potenzialità applicative sfruttate in combinazione con il tool web-based implementato. Tale iter progettuale si concretizza nel Cap. 5, il quale è completamente dedicato alla implementazione del tool, nonché all’esposizione della funzionalità disegno della topologia della WSN e su come si è utilizzato il framework per realizzarla. 6 Capitolo 1 Wireless Sensor Network: Modellazione e Simulazione 1.1 Wireless Sensor Networks: Reti di Sensori senza filo I recenti progressi tecnologici nei sistemi MEMS (Micro Electro Mechanical System), nelle comunicazioni wireless e nell'elettronica digitale hanno permesso lo sviluppo di piccoli apparecchi a bassa potenza dai costi contenuti, multifunzionali e capaci di comunicare tra loro tramite tecnologia wireless a raggio limitato. Questi piccoli apparecchi, chiamati nodi sensori, sono formati da componenti in grado di rilevare grandezze fisiche (sensori di posizione, temperatura, umidità ecc.), di elaborare dati e di comunicare tra loro. Un sensore è comunemente definito come un particolare trasduttore che si trova in diretta interazione con il sistema misurato. Una rete di sensori (detta anche sensor network) è un insieme di sensori disposti in prossimità oppure all'interno del fenomeno da osservare. Questi piccoli dispositivi sono prodotti e distribuiti in massa, hanno un costo di produzione trascurabile e sono caratterizzati da dimensioni e pesi molto ridotti. Ogni sensore ha una riserva d'energia limitata e non rinnovabile e, una volta messo in opera, deve lavorare autonomamente; per questo motivo tali dispositivi devono mantenere costantemente i consumi molto bassi, in modo da avere un maggior ciclo di vita. Per ottenere la maggior quantità possibile di dati occorre effettuare una massiccia distribuzione di sensori (nell'ordine delle migliaia o decine di migliaia) in modo da avere una alta densità (fino a 20 nodi/m3) e far sì che i nodi siano tutti vicini tra loro, condizione necessaria affinché possano comunicare. 7 Realizzazione di uno strumento web-based per la simulazione remota di WSN Cap. 1: Wireless Sensor Network: Modellazione e Simulazione Fig. 1.1 – un esempio di Wireless Sensor Network – monitoraggio incendi Una delle più comuni applicazioni in cui è possibile far uso di una rete di sensori consiste nel monitoraggio di ambienti fisici come il traffico in una grande città oppure dati rilevati da un'area disastrata da un terremoto. I nodi sensore all'interno di una rete hanno la possibilità di collaborare tra loro dal momento che sono provvisti di un processore on-board; grazie a quest'ultimo, ciascun nodo, invece di inviare dati grezzi ai nodi responsabili della raccolta dei dati, può effettuare delle semplici elaborazioni e trasmettere solo i dati richiesti e già elaborati. La comunicazione, realizzata tramite tecnologia wireless a corto raggio, è solitamente di tipo asimmetrico in quanto i nodi comuni inviano le informazioni raccolte ad uno o più nodi speciali della rete, detti nodi sink, i quali hanno lo scopo di raccogliere i dati e trasmetterli tipicamente ad un server o ad un calcolatore.