BIN422: Echtzeitsysteme
Wahlpflicht-Module
BIN422: Echtzeitsysteme
Prof. Dr. Jürgen Quade
- Prof. Dr. Jürgen Quade
- Prof. Dr. Benedikt Janßen
Bachelor Informatik
Informatik
Deutsch
Wintersemester
1 Semester
5 ECTS
Deutsche Notenskala 1-5
2 V | 1 Ü | 1 P | - S
Real-Time Systems
- BIN005: Systemsoftware: Prozesse, Threads, Speicher, I/O, Betriebssystem-Schnittstellen.
- BIN421: Hardwarenahe Systementwicklung: hardwarenahe Schnittstellen, Sensorik, Aktorik.
- Programmierung in C.
WAS
Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, eine vernetzte Echtzeitsystemlösung für einen physikalischen Prozess mit nachweisbarem Zeitverhalten und kontrollierter Fehlerreaktion zu entwickeln.
WOMIT
Die Studierenden erreichen dieses Lernergebnis, indem sie
- funktionale, zeitliche und sicherheitsbezogene Anforderungen mit Zustands-, Task-, Kommunikations- und Zeitmodellen beschreiben,
- Echtzeitarchitekturen unter Berücksichtigung von Anwendung, Betriebssystemkern, Prozessen, Threads und Interrupts entwerfen,
- nebenläufige Echtzeitsoftware mit Betriebssystem-APIs, Synchronisation, Interprozesskommunikation und Zeitgebern implementieren,
- Verfahren zur Vermeidung unkontrollierter Seitenfehler durch Speichervorbelegung und -sperrung anwenden,
- Schedulingverfahren, Ressourcenkonflikte, Prioritätsinversion und deadlinebezogene Fragestellungen analysieren,
- lokale und verteilte Zeitquellen anhand von Offset, Drift, Jitter und Synchronisationsfehlern bewerten,
- Zeitverhalten und Ressourcenverbrauch durch Logging, Tracing und reproduzierbare Messungen diagnostizieren.
WOZU
Die Studierenden nutzen diese Kompetenzen, um softwareintensive Systeme zuverlässig mit zeitkritischen Vorgängen der physischen Welt zu koppeln. Sie können Echtzeitverhalten experimentell nachweisen und Fehlerreaktionen so gestalten, dass physikalische Prozesse kontrolliert bleiben.
- Harte und weiche Echtzeitanforderungen, Perioden, Deadlines, Latenz, Jitter und Zykluszeiten
- Zustandsautomaten, Tasks, Kommunikation, Zeitbedingungen und sichere Zustände
- Anwendungs-/Kernel-Grenze, Prozesse, Threads, Interrupt-Verarbeitung und Multicore-Zuordnung
- Synchronisation, kritische Abschnitte, Interprozesskommunikation, Deadlocks, Race Conditions und Prioritätsinversion
- Schedulingmodelle, Response-Time- und Auslastungsanalysen ohne formale Verifikation
- Schedulingklassen, CPU-Affinität, Zeitgeber, Memory Prefaulting und Speichersperrung
- Monotone und zivile Uhren, Zeitstempel, Offset, Drift und Ereignisordnung
- NTP und PTP als exemplarische Synchronisationsverfahren
- Logging, Tracing, Latenz- und Jittermessung
- Watchdogs, Timeouts, Plausibilitätsprüfungen, Fail-safe-Zustände und Fehlerinjektion
- Entwicklung und experimentelle Bewertung eines vernetzten Echtzeitsystems
Testat im Rahmen der Übung.
Studien- oder Projektarbeit. Das Prüfungskonzept ist als Projektarbeit in Gruppen mit individuellem Fachgespräch ausgestaltet. Gegenstand ist ein lauffähiges Softwareartefakt mit technischer Dokumentation; das Fachgespräch überprüft persönliches Systemverständnis und Entwurfsentscheidungen.
- Jürgen Quade, Michael Mächtel: Moderne Realzeitsysteme kompakt. Eine Einführung mit Embedded Linux. dpunkt.verlag, 2012.
- Jane W. S. Liu: Real-Time Systems. Prentice Hall, 2000.
- Giorgio C. Buttazzo: Hard Real-Time Computing Systems. 3. Auflage, Springer, 2011.
- Hermann Kopetz: Real-Time Systems: Design Principles for Distributed Embedded Applications. 2. Auflage, Springer, 2011.