BET303: Echtzeitsysteme (mit Praktikum)

Lernpfad Embedded Systems

BET303: Echtzeitsysteme (mit Praktikum)

Kurzporträt BET303: Echtzeitsysteme (mit Praktikum)
Worum geht es? In diesem Modul geht es um Systeme, bei denen richtige Ergebnisse nur dann zählen, wenn sie rechtzeitig vorliegen. Studierende analysieren Zeitbedingungen wie Periodizität, Deadlines und Jitter und entwerfen geeignete Echtzeitarchitekturen. Im Praktikum untersuchen Studierende Scheduling, Synchronisation, Laufzeiten, Latenzen und formale Echtzeitnachweise.
Wofür braucht man es? Diese Kompetenzen werden benötigt, um zuverlässige zeitkritische eingebettete Systeme zu entwickeln. Die Kompetenzen helfen dabei, technische Lösungen für Anwendungen mit harten Echtzeitanforderungen planbar und nachweisbar umzusetzen.
Wieso ist es interessant? In vielen technischen Systemen kann eine verspätete Reaktion genauso problematisch sein wie eine falsche Reaktion. Das Modul zeigt, wie man Zeitverhalten nicht dem Zufall überlässt, sondern systematisch entwirft und überprüft.
Modulverantwortung

Prof. Dr. Jürgen Quade

Lehrperson(en)

Prof. Dr. Jürgen Quade

Verwendbarkeit
  • Bachelor Elektrotechnik
  • Bachelor Mechatronik und Robotik
Fächergruppe

Ingenieurwissenschaften

Modultyp
Pflicht
Sprache

Deutsch

Angebot

Wintersemester

Dauer

1 Semester

Credits

5 ECTS

Benotung

Deutsche Notenskala 1-5

SWS

2 V | 1 Ü | 1 P | - S

Workload
Präsenzstudium: 45 Std. Selbststudium: 90 Std.
Engl. Titel

Real-Time Systems

Empfohlene Voraussetzungen
  • BB008: Informatik für Ingenieurwissenschaften: Programmiergrundlagen, Algorithmen und strukturierte Umsetzung technischer Abläufe.
  • BET301: Mikrocontroller-Programmierung: hardwarenahe Softwareentwicklung, Peripherienutzung, Debugging und Test eingebetteter Funktionen.
Lernergebnisse / Kompetenzen
WAS

Die Studierenden können ein gegebenes Realzeitproblem analysieren und eine geeignete Echtzeitarchitektur entwerfen, die unter Berücksichtigung von Worst-Case-Szenarien ihre Zeitbedingungen einhält.

WOMIT

Die Studierenden erreichen dieses Lernergebnis, indem sie

  • die Realzeitanforderungen eines gegebenen Systems hinsichtlich Periodizität, Deadline und Jitter analysieren,
  • eine Multithreaded-Applikation als Taskgebilde auf Basis eines Realzeitbetriebssystems wie FreeRTOS oder Linux modellieren und deren zeitliches Verhalten charakterisieren,
  • geeignete Technologien, beispielsweise Scheduling-Verfahren wie prioritätsgesteuertes Scheduling oder EDF, für die jeweilige Anwendung auswählen und konfigurieren,
  • Synchronisationsmechanismen wie Semaphore und Mutexe implementieren und dabei potenzielle Probleme wie Prioritätsinversion berücksichtigen,
  • Laufzeiten, Latenzen und Jitter durch Zeitmessungen erfassen,
  • einen formalen Realzeitnachweis, zum Beispiel durch eine Response Time Analysis, durchführen
WOZU

um in der Lage zu sein, zuverlässige und zeitkritische eingebettete Systeme zu entwickeln, die den Anforderungen von Anwendungen mit harten Echtzeitanforderungen gerecht werden.

Inhalte
  • Zeitliche Charakterisierung von Anforderungen und Taskgebilde
  • Orts- und Raumabhängigkeit der Zeit
  • Messung und Bewertung von Zeitverhalten
  • Realzeitbetriebssysteme
  • Realzeitarchitekturen (Threaded-Interrupts, Multi-Core,
  • Multi-Kernel)
  • Synchronisation und Nebenläufigkeit, insbesondere
  • Prioritätsinversion
  • Realzeitprogrammierung (z.B. Stack- und Heap-Prefault)
  • Realzeitnachweis
Prüfungsvorleistung

aktive Praktikumsteilnahme

Prüfungsleistung

Klausur, 90 Minuten

Literatur
  • Jürgen Quade: Moderne Realzeitsysteme kompakt. dpunkt.verlag, 2012.