Echtzeitsysteme
Der Begriff Echtzeit ist einer der am meisten strapazierten Begriffe der Informatik und wird in den verschiedensten Zusammenhängen benutzt: Echtzeitstrategiespiel, Videobearbeitung in Echtzeit, Echtzeitsteuerung, Echtzeitkommunikation, und viele mehr.
Tatsächlich zeichnen sich Echtzeitsysteme nicht durch ihre Geschwindigkeit, sondern durch ihre Kopplung an die (echte) Realzeit aus. Ihr Ziel ist die rechtzeitige Bereitstellung von Funktionen und Ergebnissen, wie das nebenstehende Beispiel eines Airbags sehr anschaulich zeigt.
- 22.05.2024:
Am Dienstag, den 28.05.2024, wird im Übungstermin eine weitere Vorlesung anstatt der nächsten Übung vorgetragen. Termin und Ort des Übungsslots bleiben unverändert.
- 15.05.2024:
Am sog. Bergdienstag, den 21.05.2024, finden weder Vorlesung noch Übungen statt. Die Rechnerübung am Mittwoch, den 22.05.2024, findet regulär statt.
- 10.04.2024:
Die Veranstaltung beginnt mit der Vorlesung am Dienstag, den 16.04.2024. Der Übungsbetrieb beginnt mit der Tafelübung anschließend an die Vorlesung am Dienstag, den 16.04.2024.
- 10.04.2024: Die Anmeldung ist geschlossen. Alle Teilnehmenden und Wartenden wurden benachrichtigt.
- 07.03.2024: Aufgrund der (durch die benötigte Hardware) limitierten Teilnehmerzahl ist für die Veranstaltung eine Anmeldung via StudOn zwingend erforderlich. Diese ist ab sofort bis zum 10.04.2024, 00:00 geöffnet. Bitte schreibt uns auch ein kurzes Motivationsschreiben (in das StudOn-Anmeldeformular), warum ihr gerne EZS hören möchtet.
- 21.02.2024: Im kommenden Sommersemester 2024 wird die Lehrveranstaltung Echtzeitsysteme wieder stattfinden - dieses Mal mit einem besonderen Fokus auf energiegewahre Systeme.
Inhalt der Vorlesung
Durch die Kopplung an die Realzeit, sind Echtzeitsysteme per Definition in die (reale) Umwelt eingebettet. Hier dienen sie typischerweise der Steuerung und Regelung von physikalischen Prozessen, wie beispielsweise dem Airbag eines Fahrzeugs. Die Entwicklung eines Echtzeitsystems schliesst typischerweise Experten aus verschiedenen Bereichen mit ein. Die Veranstaltung nähert sich der Thematik zwar aus der Sicht der Informatik, ist jedoch grundsätzlich interdisziplinär ausgelegt und richtet sich sowohl an Studierende der Informatik als auch an diejenigen anderer Studiengänge mit einem anwendungsorientierten Bezug wie beispielsweise Mechatronik, Elektrotechnik, I&K, CE, Maschinenbau und Medizintechnik (→ Voraussetzungen). Entsprechend weit spannt sich auch das Themengebiet Echtzeitsysteme auf. Abhängig von der Betrachtungsebene spricht man allgemein von eingebetteten Systemen oder, um den regelungstechnischen Anteil hervorzuheben, von Cyber-Physical Systems. Die Veranstaltung Echtzeitsysteme nimmt hierbei den Standpunkt der Systemsoftware (Echtzeitbetriebssystem) ein und erlaubt dadurch einen querschneidenden Einblick in die gesamte Welt der Echtzeitsystementwicklung. Die Vorlesung vermittelt dabei die notwendigen Grundkenntnisse, Techniken und Mechanismen für die Entwicklung von Echtzeit(betriebs)systemen und schafft damit eine gemeinsame Grundlage für alle Beteiligten. Ziel der Veranstaltung ist neben einem fundierten theoretischen Überblick auch die tiefgehende Vermittlung von praktischem Wissen und Fähigkeiten, welches als Basis für eine erfolgreiche industrielle bzw. wissenschaftliche Anwendung dienen können. Eine Übersicht über die Themen der Vorlesung findet sich hier beziehungsweise in der Modulbeschreibung (zu finden im Campo).Inhalt der Übungen
In den begleitenden Übungen werden die in der Vorlesung vorgestellten Techniken bei der Entwicklung eines Echtzeitsystems praktisch umgesetzt. Hierfür setzen wir in diesem Semester das weitverbreitete Echtzeitbetriebssystem eCos ein. Die Entwicklung erfolgt dabei an einem STM32F429I-DISCOVERY Evaluationsboard. Explizite Vorkenntnisse in hardwarenaher Programmierung sind nicht erforderlich. In den Übungsaufgaben wird ein Oszilloskop als realistische Beispielanwendung entwickelt. Die in der Vorlesung vorgestellten Probleme und Lösungen können damit sehr gut aufgezeigt werden. So wird beispielsweise die Echtzeitfähigkeit der Signalverarbeitung durch Ausgabe des Signals auf dem Bildschirm gezeigt, und per FFT sichtbar gemacht. Im Verlauf der Übungen wird auch auf spezielle Werkzeuge für die Entwicklung und Analyse von Echtzeitsystemen eingegangen, wie sich auch in der Industrie Anwendung finden. Hierzu zählt beispielsweise die Ermittlung der maximalen Ausführungszeit (worst case execution time, WCET) mittels des beim Airbus A380 eingesetzten aiT Analysers. Das Ziel ist hierbei möglichst praxisorientiert und nahe an den industriellen Anforderungen Fähigkeiten zu vermitteln und einen fundierten Einblick zu erhalten. Die Übung wird in zwei Ausprägungen angeboten:- Grundlegende Übungen [Ü_EZS] (2,5 ETCS)
- Erweiterte Übungen [EÜ_EZS] (5 ECTS)
Voraussetzungen
Die Veranstaltung ist inhaltlich weitgehend in sich abgeschlossen und für alle Studierenden der genannten Studienfächern mit einer Begeisterungsfähigkeit für praktische, systemnahe Informatik geeignet. Unabhängig davon sind grundlegenden Betriebssystemkenntnissen, systemnaher Programmierung von eingebetteten Systemen und ein gewisses Durchhaltevermögen äußerst hilfreich. Für die Bearbeitung der Übungsaufgaben sind entsprechend grundlegenden Programmierkenntnissen in C und/oder C++ notwendig. Hierfür ausreichend ist eine der folgenden Grundlagenveranstaltungen: Systemprogrammierung I/II, Softwaresysteme I, Systemnahe Programmierung in C beziehungsweise äquivalenter Veranstaltungen. Eine erfolgreiche Teilnahme ist für Nebenfächler auch auf der Basis der Grundlagen der Informatik (Programmiersprache: Java) möglich. Hierfür ist die Bereitschaft der eigenständigen (veranstaltungsbegleitenden) Aneignung grundlegender C/C++ Kenntnisse jedoch zwingend erforderlich. Entsprechende Unterlagen und Literaturempfehlungen werden von uns gerne bereitgestellt. Weiterhin sind grundlegende Erfahrungen im Umgang mit der Linux-Umgebung in den CIP-Pools beziehungsweise deren Aneignung erforderlich.Fragebogen: Programmierkenntnisse
Zur Einordnung der eigenen C-Kenntnisse haben wir einen Aufgabenkatalog aus Systemnahe Programmierung in C zusammengestellt. Teilnehmer, die sowohl die meisten Fragen sicher beantworten als auch die Programmieraufgabe lösen können, sollten keine handwerklichen Probleme mit den Übungsaufgaben haben und können sich voll auf die zu vermittelnden Konzepte konzentrieren. Fällt die Beantwortung der Fragen schwer, sollten die fraglichen Programmierkonzepte und die Bedeutung der unbekannten Schlüsselwörter vor Belegung des Moduls nachrecherchiert werden, da diese nicht im Rahmen der Übung vermittelt werden können.Dozenten und Betreuer
Mo | Di | Mi | Do | Fr | |
---|---|---|---|---|---|
08:00 | Vorlesung | ||||
10:00 | Tafelübung | ||||
12:00 | Rechnerübung | Rechnerübung | |||
14:00 | |||||
16:00 |
Terminübersicht (Semesterplan)
KW | Mo | Di | Mi | Do | Fr | Themen |
---|---|---|---|---|---|---|
16 | 15.04 | 16.04 | 17.04 | 18.04 | 19.04 | Vorlesung 1: Organisation Vorlesung 1: Einleitung Übung 1: Organisation Übung 1: Hallo Welt |
Vorlesung 1 | ||||||
Übung 1 | ||||||
Ausgabe A1 | ||||||
17 | 22.04 | 23.04 | 24.04 | 25.04 | 26.04 | Vorlesung 2: Physikalisches Objekt - kontrollierendes Rechensystem Übung 2: Systemsoftwareentwicklung |
Vorlesung 2 | ||||||
Übung 2 | ||||||
18 | 29.04 | 30.04 | 01.05 | 02.05 | 03.05 | Vorlesung 3: Struktureller Aufbau von Echtzeitanwendungen Übung 3: Antwortzeit |
Vorlesung 3 | ||||||
Übung 3 | ||||||
Ausgabe A2 | ||||||
19 | 06.05 | 07.05 | 08.05 | 09.05 | 10.05 | Vorlesung 4: Zeit-/Energieanalyse von Echtzeitanwendungen Übung 4: WCET Analyse |
Fester Termin A1 | Vorlesung 4 | Christi Himmelfahrt | ||||
Übung 4 | ||||||
Ausgabe A3 | ||||||
20 | 13.05 | 14.05 | 15.05 | 16.05 | 17.05 | Vorlesung 5: Abarbeitung periodischer Echtzeitsysteme Übung 5: Simple Scope |
Fester Termin A2 | Vorlesung 5 | |||||
Übung 5 | ||||||
Ausgabe A4 | ||||||
21 | 20.05 | 21.05 | 22.05 | 23.05 | 24.05 | |
Pfingstmontag | Bergfrei | |||||
22 | 27.05 | 28.05 | 29.05 | 30.05 | 31.05 | Vorlesung 6: Ereignisgesteuerte Ablaufplanung periodischer Echtzeitsysteme Vorlesung 7: Zeitgesteuerte Ablaufplanung periodischer Echtzeitsysteme |
Vorlesung 6 | Fronleichnam | |||||
Vorlesung 7 | ||||||
23 | 03.06 | 04.06 | 05.06 | 06.06 | 07.06 | Vorlesung 8: Grundlegende Abfertigung nicht-periodischer Echtzeitsysteme Übung 6: Cyclic Scope |
Fester Termin A3 | Vorlesung 8 | |||||
Übung 6 | ||||||
Ausgabe A5 | ||||||
24 | 10.06 | 11.06 | 12.06 | 13.06 | 14.06 | Vorlesung 9: Zustellerkonzepte und Übernahmeprüfung |
Fester Termin A4 | Vorlesung 9 | |||||
25 | 17.06 | 18.06 | 19.06 | 20.06 | 21.06 | Vorlesung 10: Rangfolge Übung 7: Nicht-periodische Aufgaben, Zusteller, Extended Scope |
Vorlesung 10 | ||||||
Übung 7 | ||||||
Ausgabe A6 | ||||||
26 | 24.06 | 25.06 | 26.06 | 27.06 | 28.06 | Vorlesung 11: Zugriffskontrolle Übung 8: Zugriffskontrolle |
Fester Termin A5 | Vorlesung 11 | |||||
Übung 8 | ||||||
Ausgabe A7 | ||||||
27 | 01.07 | 02.07 | 03.07 | 04.07 | 05.07 | Vorlesung 12: Mehrkern-Echtzeitsysteme Übung 9: System Science |
Vorlesung 12 | ||||||
Übung 9 | ||||||
28 | 08.07 | 09.07 | 10.07 | 11.07 | 12.07 | Vorlesung 13: Rekapitulation Übung 10: Forschungsthemen |
Fester Termin A6 | Vorlesung 13 | |||||
Übung 10 | ||||||
29 | 15.07 | 16.07 | 17.07 | 18.07 | 19.07 | Vorlesung 14: Weiterführendes Übung 11: Wiederholung |
Fester Termin A7 | Vorlesung 14 | |||||
Übung 11 |
Inhaltliche Fragen (alle Teilnehmer & Betreuende):
Organisatorische Fragen (Betreuende)
Anmeldung
Da die Mailingliste auch für Bekanntmachungen unsererseits genutzt wird, empfehlen wir allen Teilnehmern ausdrücklich die Anmeldung.