Zentralübung Automotive Software Engineering – Übungsblatt 1
description
Transcript of Zentralübung Automotive Software Engineering – Übungsblatt 1
![Page 1: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/1.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 1
Zentralübung Automotive Software Engineering – Übungsblatt 1
Sascha Schwind
![Page 2: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/2.jpg)
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
![Page 3: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/3.jpg)
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
![Page 4: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/4.jpg)
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
![Page 5: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/5.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 5
Aufgabe 2: Zeit- vs. Ereignissteuerung
TT ET
Durchsatz Gut bei hoher Last, u.U. nicht
optimale Reaktionszeiten
Durchsatzoptimierend
Sicherheit/Echtzeit • Leicht nachweisbare
Einhaltung des
Echtzeitverhaltens (des
Schedulings),
• u.U. kritische Reaktionen auf
WCET-Überschreitungen
• Nicht Determinismus
• Echtzeitnachweis schwieriger
• Keine Information über das
Zeitverhalten der Ereignisse
notwendig (=> nicht
Determinismus)
Applikationsdomänen • Harte Echtzeit,
• Regelungstechnik (z.B.
Motorsteuerung)
• Eher weiche Echtzeit
• z.B. Komfortelektronik
![Page 6: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/6.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 6
Aufgabe 3: CAN-Frame
![Page 7: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/7.jpg)
Aufgabe 3: Wichtige Begriffe
Erkläre folgende Begriffe:
• CSMA/CA
• TDMA
• Broadcast
• Multicast
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 7
![Page 8: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/8.jpg)
Aufgabe 3: CAN
• CAN-Übertragungsraten
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 8
Bitrate Kabellänge
10 Kbit/s 6,7 km
20 Kbit/s 3,3 km
50 Kbit/s 1,3 km
125 Kbit/s 530 m
250 Kbit/s 270 m
500 Kbit/s 130 m
1 Mbit/s 40 m
![Page 9: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/9.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 9
Blatt 1, Aufgabe 4: OSEK NM
![Page 10: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/10.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 10
Aufgabe 5: Präemptivität
Nicht-präemptives Scheduling:
Präemptives Scheduling:
![Page 11: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/11.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 11
Aufgabe 5: Prioritätsinversion
• Verzögerung von Prozessen durch Prozesse mit
niedrigerer Priorität, z.B.:
![Page 12: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/12.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 12
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
![Page 13: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/13.jpg)
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 13
![Page 14: Zentralübung Automotive Software Engineering – Übungsblatt 1](https://reader035.fdocuments.us/reader035/viewer/2022081519/568146fb550346895db43458/html5/thumbnails/14.jpg)
Aufgabe 5: Priority Ceiling
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 14