140 likes | 284 Views
Zentralübung Automotive Software Engineering – Übungsblatt 1. Sascha Schwind. Aufgabe 1: Eingebettetes System. Beispiele Waschmaschine, Handy, Kaffeemaschine, MP3-Player, usw Definition
E N D
Zentralübung Automotive Software Engineering – Übungsblatt 1 Sascha Schwind Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Aufgabe 1: Eingebettetes System • Beispiele • Waschmaschine, Handy, Kaffeemaschine, MP3-Player, usw • Definition • SW-System eingebettet in einen speziellen technischen oder physikalischen Kontext und unterliegen häufig Echtzeit-Bedingungen • Aufgaben • Regeln, steuern oder überwachen • Einsatzgebiete • Motorsteuerung, Komfortelektronik, Airbag, Fensterheber, usw. • Besonderheiten • Interaktionen mit Sensoren oder Aktuatoren • Strenge Anforderungen an Kosten, Ausmaße oder Stromverbrauch • Kommunikation über spezielle Bussysteme
Aufgabe 1: Eingebettetes System • Unterschiede bezüglich Automotive Software • Sicherheitskritisch • Hoher Grad der Vernetzung • 60 – 80 Steuergeräte in Premium Fahrzeugen • Bis zu 5 verschiedene Bussysteme • Reaktivität • Aperiodische Ereignisse, z.B. Tastendruck zum Öffnen der Fenster
Aufgabe 1: Eingebettetes System • Echtzeit • Correctness depends not only on the logical result(s) of a computation, but also on the time at which the results are produced. [Schütz, W.: The Testability of Distributed Real-Time Systems] • Harte Echtzeit • Ergebnis muss vor der Deadline vorliegen • Verletzungsrisiko, Todesfolge oder hoher finanzieller Verlust • Sicherheitskritisch, z.B. Airbag innerhalb 80ms • Weiche Echtzeit • Überschreiten der Deadline ohne schwerwiegenden Konzequenzen
Aufgabe 2: Zeit- vs. Ereignissteuerung Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Aufgabe 3: CAN-Frame Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Aufgabe 3: Wichtige Begriffe Erkläre folgende Begriffe: • CSMA/CA • TDMA • Broadcast • Multicast Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 7
Aufgabe 3: CAN • CAN-Übertragungsraten Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Blatt 1, Aufgabe 4: OSEK NM Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 9
Aufgabe 5: Präemptivität Nicht-präemptives Scheduling: Präemptives Scheduling: Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Aufgabe 5: Prioritätsinversion • Verzögerung von Prozessen durch Prozesse mit niedrigerer Priorität, z.B.: Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Aufgabe 5: Priority Inheritance • Ein Prozess, der eine Ressource in Anspruch nimmt, erbt die Priorität des höchstprioren Prozesses, der auf die Ressource wartet. • Problem: Deadlocks möglich !!! S2 Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Aufgabe 5: Priority Ceiling • …. Lösung: Nur verschachtelten Zugriff auf die Ressourcen zu (z.B. lock S1, lock S2, . . . , unlock S2, unlock S1) • Betriebsmittel bekommen Ceiling Priority (Prio des höchtprioren Prozesses, der das Betriebsmittel nutzt) • Instant Inheritance Algorithm: „Ceiling Priority“ eines kritischen Bereichs muss hierbei höher sein als die Priorität der Tasks, welche die Ressource nutzen. Gleichzeitig soll sie kleiner als die niedrigste Priorität der Prozesse sein, welche die Ressource nicht beanspruchen, und höher als der höchstpriore, die Ressource nutzende Task (entsprechend der OSEK-Spezifikation). Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Aufgabe 5: Priority Ceiling Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering