Kurs Verteilte Sensornetzwerke

Angaben

Wann: Wintersemester
VAK FB 3 Informatik 03-IMVP-VSD
Zeit Montag: 16:00 - 18:00
Ort MZH 5500
Format Präsenz synchron und asynchron mit Videos und interaktiven Übungen @home
Umfang: 3 SWS
ECTS: 6 CP

Dozent

PD Dr. Stefan Bosse, Univ. Bremen, FB Mathematik und Informatik

Studiengänge

Informatik

Inhalte

  1. Einführung des Sensormodells als Datenquelle
  2. Erweiterung des Sensormodells auf Sensornetzwerke, IoT, Edge- und Cloud Computing
  3. Virtualiserung und Netzwerke aus Virtuellen Maschinen (VM)
  4. Kommunikation und Datenaggregation in Sensornetzwerken
  5. Architekturen und Topologien von Sensornetzwerken, Simulation von Netzwerken mit zellulären Automaten
  6. Algorithmen und Architekturen der Datenaggregation und Datenfusion
  7. Parallel zu 1-7: Programmierung eines verteilten Sensornetzwerks mit Smartphones, Notebooks, und dem Rapsberry Pi, und der Lua Programmiersprache
  8. Formale Grundlagen von verteilten Systemen; Metriken; Effizienz; Skalierung

Medien

Medium Folien Datum Description
- dsn2k0.html dsn2k0.pdf 16.10.23 Modul 0: Überblick
- dsn2kA.html dsn2kA.pdf 23.10.23 Modul A: Grundlagen und Anwendungen von verteilten Sensornetzwerken
- dsn2kSHM.pdf 06.11.23 Modul SHM: Ereignisbasierte Verteilte Zustandsüberwachung und Schadenserkennung in großskaligen und komplexen Konstruktionen mit hybrider Multisensorfusion
- dsn2kB.html dsn2kB.pdf 13.11.23 Modul B: Modellierung von Sensornetzwerken (Teil 1)
- dsn2kC.html dsn2kC.pdf 20.11.23 Modul C: Modellierung von Sensornetzwerken (Teil 2)
- dsn2kD.html dsn2kD.pdf 27.11.23 Modul D: Kommunikationstechnologien und Protokolle im IoT
- - 04.12.23 Praktische Übung Uhrensynchronisation mit LuaOs
- dsn2kF.html dsn2kF.pdf 11.12.23 Modul F: Algorithmen in DSN (Teil 1)
- dsn2kI.html dsn2kI.pdf 08.01.24 Modul I: Gruppenkommunikation (Teil 1)
- dsn2kI.html dsn2kI.pdf 15.01.24 Modul I: Gruppenkommunikation (Teil 2)
- dsn2kOS.html dsn2kOS.pdf 22.01.24 Modul OS: LuaOS und Gruppenkommunikation
networkLuaCLust9.json vnetoslua.html 29.01.24 Modul VNETOS (es wird luaweb.html benötigt)

Optionale Medien

Medium Folien Datum Description
Video - 22.10.21 Einführung in die digitalen Übungs- und Laborformate
Video - 22.10.21 Einführung in die Lua Programmiersprache

Materialien

File Version Description
dsn2k.epub Online 20.12.2022 Vorlesungsskript (E-Book, fortlaufend)
lua_tutorial.pdf 2015 Lua Tutorial

Aufgaben und Tutorials

Die Einführungsvideos beachten (siehe oben)! Wenn eine Übungsdatei mit json endet dann muss diese in das entsprechende leere Notebook-2 (notebook.XX.html) geladen werden!


File Version Abgabe Description
luaTutotial.html 23.10.2023 - Übung 1: Lua Tutorial (Update)
lessonLuaNetSimu2.html 29.11.2023 06.12.2023 Übung 2: Lua Mobile Netzwerke Simulation
lessonComNet1.html 11.12.2023 07.01.2024 Übung 3: Metriken von Netzwerkgraphen
lessonWEBMon1.html 23.01.2024 24.01.2024 Übung 4: Sensor Aggregation in Netzwerken und Applikation (1) !!! Aktuelles luaos herunterladen (s.u.) !!!
networkLuaCLust9.json 31.01.2024 31.02.2024 Übung 5: Routing in Maschengitternetzwerken mit VNETOS (aktuelles vnetoslua.html wird benötigt)

Software

Hinweis: Unter Linux müssen heruntergeladene Programme ausführbar gemacht werden: chmod a+x lvm

Es wird empfohlen nodejs Version 8 oder höher zu verwenden


