|
Echtzeitsysteme 2 - Verlässliche Echtzeitsysteme (V+Ü) (EZS2)5 ECTS (englische Bezeichnung: Real-Time Systems 2 - Dependable Real-Time Systems (V+Ü))
(Prüfungsordnungsmodul: Verlässliche Echtzeitsysteme (Vorlesung mit Übungen))
Modulverantwortliche/r: Peter Wägemann Lehrende:
Peter Wägemann, Simon Schuster, Florian Schmaus, Phillip Raffeck
weitere Studienfächer/Prüfungsordnungsmodule:
Einfrieren der UnivIS-Modul-Beschreibung: 29.3.2021
Verlässliche Echtzeitsysteme (116852)
Echtzeitsysteme 2 (38534)
Start semester: |
SS 2021 | Duration: |
1 semester | Cycle: |
jährlich (SS) |
Präsenzzeit: |
90 Std. | Eigenstudium: |
60 Std. | Language: |
Deutsch |
Lectures:
Empfohlene Voraussetzungen:
Für eine erfolgreiche Teilnahme an der Veranstaltung sind grundlegende Programmierkenntnisse in C/C++ erforderlich. Diese können durch den (empfohlenen) Besuch entsprechender Grundlagenveranstaltungen oder im Eigenstudium erworben sein.
Weiterhin sind grundlegende Kenntnisse über Echtzeitsystemeeine, zum Beispiel durch den Besuch der Veranstaltung "Echtzeitsysteme", empfohlen.
Eine formale Voraussetzung besteht in diesem Zusammenhang jedoch nicht.
Manche Prüfungsordnungen sehen jedoch nur die Einbringung im Rahmen eines kombinierten Vertiefungsmoduls zusammen mit der Geschwisterveranstaltung Echtzeitsysteme vor.
Bitte kontaktieren Sie bei Unklarheiten uns oder Ihre Studiengangsberatung.It is recommended to finish the following modules before starting this module:
Systemprogrammierung (SS 2020)
Grundlagen der Systemprogrammierung (SS 2020)
Systemnahe Programmierung in C (SS 2020)
Grundlagen der systemnahen Programmierung in C (SS 2020)
Inhalt:
Viele Echtzeitsysteme sind in Bereiche des täglichen Lebens eingebettete, die hohe Anforderungen an die funktionale Sicherheit dieser Systeme stellen. Beispiele hierfür sind Fahrerassistenzsysteme in modernen Automobilen, medizinische Geräte, Prozessanlagen in Kernkraftwerken oder Chemiefabriken oder Flugzeuge. Fehlfunktionen in diesen Anwendungen ziehen mitunter katastrophale Konsequenzen nach sich - Menschen können ernsthaft verletzt oder sogar getötet werden, Landstriche können unbewohnbar gemacht oder zumindest großer finanzieller Schaden verursacht werden. Dieses Modul betrachtet Methoden und Werkzeuge, die uns helfen können, einerseits zuverlässig Software zu entwickeln (also Fehler im Programm zu entdecken und zu vermeiden), und andererseits zuverlässige Software zu entwickeln (also Abstraktionen, die auch im Fehlerfall ihre Gültigkeit behalten). Hierbei steht weniger die Vermittlung theoretischer Grundkenntnisse auf diesen Gebieten im Vordergrund, also vielmehr
Auf diese Weise soll ein Fundament für die konstruktive Umsetzung verlässlicher Echtzeitsysteme gelegt werden. Dieses Modul soll daher fundierte Anknüpfungspunkte für die Entwicklung verlässlicher Echtzeitsysteme vermitteln, die Ad-hoc-Techniken möglichst ersetzen sollen.
Lernziele und Kompetenzen:
Studierende, die das Modul erfolgreich abgeschlossen haben:
nennen die Konzepte und die Taxonomie verlässlicher Systeme, unterscheiden Software- und Hardwarefehler und klassifizieren Fehler (Defekt, Fehler, Fehlverhalten).
stellen Fehlerbäume auf.
organisieren Softwareentwicklungsprojekte mittels der Versionsverwaltung git.
vergleichen die verschiedenen Arten der Redundanz als Grundvorraussetzung für Fehlererkennung und -toleranz.
entwickeln fehlertolerante Systeme mittels Replikation.
diskutieren die Fehlerhypothese und die Sicherstellung von Replikdeterminismus.
erläutern die Vor- und Nachteile softwarebasierter Replikation und den Einsatz von Diversität.
wenden Informationsredundanz zur Härtung von Daten- und Kontrollflüssen an.
bewerten die Effektivität der arithmetischer Codierung von Programmen und verallgemeinern diesen Ansatz auf die verschiedenen Implementeirungsebenen (Maschinenprogramm zu Prozessinkarnation).
interpretieren den Einfluss der Ausführungsplattform (Hardware, Betriebssystem) auf die Leistungsfähigkeit der Fehlererkennung.
konzipieren eine fehlertolerante Ausführungsumgebung für ein softwarebasiertes TMR-System basierend auf ANBD-Codierung.
nennen die Grundlagen der systematischen Fehlerinjektion.
überprüfen die Wirksamkeit von Fehlertoleranzmechanismen mittels Fehlerinjektion auf der Befehlssatzebene.
entwickeln Testfälle für die Fehlerinjektion mittels des fail* Werkzeugs.
setzten Messergebnisse in Relation zu dem tatsächlichen Fehlerraum.
beschreiben die Grundlagen der Fehlererholung (Vorwärts- bzw. Rückwärtskorrektur) und Reintegration fehlgeschlagener Knoten.
vergleichen den Zustandstransfer am Beispiel der Running bzw. Recursive State Restoration.
benennen Konzepte der Rückwärtskorrektur durch Entwurfsalternativen (Recovery Blocks).
fassen die Grundlagen des dynamischen Testens zusammen.
unterscheiden Black-Box und White-Box Testverfahren.
konzipieren und implementieren Testfälle.
überprüfen die Testüberdeckung anhand grundlegender Überdeckungskriterien (Anweisungs- bis Bedingungsüberdeckung).
geben die Grundlagen der statischen Programmanalyse wieder.
nennen die Funktionsweise von Hoare- WP-Kalkül.
verifizieren eine Ampelsteuerung mittels des FramaC Werkzeugs zur statischen Analyse von C Programmen.
beschreiben den Korrektheitsnachweis mittels abstrakter Interpretation und unterscheiden die konkrete von der abstrakten Programmsemnatik.
erläutern die Funktionsweise von Sammel- und Präfixsemantiken.
erstellen einen Korrektheitsbeweis für einen a-b-Filter mittels des Astrée Werkzeugs zur abstrakten Interpretation von C Programmen.
bewerten die Verlässlichkeit kommerzieller, sicherheitskritischer Systeme anhand von Fallstudien (Sizewell B, Airbus A320).
erschließen sich typische Probleme und Fehlerquellen bei der Programmierung von eingebetteten Systemen im Allgemeinen.
klassifizieren Fallstricke und Mehrdeutigkeiten in der Programmiersprache C99 im Besonderen.
können in Gruppen kooperativ und effektiv arbeiten.
können ihre Entwurfs- und Implementierungsentscheidungen kompakt präsentieren und argumentativ vertreten.
reflektieren ihre Entscheidungen kritisch und leiten Alternativen ab.
können offen und konstruktiv mit Schwachpunkten in der Konzeption wie Umsetzung umgehen.
Weitere Informationen:
Keywords: Echtzeitsysteme, Real-Time Systems, Fehlertoleranz, Fault Tolerance
www: http://www4.informatik.uni-erlangen.de/Lehre/SS21/V_VEZS/
Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:
- Informations- und Kommunikationstechnik (Master of Science)
(Po-Vers. 2016s | TechFak | Informations- und Kommunikationstechnik (Master of Science) | Gesamtkonto | Schwerpunkte im Masterstudium | Schwerpunkt Eingebettete Systeme | Wahlpflichtmodule | Wahlpflichtmodul aus INF im Schwerpunkt Eingebettete Systeme | Verlässliche Echtzeitsysteme (Vorlesung mit Übungen))
- Informations- und Kommunikationstechnik (Master of Science)
(Po-Vers. 2016s | TechFak | Informations- und Kommunikationstechnik (Master of Science) | Gesamtkonto | Schwerpunkte im Masterstudium | Schwerpunkt Multimediasysteme | Wahlpflichtmodule | Wahlpflichtmodul aus INF im Schwerpunkt Multimediasysteme | Verlässliche Echtzeitsysteme (Vorlesung mit Übungen))
Dieses Modul ist daneben auch in den Studienfächern "Elektrotechnik, Elektronik und Informationstechnik (Bachelor of Science)", "Informatik (Bachelor of Arts (2 Fächer))", "Informatik (Bachelor of Science)", "Informatik (Master of Science)", "Maschinenbau (Master of Science)", "Mathematik (Bachelor of Science)", "Mechatronik (Bachelor of Science)", "Mechatronik (Master of Science)", "Medizintechnik (Master of Science)", "Wirtschaftsingenieurwesen (Master of Science)" verwendbar. Details
Studien-/Prüfungsleistungen:
Verlässliche Echtzeitsysteme (Vorlesung mit Übungen) (Prüfungsnummer: 876012)
(englischer Titel: Dependable Real-Time Systems (Lecture with Exercises))
zugeh. "mein campus"-Prüfung: | - 876012 Verlässliche Echtzeitsysteme (Vorlesung mit Übungen) (Gewichtung: 100.0 %, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 5 ECTS, Prüfung).
|
- Prüfungsleistung, mündliche Prüfung, Dauer (in Minuten): 30, benotet, 5 ECTS
- Anteil an der Berechnung der Modulnote: 100.0 %
- weitere Erläuterungen:
30-minütige mündliche Prüfung über den gesamten Stoff der Veranstaltung.
Teilnahme an den Übungen und die Bearbeitung aller Übungsaufgaben wird hierzu dringend empfohlen! Die Prüfungssprache ist Deutsch oder Englisch, abhängig von der Wahl der Studierenden.
- Prüfungssprache: Deutsch oder Englisch
- Erstablegung: SS 2021, 1. Wdh.: WS 2021/2022
1. Prüfer: | Wolfgang Schröder-Preikschat (100114), | 2. Prüfer: | Peter Ulbrich (100360) |
|
|
|