Kurs Verteilte Sensornetzwerke

Angaben

Wann: Wintersemester
VAK FB 3 Informatik 03-IMVP-VSD
Zeit Montag: 16:00 - 18:00
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
Wiki - - Interaktiver DokuWiki - Diskussionsplattform
Video - 21.04.20 Einführung in den Wiki
- dsn2k0.html dsn2k0.pdf 17.10.22 Modul 0: Überblick
Video - 22.10.21 Einführung in die digitalen Übungs- und Laborformate
Video - 22.10.21 Einführung in die Lua Programmiersprache
Video A Play A Video B Play B - 10.11.21 Einführung in NoteBook-2 Aufgaben
Video dsn2kA.html dsn2kA.pdf 24.10.22 Modul A: Grundlagen und Anwendungen von verteilten Sensornetzwerken
Video dsn2kB.html dsn2kB.pdf 07.11.22 Modul B: Modellierung von Sensornetzwerken (Teil 1)
Video dsn2kC.html dsn2kC.pdf 14.11.22 Modul C: Modellierung von Sensornetzwerken (Teil 2)
Video dsn2kD.html dsn2kD.pdf 21.11.22 Modul D: Modellierung von Sensornetzwerken (Teil 3)
Video dsn2kE.html dsn2kE.pdf 27.11.22 Modul E: Das Semantisch Organisierte Sensornetzwerk und Gruppenkommunikation
- - 05.12.22 Praktische Übung Gruppenkommunikation mit Lua (Teil 1)
demo-route-secure.lua - 12.12.22 Praktische Übung Gruppenkommunikation mit Lua (Teil 2)
demo-bully-leader1.lua demo-cosync.lua demo-cosync1.lua demo-cosync2.lua - 19.12.22 Praktische Übung Gruppenkommunikation und Synchronisation mit Lua (Teil 3)
- dsn2kS.html dsn2kS.pdf 19.12.22 Modul S: Synchronisation
- dsn2kF.html dsn2kF.pdf 09.01.23 Modul F: Algorithmen in DSN (Teil 1)
- dsn2kG1.html dsn2kG1.pdf 16.01.23 Modul G1: Sensoren (Teil 1)
- dsn2kG2.html dsn2kG2.pdf 23.01.23 Modul G2: Sensoren (Teil 2)
- dsn2kH.html dsn2kH.pdf 31.01.23 Modul H: Verteilte Programmierung von Sensornetzwerken
- dsn2kI.html dsn2kI.pdf 31.01.23 Modul I: Gruppenkommunikation in Sensornetzwerken
- dsn2kJ.html dsn2kJ.pdf 31.01.23 Modul J: Sensorfusion
- dsn2kOS.html dsn2kOS.pdf demo-group-rpc.lua 06.04.23 Modul OS: LuaOS
- dsn2kOS.html dsn2kOS.pdf demo-group-rpc.lua demo-sensornet.lua i2c-usb.lua 06.04.23 Labor Sensornetzwerke

i2c-usb.lua

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 15.4.2021 - Lua Tutorial
lessonComNet1.html 13.11.2022 14.11.2022 Übung 1 - Kennzahlen von Kommunikationsnetzwerken
lessonNetSimu1.json 16.11.2021 28.11.2022 Übung 2 - Mobile Kommunikation und Interferenz mit dem Lua 2D Event Simulator (benötigt notebook.lua.simu2.html)

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
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)
luaweb.html 1.11.1 05.04.2023 LuaOS WEB IDE(+) mit paralleler VMJS`
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
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
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)