Eingebettete Betriebssysteme (2013)

Embedded OS

Prof. Dr. Andreas Polze

Projektbetreuung
Dr. Uwe Hentschel
Frank Feinbube, M.Sc.
Daniel Richter, M.Sc.

Im Wintersemester 2013/2014 findet eine Vorlesung zum Thema "Betriebssysteme for Embedded Computing" statt. Der Umfang der Lehrveranstaltung beträgt 4 SWS. In die Bewertung der Vorlesung  (6 benotete Leistungspunkte) geht die Note einer mündlichen Prüfung zu 100% ein. Eine erfolgreiche Teilnahme am Praktikum/Übung ist Prüfungsvorraussetzung. 

Die Verbreitung eingebetteter Systeme stieg in den letzten Jahren rasant. Bei der Softwareentwicklung für eingebettete Systeme treten Aspekte in den Vordergrund, die bei Desktopsystemen nur eine untergeordnete Rolle spielen. Diese Aspekte umfassen vorhersagbares zeitliches Verhalten (Echtzeit), die Verwaltung von knappen Ressourcen (Speicher, Netzwerk), verlässliche Kommunikationsprotokolle, Energieverwaltung, Entwurf von Nutzerschnittstellen (headless operation), Systemkonfiguration sowie Programmiersprachen und Modelle. In der Veranstaltung werden Entwurfsentscheidungen moderner eingebetteter Betriebssysteme an Hand von Bespielszenarien erläutern und ein Einblick in aktuelle Standardisierungsprozesse gegeben.

In der Vorlesung werden Algorithmen zur Verwaltung von Ressourcen wie Speicher, CPU, Netzwerk u.a. vorgestellt, an die durch viele Einschränkungen von eingebetteten Systemen besondere Anforderungen gestellt werden. Aber auch aufkommende Konzepte wie die Konfigurierbarkeit von Betriebssystemen und anwendungsspezifische Betriebssysteme werden vorgestellt.

Des Weiteren soll die Forschung am Lehrstuhl „Betriebssysteme und Middleware” im Projekt „Distributed Control Lab” als Fallstudie für den Einsatz von eingebetteten Betriebssystemen vergestellt werden. Die Steuerung des Experimente wird anhand verschiedener Lösungsstrategien und Verwendung unterschiedlicher Betriebssysteme erläutert und in Übungen und Praktika vertieft.

Ein Schwerpunkt der Praktika liegen in diesem Semester bei Betriebssystemen für eingebettete Systeme. Die Praktikumsaufgaben werden im Rahmen der Vorlesung erläutert und decken u.a. folgende Bereiche ab:

  • Verteilte Echtzeitsysteme - die Carrera D132 Autorennbahn
  • Echtzeitsteuerung - Hau den Lukas
  • Beckhoff-Industrieautomatisierung
  • App-Programmierung iOS, Android, Windows Phone
  • Firmware-Programmierung für Lego Mindstorms EV3

Termin:  

  • Mi, 11:00-12:30, HPI HS 3
  • Do, 13:30-15:00, HPI HS 3

Die abschließenden Vorträge zu den studentischen Projekten finden am 05.02. und 06.02. statt.

Ablauf - Vorlesungsunterlagen

Mi, 16.10. Überblick
Programmierung eingebetteter Systeme
Do, 17.10. Klausurtagung Forschungskolleg, keine Vorlesung
Mi, 23.10. Performance-Maße für eingebettete Echtzeitsysteme
Do, 24.10. Institutskolloquium: Intel, Non-Volatile Memory
Mi, 30.10. Das "Hau den Lukas"-Experiment
Das "Carrera"-Experiment
Das "LEGO Mindstorms EV3"-Experiment
Do, 31.10. Reformationstag - keine Vorlesung
Mi, 6.11. Computers as Components - eine Sicht auf Software-Hardware-CoDesign
Do, 7.11. DCC Model Train Case Study
Mi, 13.11. Vorhersage der Programmlaufzeit - Probleme
Do, 14.11. Diskussion studentischer Projekte
Mi, 20.11. Task Assignment & Scheduling
Do, 21.11. Beckhoff Industrieautomatisierung - Vortrag Dr. Andreas Rasche
Mi, 27.11. Implementing Applications for Embedded Systems
Do, 28.11. Rechnerarchitektur - ARM
Do, 5.12. Speicherverwaltung
Do, 12.12. Interrupt und Exceptions
Mi, 18.12. Uhrensynchronisation
Do, 19.12. Zwischenpräsentation studentischer Projekte
Mi, 08.01. Protokolle zur Echtzeitkommunikation
Do, 09.01. Feldbusse - CAN, ByteFlight
(Foliensatz von Prof. M. Werner, TU Chemnitz)
Feldbusse - Flexray
Mi, 15.01. Echtzeitprogrammierung mit Ada
Do, 16.01. Die Realtime Specification for Java (RTSJ)
Mi, 22.01. Realtime with Windows CE
Do, 23.01. Disputation, keine Vorlesung
Mi, 29.01. Realtime Linux Overview
Do, 30.01. The eCos operating system
Standards for Embbeded Operating Systems
 
