PD Stefan Bosse - MISS - Modul 0: Überblick

Materialintegrierte Sensorische Systeme

Mit Labor @home

PD Stefan Bosse

Universität Bremen - FB Mathematik und Informatik

1 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Überblick

2 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Sensorische Materialien

Sensorischen Materialien sind charakterisiert durch eine starke Kopplung von Sensorik, Datenverarbeitung, und Kommunikation und bestehen aus einem Trägerwerkstoff, der u. U. eine mechanisch tragende Struktur darstellen kann, und aus eingebetteten Sensornetzwerken, die neben Sensoren auch Elektronik für die Sensorsignalverarbeitung, Datenverarbeitung, Kommunikation, und Kommunikations- und Energieversorgungsnetzwerke integrieren.

3 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Inhalte in diesem Kurs

4 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Begleitet von Übungen um obige Techniken konkret anzuwenden

Vorlesung
1 SWS mit Grundlagen und Live Programming
→ Synchroner Livestream + Chat
→ Tutorial Videos
Seminar
1 SWS mit Vorträgen zu ausgewählten Themen des Kurses durch Studenten
Übung
1 SWS mit Programmierung und angewandter Vertiefung → LuaOS und LuaOS WEB mit Online Hilfe Funktion und Einreichungssystem
Voraussetzungen
Grundlegende Programmierfähigkeiten, Grundkenntnisse in Rechnerarchitektur und Netzwerken
5 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Zielgruppen des Kurses

  • Systemingenieure (Systems Engineering)
  • Materialwissenschaftler
  • Produktionstechniker und Logistiker
  • Elektrotechniker
  • Informatiker, Wirtschaftsinformatiker

tiridifilm/istockphoto.com

6 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Ziele/Kompetenzen

Die Studenten erwerben/gewinnen/lernen

  1. Die Studenten sollen ein Grundverständnis von materialintegrierten intelligenten und sensorischen Systemen erwerben um wesentliche Fragestellungen beim Entwurf und der Nutzung dieser smarten Materialien beantworten zu können
  2. Praktisch sollen Kenntnisse und Programmierfertigkeiten von verteilen Sensornetzwerken mit einem Laborprototyp erworben werden
  3. Es soll interdisziplinäres Arbeiten und Forschen erlernt werden
  4. Verständnis und Anwendung von Sensoren, Technologien, Elektronik, Messtechnik, Signalverarbeitung, Datenverarbeitung, Netzwerken, und Materialintegration in einem ganzheitlichen Ansatz
  5. Zentrale Fragen der Materialintegration bezüglich Möglichkeiten und Randbedingungen sollen beantwortet werden können.
7 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Materialien

  1. Die Vorlesungsinhalte (Skript, Folien) werden auf http://edu-9.de unter der Rubrik Lehre zusammengestellt und angeboten. Achtung: Kürzel miss3k beachten!

  2. Weitere Materialien (Tutorials, Übungen, Software) werden ebenfalls auf http://edu-9.de bereitgestellt

  3. Die Videos sind über http://edu-9.de verfügbar (Video Stream Server)

  4. Interaktion der Teilnehmer findet über einen Wiki statt! (dokuwiki). Dieser ist über http://ag-0.de erreichbar und in den jeweiligen Veranstaltungsseiten auf http://edu-9.de verlinkt.

8 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Materialien

  1. Es wird noch einen online Chat geben.

  2. Alle weiteren Hinweise und Einführungen (z.B. in Software) nur noch auf dem Wiki!!!

9 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Leistungen

Folgende Möglichkeiten einer Prüfungsleistung stehen zur Auswahl:

  1. Mündliche Prüfung

  2. Seminarvortrag

  3. Schriftliche Ausarbeitung zu einer Fragestellung zu dem Thema (Review/Survey)

  4. Die Bearbeitung einer experimentellen Arbeit (Lua) mit kleiner schriftlicher Arbeit (Dokumentation)

10 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Literatur

Vorlesungsskript und Folien
Die Inhalte der Vorlesung werden sukzessive bereitgestellt, das Vorlesungsskript steht im HTML und ebook Format zur Verfügung!
Material-Integrated Intelligent Systems: Technology and Applications
Stefan Bosse, Dirk Lehmhus, Walter Lang, Matthias Busse (Herausgeber), Wiley 2018, ISBN 9783527336067
11 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Literatur

Sensornetzwerke in Theorie und Praxis
Ansgar Meroth, Petre Sora, Springer 2018, ISBN 9783658183868

Distributed Sensor Networks
S. S. Iyengar and R. R. Brooks, CRC Press, 2005


12 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Literatur

Sensor Technologies - Healthcare, Wellness, and Environmental Applications
Michael J. McGrath, Cliodhna Ní Scanaill, Apress Open, 2014

Lua Scripting Language
Tutorial Points, K. K. Panigrahi, 2016.




13 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Software

lvm

edu-9.de

  • LuaJit VM mit Multithreading
  • Ausführung von der Kommandozeile
  • Wird auch für Live Programming und mit Digitalen Notebooks genutzt
  • Einsatz auf verschiedenen Hostplattformen : PC, Smartphone, Raspberry Pi, Server, ..
  • Einsatz auf Betriebssystemen: Windows, Linux, Solaris, MacOS, Android