File Version Description
luaweb.html 1.11.2 05.10.2023 LuaOS WEB IDE(+) mit paralleler VMJS`
vnetoslua.html 1.3.3-4 29.01.2024 VNETOS LuaOS WEB IDE(+) mit paralleler VMJS`
vnetos 29.01.2024 VNETOS Shell mit paralleler luaOS VMJS`
wex 1.8.1 WEX local File Server (requires nodejs) !Security Update!
node wex
lvm LVM 1.1.10 LuaJIT+ 2.0.5X2.3 Lua 5.1X2.1 LUV 2.7.3 -- Build Nov 11 2022 Parallel LuaJit VM, Linux x86 32bit
lvm libaux LVM 1.1.10 LuaJIT+ 2.0.5X2.3 Lua 5.1X2.1 LUV 2.7.3 -- Build Nov 14 2022 Parallel LuaJit VM, Linux x64 64bit
lvm LVM 1.1.12 LuaJIT+ 2.0.5X2.3 Lua 5.1X2.1 LUV 2.7.3 -- Build Dec 19 2022 Parallel LuaJit VM, Solaris x86 32bit
lvm.exe LVM 1.1.12 LuaJIT+ 2.0.5X2.3 Lua 5.1X2.1 LUV 2.7.3 -- Build Dec 19 2022 Parallel LuaJit VM, Windows 32bit
lvm LVM 1.1.10 LuaJIT+ 2.0.5X2.3 Lua 5.1X2.1 LUV 2.7.3 -- Build Nov 14 2022 Parallel LuaJit VM, Mac OSX (≥10.8) 64bit
lvm LVM 1.1.12 LuaJIT+ 2.0.5X2.3 Lua 5.1X2.1 LUV 2.7.3 -- Build Dec 19 2022 Parallel LuaJit VM, Linux Armv6l 32bit
luawork-lin64.zip - LuaWEB IDE NW App, Linux 64bit
luawork-win32.zip - LuaWEB IDE NW App, Windows 32bit
luawork-osx64.zip - LuaWEB IDE NW App, MacOSX 64bit
luaweb.nw 1.11.1 05.04.2023 LuaWEB IDE NW App, Generic (Updates)
luaos 1.6.6-OS-1.4.3 24.12.2023 LuaOS WEB Service
lvm luaos
node8.exe 8.12.0 nodejs (MS Windows x86/32bit)
node 8.12.0 nodejs (Linux x86/32bit)
notebook.lua.html 1.3.2 12.11.2021 Lua NoteBook-2 (leer)
notebook.lua.peer.html 1.3.3 15.11.2021 Lua+PeerJS NoteBook-2 (leer)
notebook.lua.simu2.html 1.3.3 16.11.2021 Lua+PeerJS NoteBook-2 (leer)
node8.exe 8.12.0 nodejs (MS Windows x86/32bit)
wex 1.8.1 WEX local File Server (requires nodejs) !Security Update!
node wex
weblvm.lua 1.1.8 WEB Server for lvm
lvm weblvm.lua
shelllvm.html 1.1.7 WEB Shell for lvm (requires weblvm.lua)
shelllua.html 1.1.7 WEB Shell for Lua 5.3 (requires lua.plugin)
luaos 1.5.5-OS-1.4.2 05.04.2023 LuaOS WEB Service
lvm luaos
luaos.out 1.4.2 05.04.2023 LuaOS Library
lvm luaos.out script
lua.plugin 1.1.1 WEB Lua 5.3 VM+ plugin
luaosrouter 05.12.2022 LuaOS Router Gateway
lvm luarouter
simu2.plugin 16.11.2021 Simulator-2 Plugin
service.lua 10.12.2021 LuaOS Router Gateway
android-luaos-debug.apk 10.12.2021 LuaOS Adnroid App (test snapshot)
epub-viewer 1.1.3 EPUB Viewer (Java, nur Unix/Linux, epub-viewer EPUB)
epublib-tools-viewer-latest.jar 1.1.3 EPUB Viewer (Java, java -jar XXX EPUB)
Calibre 3.X-5.X EPUB Verwaltung und Reader (ebook-reader)

Ziele/Kompetenzen

Die Studenten erwerben/gewinnen/lernen

  1. Verständnis der Grundprinzipien und Architekturen verteilter Sensornetzwerken und Fähigkeit zum Transfer auf technische Systeme, vor allem mit Fokus auf VMs
  2. Verständnis und Fähigkeit der Programmierung mit Synchronisation und Kommunikation einfachser Sensorapplikationen
  3. Verständnis der Probleme und dem Betrieb von verteilten Systemen im Vergleich klassischen Serversysteme (Effizienz, Blockierung, Skalierung, Ressourcenbedarf)
  4. Praktische Kenntnisse der Programmierung und Programmierübungen mit Lua und der PLVM
  5. Erkenntnisse von Grenzen und Möglichkeiten der Verteilung und die Fähigkeit effiziente Systeme zu entwickeln
  6. Studenten sind am Ende des Kurses in der Lage mit Lua einfache verteilte Senorapplikation z.B. mit Smartphones zu programmieren und zu analysieren.

Übungen

  1. Digitale und interaktive Übungen mit Online-Hilfe (oder in Präsenzunterricht integriert in Vorlesungsteile)
  2. Verteilte Experimente @home mit Vernetzung und Clusterbildung der studentischen Rechnern, Smartphones, und eingebetteten Rechnern (Raspberry PI + Sensoren als @home Kit)