14
Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering 1 Zentralübung Automotive Software Engineering – Übungsblatt 1 Sascha Schwind

Zentralübung Automotive Software Engineering – Übungsblatt 1

  • Upload
    cheche

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Zentralübung Automotive Software Engineering – Übungsblatt 1. Sascha Schwind. Aufgabe 1: Eingebettetes System. Beispiele Waschmaschine, Handy, Kaffeemaschine, MP3-Player, usw Definition - PowerPoint PPT Presentation

Citation preview

Page 1: Zentralübung Automotive Software Engineering – Übungsblatt 1

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

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

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

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

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

Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 6

Aufgabe 3: CAN-Frame

Page 7: Zentralübung Automotive Software Engineering – Übungsblatt 1

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

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

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

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

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

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

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

Aufgabe 5: Priority Ceiling

Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering 14