> lvm parfib.lua
Thread [fe5af458:4] released
Thread [fe5afa00:5] released
{
1 = 9227465,
2 = 24157817,
3 = 63245986,
4 = 165580141,
5 = 14930352,
6 = 39088169,
7 = 102334155,
8 = 267914296,
}
686478381
Time 6235 ms
Ausführung Kommandozeile
14 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Konzept

15 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Virtuelle Maschinen

  • Die Verwendung von virtuellen Maschinen nimmt in der Datenverarbeitung immer mehr zu (Skriptverarbeitung und Abstraktion)
  • Ein Schwerpunkt liegt in der Verteilung und Parallelisierung vonm Datenverarbeitung in und mit virtuellen Maschinen
  • Vor allem kommunizierende Systeme sollen betrachtet werden!

local R = rpc:new()
local ips = {
"192.168.8.141",
"192.168.8.142",
"192.168.8.143",
}
local sensors={}
for i=1,5 do
local err,reply=R:trans(ips[i],12345,{cmd="get"})
if (err==nil) then
sensors[i]=reply.sensor
end
end
16 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Virtuelle Maschinen und Interpreter

Interpreter Zyklus: Editieren → Übersetzen → Ausführen

17 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Just-in-Time Compiler

Interpreter können im wesentlichen auf drei Arten (Architekturklassen) implementiert werden:

  1. Direkte Ausführung des Quelltextes (die Nutzereingabe und bereits geschriebene Skripte) (ParseExecute)

  2. Virtuelle Maschine und Übersetzung des Quelltextes in eine Zwischenrepräsentation die von einer virtuellen Maschine ausgeführt werden kann → Bytecode

  3. Virtuelle Maschine mit Bytecode Übersetzung, Ausführung des Bytecodes, und ausgewählter Übersetzung des Bytecodes in nativen Maschinencode → JIT Compiler!

18 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Virtuelle Maschine: Virtualisierung ≡ Abstraktion und Automatisches Speichermanagement

Beispiele

  • BASIC: Klasse 1
  • Python: Klasse 2 (Bytecode)
  • JavaScript: Klasse 2 (Spidermonkey, WEB Browser) und Klasse 3 (Google Chrome/V8, nodejs)
  • OCaML: Klasse 2 (und native Codeerzeugung mit Compiler)
  • Lua: Klasse 2 (Lua) und Klasse 3 (LuaJit/lvm)

Parallelisierung der Datenverarbeitung von VM schwierig, Verteilung hingegen ist prinzipiell moglich.

19 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Abstraktion

Was kann durch eine VM abstrahiert oder virtualisert werden?

  • Speicher×
  • Prozessor×
  • Kommunikation×
  • Betriebssystem×
  • Hardware×
  • Sensor×
  • Energie×
  • No search results.

Welche Betriebssysteme werden verwendet?

  • MS Windows×
  • MSWIN10×
  • MacOSX×
  • Android×
  • iOS×
  • Raspbian/Debian×
  • Arch OS×
  • Solaris/SunOS×
  • FreeBSD×
  • No search results.
20 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Programmiersprachen

Welche Programmiersprachen werden häufig verwendet?

Welche parallelen Programmiersprachen sind bekannt?

  • Go×
  • Erlang×
  • Rust×
  • OCCAM×
  • No search results.
21 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Parallele und Verteilte Programmierung mit Lua

  • In diesem Kurs soll die Programmierung mit der Skriptsprache Lua erfolgen und mit der virtuellen Maschine lvm ausgeführt werden;

  • Der Lua Quelltext wird durch einen Übersetzer in Bytecode übersetzt der von lvm direkt ausgeführt wird.

    • Besonderheit: Der Bytecode wird direkt während des Parservorgangs erzeugt (kein AST-IR)
  • Die LuaJit VM (lvm) unterstützt parallele sowie netzwerkbasierte Datenverarbeitung und das Konzept der Prozessblockierung

    • Prozesse
    • Threads
    • Coroutinen (Fibers)
22 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

  • Kontrollpfadparallelität benötigt i.A. Kommunikation und das Konzept der Blockierung!

  • Formales Ausführungsmodell: Communicating Sequential Processes (CSP)

  • Programmfluß = Kontrollfluß + Datenfluß

  • Parallele und Verteilte Datenverarbeitung: Übergang vom Shared Memory (SM) zum Distributed (Shared) Memory (DSM) Modell!

Zentral ist in diesem Kurs nachrichtenbasierte Kommunikation und verteilte Sensordatenverarbeitung!

23 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Verteilte Programmierung mit Lua

24 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Verteilte Programmierung mit LuaOS und LuaWEB

25 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Labor

  • Das Labor soll den praktischen Einstieg in verteilte Sensornetzwerke bieten und findet @home statt!

    • Sensorknoten können Notebooks, Smartphones, und eingebettete Rechner (Raspberry) sein!
    • Die Sensorknoten werden über das Internet vernetzt
    • Die Sensoren werden über Schnittstellen angeschlossen (I2C)
  • Programmierung mit Lua und LVM + LuaOS

26 / 27

PD Stefan Bosse - MISS - Modul 0: Überblick

Labor

Vernetzung von Rechnern über lvm/LuaOS und Aufbau eines verteilten Sensornetzwerkes

27 / 27