Mi, 05.02. Endpräsentation studentischer Projekte (Gruppe 1-6)
Do, 06.02. Endpräsentation studentischer Projekte (Gruppe 7-11)

Projektarbeit - Gruppen & Themen

1 RT Linux auf Lego EV3 [Konzept] [Zwischenpräsentation] [Endpräsentation]
Eric Seckler, Patrick Rein, Toni Mattis, Johannes Henning
2 Mimicry for LEGO Robots [Konzept] [Zwischenpräsentation] [Endpräsentation]
Hubert Hesse, Christoph Matthies, Lukas Pirl, Kerstin Günther, Alexander Franke
3 Märklin Digital mit FPGA [Konzept] [Zwischenpräsentation] [Endpräsentation]
Franz Liedke, Cornelius Bock
4 Carrera Echtzeitsteuerung [Konzept] [Zwischenpräsentation] [Endpräsentation]
Robin Jörke, Martin Fritzsche, Angelo Haller, Max Bothe, Jan Koßmann
5 Embedded OS on a Atmel [Konzept] [Zwischenpräsentation] [Endpräsentation]
Patrick Lühne, Christoph Sterz, Marius Knaust
6 Mindstorm Realtime Webserver [Konzept] [Zwischenpräsentation] [Endpräsentation]
Nils Kenneweg, Alexander Teibrich, Sebastian Stamm, Jens Hildebrandt, Maria Graber
7 Carrera Autopilot [Konzept] [Zwischenpräsentation] [Endpräsentation]
Daniel Roeder, Johannes Eschrig, Christian Würz, Claus Steuer, Daniel Gimbatschki, Jan Ole Vollmer
8 Beckhoff Intelligentes Haus [Konzept] [Zwischenpräsentation] [Endpräsentation]
Jan-Peer Rudolph, Jannik Marten, Michael Hopstock
9 Märklin Güterbahnhof-Steuerung [Konzept] [Zwischenpräsentation] [Endpräsentation]
Kai Fabian, Manuel Hegner, Tobias Rohloff, Daniel Stelter-Gliese, Christian Zöllner
10 Beckhoff Automation - TwinCAT [Konzept] [Zwischenpräsentation] [Endpräsentation]
Dominic Petrick, Marcel Pursche, Hannes Würfel, Julian Neuhaus, Matthias Bastian
11 Simple Real-Time Operating Sytem for Mindstorms EV3 [Konzept] [Zwischenpräsentation] [Endpräsentation] [GitHub-Repository]
Andreas Grapentin, Dimitri Korsch, Nicco Kunzmann, Kirstin Heidler, Rakesh Kumar Sah

Leistungserfassung

Die Endnote wird in einer abschließenden mündlichen Prüfung ermittelt. Voraussetzung für die Zulassung zur Prüfung ist die regelmäßige Lösung der Aufgaben im Praktikum und der Übung.

Als Zeitraum für die Prüfungen wird die Woche vom 17.02.2014 bis 21.02.2014 angestrebt. Die mündlichen Prüfungen finden jeweils in Zweiergruppen statt, wobei die beiden zu Prüfenden nicht aus der gleichen Projektgruppe stammen dürfen. Einschreibelisten für konkrete Prüfungstermine liegen bei Sabine Wagner (C-1.8) aus.