Verlässliche Echtzeitsysteme
Eingebettete Systeme durchdringen praktisch alle Bereiche des täglichen Lebens. Immer häufiger übernehmen diese Echtzeitsysteme Aufgaben, welche hohe Anforderungen an die funktionale Sicherheit stellen. Beispiele hierfür sind Fahrerassistenzsysteme in modernen Automobilen, medizinische Geräte, Prozessanlagen oder Flugzeuge. Fehlfunktionen in diesen Anwendungen ziehen mitunter katastrophale Konsequenzen nach sich: finanzielle und materielle Schäden bis hin zu Personenschäden. Die Entwicklung sicherer und robuster Systeme gewinnt daher in der Forschung und Entwicklung zunehmend an Bedeutung.
- 05.12.2022: Die Prüfungsanmeldung findet im Zeitraum vom 12.12.2022, 18:00 Uhr bis zum 01.01.2023, 18:00 Uhr statt. Es ist eine Anmeldung im Waffel erforderlich. (tr)
- 12.10.2022: Das Formular zur Gruppenanmeldung ist jetzt verfügbar. (tr)
- 12.10.2021:
Die Anmeldung ist nun geschlossen, alle Teilnehmer wurden per Mail benachrichtigt.
Unsere erste gemeinsame Besprechung findet im Plenum zum "Vorlesungstermin" am 17.10. um 16:15 Uhr im Raum 0.031-113 statt, inklusive Besprechung der Veranstaltungsorganisation und Gruppenbildung (die erste Rechnerübung am 17.10., 10:15 Uhr entfällt). (tr) - 29.07.2022:
Für die Veranstaltung ist eine Anmeldung via StudOn zwingend erforderlich. Die Anmeldung ist ab jetzt bis zum 11.10.2022 (inklusive) möglich. (tr)
- 13.05.2022 Bitte beachten: Der aktuelle Zustand ist lediglich aus dem letzten Semester portiert. Alle angegebenen Daten und Termine sind vorläufig oder veraltet! (§)
Inhalt der Vorlesung
Während sich die Veranstaltung Echtzeitsysteme den zeitlichen Aspekten der Systementwicklung widmet, rücken in Verlässliche Echtzeitsysteme Methoden und Techniken für die Entwicklung zuverlässiger Systeme in den Mittelpunkt – schließlich ist Rechtzeitigkeit keine hinreichende Eigenschaft sicherheitskritischer Systemen. Beide Veranstaltungen sind unabhängig voneinander durchführbar, ergänzen sich jedoch in optimaler Weise. Ziel der Vorlesung ist die zuverlässige Entwicklung von Software (frei von internen Fehlern) ebenso wie die Entwicklung zuverlässiger Software (robust gegenüber äußeren Fehlern). Im Fokus steht hierbei weniger die Vermittlung theoretischer Grundkenntnisse, sondern vielmehr deren praktischer Einsatz in Form von:- Fehlersuche und -vermeidung: funktional, räumlich und zeitlich,
- unter Einsatz existierender Werkzeuge und Methoden wie sich auch in der Industrie zum Einsatz kommen.
- Robuste Echtzeitsysteme durch Fehlertoleranz und Verteilung
Weitere Informationen zur Vorlesung...
Inhalt der Übungen
Im Rahmen der Übungen werden ausgewählte Vorlesungsinhalte mit besonderem Fokus auf deren praktischer Anwendung vertieft. Zum Einsatz kommen hierbei sowohl aktuelle Ansätze und Methoden aus der Forschung, als auch Werkzeuge und Techniken aus dem industriellen Umfeld. Hierzu zählt insbesondere auch die Fehlersuche mittels Debugger und die Codeanalyse mit der aiT-Toolchain (WCET-Analyse, Stack-Analyse, Abstrakte Interpretation mit Astrée). Im Verlauf des Semesters wird die Verwendung der verschiedenen Techniken und Werkzeuge in den verschiedenen Phasen der Produktentwicklung aufgezeigt, indem ein solcher Entwicklungszyklus simuliert wird. Weitere Informationen zu den Übungen...Dozenten und Betreuer
Terminplan und Vorlesungsfolien...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. Kenntnisse aus der Schwesterveranstaltung Echtzeitsysteme sind durchaus hilfreich, jedoch nicht für einen erfolgreichen Abschluss des Moduls erforderlich. 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.Wochenplan
Aufgrund des Wechsels zu Campo haben die im UnivIS veröffentlichten Daten für das Wintersemester 2022/23 keine Bedeutung.
Mo | Di | Mi | Do | Fr | |
---|---|---|---|---|---|
08:00 | |||||
10:00 | Rechnerübung | ||||
12:00 | Rechnerübung | ||||
14:00 | |||||
16:00 | Fragestunde |
Terminübersicht (Semesterplan)
KW | Mo | Di | Mi | Do | Fr | Themen |
---|---|---|---|---|---|---|
42 | 17.10 | 18.10 | 19.10 | 20.10 | 21.10 | Material 1: Organisation (Vorlesung) Material 1: Einleitung Material 1: Organisation (Übung) Material 1: Einführung in den Umgang mit git (Übung) |
Fragestunde 1 | Rechnerübung | |||||
Material 1 | ||||||
Ausgabe A1 | ||||||
43 | 24.10 | 25.10 | 26.10 | 27.10 | 28.10 | Material 2: Grundlagen Material 2: Implementieren eines Filters mit Festkommaarithmetik (Übung) |
Fragestunde 2 | Rechnerübung | Fester Termin A1 | ||||
Material 2 | ||||||
Ausgabe A2 | ||||||
Rechnerübung | ||||||
44 | 31.10 | 01.11 | 02.11 | 03.11 | 04.11 | Material 3: Fehlertoleranz durch Redundanz Material 3: Triple Modular Redundancy (Übung) |
Fragestunde 3 | Rechnerübung | |||||
Material 3 | ||||||
Rechnerübung | ||||||
Ausgabe A3 | ||||||
45 | 07.11 | 08.11 | 09.11 | 10.11 | 11.11 | Material 4: Codierung |
Fragestunde 4 | Fester Termin A2 | Rechnerübung | ||||
Material 4 | ||||||
Rechnerübung | ||||||
46 | 14.11 | 15.11 | 16.11 | 17.11 | 18.11 | Material 5: Fehlerinjektion Material 5: EAN Codes und Fehlerinjektion (Übung) |
Fragestunde 5 | Rechnerübung | |||||
Material 5 | ||||||
Rechnerübung | ||||||
Ausgabe A4 | ||||||
47 | 21.11 | 22.11 | 23.11 | 24.11 | 25.11 | Material 6: Dynamisches Testen Material 6: Testen (Übung) |
Fragestunde 6 | Fester Termin A3 | Rechnerübung | ||||
Material 6 | ||||||
Rechnerübung | ||||||
48 | 28.11 | 29.11 | 30.11 | 01.12 | 02.12 | Material 7: Grundlagen der statischen Programmanalyse |
Fragestunde 7 | Rechnerübung | |||||
Material 7 | ||||||
Rechnerübung | ||||||
Ausgabe A5.1 | ||||||
49 | 05.12 | 06.12 | 07.12 | 08.12 | 09.12 | Material 8: Verifikation nicht-funktionaler Eigenschaften, Stack- und WCET-Analyse |
Fragestunde 8 | Fester Termin A4 | Rechnerübung | ||||
Material 8 | ||||||
Rechnerübung | ||||||
Ausgabe A5.2 | ||||||
50 | 12.12 | 13.12 | 14.12 | 15.12 | 16.12 | Material 9: Verifikation funktionaler Eigenschaften: Design-by-Contract Material 9: Stackverbrauchs Analyse (Übung) |
Fragestunde 9 | Rechnerübung | |||||
Material 9 | ||||||
Rechnerübung | ||||||
Ausgabe A5.3 | ||||||
51 | 19.12 | 20.12 | 21.12 | 22.12 | 23.12 | |
Rechnerübung | Rechnerübung | Fester Termin A5.1 | ||||
Ausgabe A6 | ||||||
52 | 26.12 | 27.12 | 28.12 | 29.12 | 30.12 | |
Weihnachten/Neujahr | ||||||
01 | 02.01 | 03.01 | 04.01 | 05.01 | 06.01 | |
Weihnachten/Neujahr | ||||||
02 | 09.01 | 10.01 | 11.01 | 12.01 | 13.01 | Material 10: Industrievortrag: Platform Software for Safety-Critical Multicore Systems Isabella Stilkerich Schaeffler AG, Herzogenaurauch |
Fragestunde 10 | Rechnerübung | Fester Termin A5.2 | ||||
Material 10 | ||||||
Rechnerübung | ||||||
03 | 16.01 | 17.01 | 18.01 | 19.01 | 20.01 | Material 11: Fallstudie Reaktorschutzsystem Material 11: Abstrakte Interpretation (Übung) |
Fragestunde 11 | Rechnerübung | Fester Termin A5.3 | ||||
Material 11 | ||||||
Rechnerübung | ||||||
Ausgabe A7 | ||||||
04 | 23.01 | 24.01 | 25.01 | 26.01 | 27.01 | Material 12: Benchmarking |
Fragestunde 12 | Rechnerübung | Fester Termin A6 | ||||
Material 12 | ||||||
Rechnerübung | ||||||
05 | 30.01 | 31.01 | 01.02 | 02.02 | 03.02 | |
Fragestunde 13 | Fester Termin A7 | Rechnerübung | ||||
Material 13 | ||||||
Rechnerübung | ||||||
06 | 10.02 | 11.02 | 12.02 | 13.02 | 14.02 | |
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.