Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Tesi di laurea di: Daniele Alessandrelli
Implementazione di meccanismi real-time su sistemi distribuiti data-centrici realizzati con tecnologie di reti di sensori wireless Tesi di laurea di: Daniele Alessandrelli
2
Tesi svolta presso il ReTiS lab della Scuola Superiore Sant’Anna
Motivazione: permettere lo sviluppo di applicazioni per WSN dotate di supporto real-time: permetterà l’uso delle WSN in applicazioni industriali, per la sicurezza, ecc. finora l’accento è stato posto su altri aspetti come il risparmio energetico e l’auto-configurabilità della rete. Obiettivo: Progettare ed implementare un middleware data-centrico per WSN dotato di caratteristiche real-time
3
Introduzione
4
Wireless Sensor Network
Insieme di nodi autonomi (generalmente alimentati a batteria) che effettuano misurazioni di grandezze fisiche sull’ambiente che collaborano tra loro comunicando in maniera wireless I nodi sono sistemi embedded dotati di funzionalità di rete strumenti di misurazione un certa capacità computazionale
5
Caratteristiche di un nodo
Un nodo è equipaggiato con: un micro-controllore (MCU); uno o più sensori; una radio; una sorgente di energia (generalmente batterie). Componenti opzionali: moduli per la raccolta di energia ASIC supplementari; dispositivi supplementari di comunicazione (RS-232, USB, ecc.). I principali vincoli sono: ridotta capacità computazionale; scarsità di memoria; network bandwidth; consumo energetico Sensor 1 Sensor 2 Radio MCU Power supply
6
Wireless Sensor Network
Peculiarità delle WSN flessibilità pervasività costo ridotto Applicazioni: militari ambientali medico-sanitarie domestiche industriali e commerciali
7
LO STANDARD IEEE Velocità massima 250 kb/s = GHz (codifica 16-aria , 1sym = 4 bits); Struttura a superframe (beacon-enabled, 16 slot): Periodo inattivo Periodo attivo CAP (Contention Access Period) slotted CSMA-CA CFP (Contention Free Period) GTS (max 7) Traffico real-time
8
Open research topics Sfide:
efficienza energetica (massimizzare l’autonomia del nodo) gestione della topologia data management (estrazione dell’informazione necessaria) code management (riprogrammazione dei nodi) auto-configurazione della rete architettura software del nodo (definizione dei servizi di sistema) Fatto
9
Middleware per WSN Motivazione:
ridurre la difficoltà di progettazione ed implementazione di un’applicazione per WSN Un middleware astrae la WSN nascondendo la complessità dei singoli nodi e fornendone una visione olistica. Classificazione middleware per WSN classici (gestione della comunicazione) data-centrici (astrazione come DB) virtual-machine (esecuzione di script sui nodi) adaptive middleware (adattamento alla specifica applicazione)
10
Sistema real-time la correttezza di funzionamento dipende
dalla validità dei risultati (come nei sistemi normali) dal tempo in cui sono prodotti le attività (task) di un sistema real-time hanno una deadline che va rispettata Caratteristica fondamentale: predicibilità capacità di determinare in anticipo se uno o più task termineranno entro la proprie deadline
11
Progettazione
12
Descrizione generale Permettere all’utente di interfacciarsi alla WSN secondo l’approccio per le Basi di Dati per estrarre informazioni sulla misura di variabili distribuite Sensoristica eterogenea A voce dico che si accede tramite PC collegato a SAP che si occupa di “eseguire” la query
13
Requisiti Funzionali Query snapshot e periodiche di tipo semplice
con funzioni aggregative di tipo statistico eventualmente con restrizioni (confronti con valori di soglia parametrici)
14
Requisiti non funzionali
Real-time Trasparenza e data-centrismo In-network processing Adattabilità alla specifica applicazione Efficienza energetica Robustezza Estendibilità Supporto multipiattaforma Scalabilità Eterogeneità hardware Concorrenza con altri applicativi distribuiti Attinenza al protocollo di comunicazione IEEE
15
Requisiti real-time nel dettaglio
Relativi alle query periodiche la periodicità deve essere rispettata l’esecuzione deve terminare entro l’inizio del prossimo periodo (D = T) se non è possibile soddisfare tali requisiti la query va rifiutata (test di accettazione) Relativi alle query snaphost (o aperiodiche) devono essere schedulati, ma senza interferire con le periodiche no starvation ma non è prevista una deadline
16
Ambiente di sviluppo
17
Software ERIKA Enterprise μWireless RT-Druid
OSEK-like RTOS per sistemi embedded minimali 1-4 Kb ROM footprint avanzati algoritmi di scheduling (EDF con SRP) GNU/GPL with Linking Exception μWireless implementazione dello standard IEEE RT-Druid Configurazione di ERIKA tramite OSEK OIL integrated in eclipse.org Se non ricordo male nelle tue presentazioni c’è una slide che riassume erika, me la passeresti?
18
Erika Enterprise Piattaforme supportate
Attualmente disponibile come prodotto per: Microchip dsPIC AVR Altera NIOS II con supporto multi-core! Disponibile anche per: ARM7TDMI (Samsung KS32C50100, Triscend A7, ST Janus, ST STA2051) Tricore 1 PPC 5xx (PPC 566EVB) Hitachi H8 (RCX/Lego Mindstorms) C167/ST10 (Ertec EVA 167, tiny/large mem. model)
19
Erika Enterprise - Funzionalità
Preemptive fixed priority (OSEK) multithreading Scheduler EDF con SRP Implementazione multi-core dello scheduling a priorità fissa e con EDF (MSRP) Immediate Priority Ceiling to avoid priority inversion Risorse condivise Algoritmi di ottimizzazione dello stack Condivisione dello stack con soglie di preemption (SRP) per ridurre l’uso di RAM Allarmi peridici Footprint ridotto (ROM) Ridotti requisiti di memoria (RAM) Ridotto tempo di esecuzione delle primitive (gestione IRQ, scheduling, context switching, ecc.)
20
Eclipse + RT-Druid Editor Projects Output
21
Hardware Flex base board Flex demo board
Microchip ICD2 programmer/debugger CC2420EM Packet Sniffer
22
Progettazione
23
Progettazione del funzionamento real-time
Problema: serve un meccanismo di diffusione della query che sia predicibile Soluzione: topologia stella Il coordinator tiene informazioni sui device invia la query ai device (nel beacon payload) disciplina la comunicazione assegnando GTS riceve le risposte dai device (che rispondono utilizzando i GTS assegnati)
24
Esempio di comunicazione
In questo modo la query ha un tempo di esecuzione: noto a priori multiplo del tempo di beacon
25
Schedulazione real-time
La banda è paragonabile ad una CPU il tempo di clock è il tempo di beacon una query è paragonabile ad un task Si utilizzano le tecniche di schedulazione utilizzate per i task Periodici schedulati con EDF Aperiodici serviti da un TBS Test di accettazione su periodici (test di schedulabilità di EDF+TBS)
26
Earliest Deadline First
Prevede che ogni task abbia una deadline Garantisce che in ogni istante il task in esecuzione sia il task con deadline più imminente preemptive
27
Schedulazione aperiodici
Si utilizza un Total Bandwidth Server (TBS) Assegna agli aperiodi una deadline nel seguente modo È ora possibile schedulare gli aperiodici con EDF
28
Architettura Architettura Logica Mapping su componenti HW
29
Strutture dati
30
Componenti Coordinator
Approccio modulare estendibilità (posso aggiungere nuovi moduli) flessibilità (posso sostituire singoli moduli)
31
Implementazione
32
Implementazione client PC (jMirtes)
Scritto in Java supporto multipiattaforma Uso di librerie open source RXTX (GNU/LGPL) per comunicazione seriale JSqlParser (GNU/LGPL) per parser SQL E’ fondamentalmente una libreria possibilità di integrazione in altre applicazioni L’interfaccia testuale utilizza le API della libreria ~2000 righe di codice
33
Implementazione software coordinator e device
Utilizzo del linguaggio C Uso della tecnica delle pseudo classi Problematica legata alla programmazione di sw embedded (scarsa memoria, ridotta velocità di calcolo, assenza di filesystem, ecc.) ~4000 righe di codice
34
Validazione sperimentale
35
Test effettuati Visualizzazione on-line di una query semplice su grandezza vettoriale (accelerazione) Analisi del costo elettromagnetico delle query in funzione di condizioni di soglia Analisi delle garanzia real-time
36
Visualizzazione on-line di una query
SELECT NODE_ID, ACC_X, ACC_Y, ACC_Z FROM ACCELERATION EVERY 150 MS
37
Scenario sperimentale usato per la misura degli aggregati
Nodo Lux 3 42 5 58 7 91 9 126
38
Funzioni di aggregazioni e condizioni
Costo elettromagnetico (numero di messaggi inviati) Valor medio dei valori rilevati Nodo Lux 3 42 5 58 7 91 9 126 SELECT COUNT(LUX), MIN(LUX), MAX(LUX), MEAN(LUX) FROM LUMINOSITY WHERE LUX > THR EVERY 100ms
39
Test con solo carico periodico (senza controllo di garanzia)
ID Tipo A C T U Acc 3 10 0.3 1 Lux 2 4 0.5 Temp 5 0.2 8
40
Test con carico aperiodico
Andamento della latenza di transazione in funzione del tempo. Sovrapposta alla figura il numero di query aperiodiche accodate e completate nell’unità di tempo
41
Conclusioni MIRTES middleware data-centrico sviluppato secondo le tecniche della software engineering; completamente Open-Source; basato su un RTOS come ERIKA; per astrarre una WSN come una base di dati con funzionalita in tempo reale; in completa compliance con lo standard IEEE ; inter-operabile con un framework Open-Source (SCILAB/SCICOS) per la visualizzazione in linea dei dati recuperati dai sensori. ; validato sperimentalmente facendo uso del package ROOT su dati serializzati sul disco di un PC. Il ReTiS prevede di estendere le funzionalità di MIRTES al management del codice ed alla proattività rispetto alla notifica di eventi di rete. Il progetto verrà inoltre pubblicizzato ed il codice distribuito su licenza LGPL attraverso il sito web di Evidence srl (
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.