Title: SWARMS Software Architecture for Radiobased Mobile Systems
1SWARMSSoftware Architecture for Radio-based
Mobile Systems
- Carsten Buschmann, Stefan Fischer (Uni Lübeck)
- Jochen Koberstein, Norbert Luttenberger (CAU
Kiel)
2Overview
- Introduction to SWARMS
- Programming swarms of devices
- Context awareness for swarms of devices
- Further reading
3Introduction to SWARMS
- Information-centric middleware for
self-organizing swarms of mobile systems, esp.
Wireless Sensor Networks (WSNs) - exploration of new (old?) co-operation paradigm
shared information space - communication requirements
- programming methodology
- acquiring and keeping sensor data context
- System Programming instead of programming
individual devices
4Co-operation in WSNs
- Information sharing revised
- Nodes read their local sensors,
- spread out their information,
- receive information from others,
- and build their local view.
- Local decisions are based on local view.
- Data consistency not guaranteed.
- Paradigm distributed virtual Shared Information
Space - dvSIS needs no central components.
- dvSIS is union of all local views.
- dvSIS exists as a virtual entity only.
5dvSIS Model
- dvSIS modeled as virtual document
- semi-structured
- self-describing information components
- including context info, e.g.
- time
- location
- reliability
-
- grammar to describe
- dvSIS
- local views
- messages
lttemp_fieldgt lttemp_samplegt lttempgt85lt/tempgt
ltlocationgt5419'34"N,
1008'42"Olt/locationgt lt/temp_samplegt
lttemp_samplegt lttempgt35lt/tempgt ltlocationgtd
ining roomlt/locationgt lt/temp_samplegt lttemp_sampl
egt lttempgt105lt/tempgt ltlocationgtdon't
knowlt/locationgt lt/temp_samplegtlt/temp_fieldgt
BEGIN Temp_field SEQUENCE OF
temp_sample Temp_sample Temp_sample
SEQUENCE temp Temperature, location Location
Temperature ... Location
... localview Temp_field message Temp_field
END
6Omnicast Communication
- Three XCAST-filters
- Extract "new" information
- validate incoming messages against grammar
- merge new informationinto local view
- Let others share your information
- (re-)broadcast own information
- in multi-hop environmentscontrolled flooding of
information from others (different algorithms
for content-based flooding control) - Local processing
7Kontextinformation im dvSIS
- Beispiel DV-hop von Niculescu und Nath
- Datenstruktur
8Content based forwarding
if (ltrolegt anchor) on init send ltanchorsgt
with ltmyidgt on reception of ltanchorsgt
if (ltidgt ! myid) if (not present)
insert update lthopsizegt
incr ltdistgt forward ltanchorsgt else if
(ltdistgt smaller) merge update
lthopsizegt incr ltdistgt forward ltanchorsgt
if (ltanchorsgt gt ltfloodlimitgt)
calc lthopsizegt forward lthopsizegt
- XCastRegeln
- Datenstruktur
if (ltrolegt node) on reception of
ltanchorsgt if (ltanchorsgt lt ltfloodlimitgt)
if (not present) insert
incr ltdistgt forward ltanchorsgt else if
(ltdistgt smaller) merge incr
ltdistgt forward ltanchorsgt lthopsizegt if
(ltdvhop/hopsizegt ! null) insert
calcposition forward lthopsizegt
9Programming Methodology
XML Schema
receive
send
STAX/g
STAX/p
FSM
events
interfaces
event-drivenapplication
application programing
STAX Simple Typed API for XML
dvSIS local view
runtime
compile-time
10Code Size / Execution Time
Binary Code Size
Execution Time in TI MSP430
93,6kB 90,5
ltltcastax/p 4,1kB 6
FSM description 0,3kB 0,5
Call-back skeletons 2kB 3
11Simulation
- Anforderungen an einen Simulatormit
Testbed-Funktionalität - Funk, Mobilität,
- Simulation von großen Netzen
- Bereitstellung einer virtuellen Umgebung (? z.B.
Sensor-Input) - Simulation im Rahmen der SW-Entwicklung
(Testphase) - Applikation sollte auf Simulator UND Knoten
ausführbar sein - Einfache Bewertung des Netzverhaltens(Visualisier
ung u. Evaluation)
12Plattformabstraktion"
- Anforderung
- Plattformunabhängige Applikation
- Effizientes und trotzdem flexibles API
- Ansatz
- Beschreibung der Sensor-Konfiguration als
XML-Dokument - Generierung eines Node-API aus
Sensor-Konfiguration
13Informationsquellen und -senken
- Sensoren, Funkschnittstelle etc. als
Informationsquellen und senken - Read
- Write
- Callback
- Mögliche Quellen und Senken
- Bild-Dateien
- Video-Ströme
- Funktionen (u.a. Methoden des Simulators selbst,
z.B. Funkschnittstelle oder Uhr) - Bindung des API an virtuelle Quellen (für
Simulation)
14Demo
15Integrierte Entwicklungsumgebung
- Eclipse-Anbindung via Plug-ins
16SpyGlass Sensornetzvisualisierung
- Debugging und Deployment schwierig
- verteilter Visualisierer als Hilfe
- Flexibel
- Erweiterbar durch Plugins
- Recording und Playback
17Untersuchung von Zeitsynchronisation
- Synchronisation durch Fluten
- Verfahren von Römer
Temp20C t02200,000 tsend 02417,000
12417,020
?t10000,020
Temp20C 12200,000
18Eine theoretische Alternative
- TICTAC Traffic Induced Control of Time And
Communication - Annahme zeitliche und räumliche Variation des
Verkehrs - Synchronisation nur, wenn sie lohnt
- Simulation mit Ns-2
- 318 Knoten
- Variation der Parameter
19Quantitative Analyse und Modell
20Symbolische Lokation
- Gegeben
- Regionsdefinitionen
- Positionskoordinaten
- Ziel
- Erstreckung der Regionen bekannt
- Vorgehen
- Randerkennung
- Lokale Aggregation von Randinformation
- Globale Regions-konstruktion in der Region
- Verteilung im Netz
21Bisherige Ergebnisse
- Randerkennung
- Lokale Aggregation von Randinformation
- Globale Regions-konstruktion in der Region
1600 Knoten, Merge Distance 0
22http//www.swarms.de