38
© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 20 Eingebettete Software 20.0 Einführung Lernziele Echtzeitsysteme Eingebettete Systeme 20.1 Entwurf eingebetteter Systeme Modellierung von Echtzeitsystemen Programmierung von Echtzeitsystemen 20.2 Architekturmuster Beobachten und Reagieren Umgebungssteuerung Pipelineverarbeitung

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

Embed Size (px)

Citation preview

Page 1: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.1

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20 Eingebettete Software

20.0 Einführung Lernziele Echtzeitsysteme Eingebettete Systeme

20.1 Entwurf eingebetteter Systeme Modellierung von Echtzeitsystemen Programmierung von Echtzeitsystemen

20.2 Architekturmuster Beobachten und Reagieren Umgebungssteuerung Pipelineverarbeitung

Page 2: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.2

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20 Eingebettete Software

20.3 Analyse des Zeitverhaltens Antwortzeiten Ausführungszeiten

20.4 Echtzeitbetriebssysteme Prozessverwaltung Prioritäten Scheduling

Page 3: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.3

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.0 Lernziele

das Konzept eingebetteter Software für Systeme, die auf externe Ereignisse reagieren, verstehen

einen Entwurfsprozess für Echtzeitsysteme, bei dem die Software als eine Menge kooperierender Prozesse organisiert ist, kennen lernen,

drei Architekturmuster für eingebettete Echtzeitsysteme kennen,

die Organisation von Echtzeitbetriebssystemen und ihre Rolle in eingebetteten Echtzeitsystemen verstehen

Page 4: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.4

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.0 Eingebettete Systeme

Systeme aus Hardware und Software, die in einen technischen Kontext eingebettet sind Überwachung, Steuerung, Regelung Signalverarbeitung

in technischen Geräten integrierte Computeranwendungen Kameras, Waschmaschinen, Kaffeemaschinen, medizinische

Geräte, Router, DVD-Player, ABS etc. oft keine eigene oder unkonventionelle Benutzerschnittstelle Reaktion auf externe Ereignisse

am meisten verbreitete Computeranwendung oft spezielle (einfache) Hardware

Page 5: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.5

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.0 Zeitanforderungen

Reaktion eingebetteter Systeme in der Regel innerhalb vorgegebener Zeitschranke erforderlich Unterschied zu Informationssystemen, Webanwendungen

etc.

Korrektheit zeitabhängig bestimmte Ausgabe zu bestimmter Eingabe nicht

ausreichend muss auch innerhalb bestimmter Zeit erfolgen Echtzeitsystem

Page 6: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.6

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.0 Echtzeitsystem

Definition Echtzeitbetrieb ist der Betrieb eines Rechnersystems, bei

dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind [DIN 44300].

Harte Echtzeitanforderungen Fehler, wenn Zeitschranke nicht eingehalten wird im Fehlerfall oft schwerwiegende Folgen

Weiche Echtzeitanforderungen Überschreiten der Zeitschranke kann vorkommen bei Überschreiten eingeschränkte Leistung des Systems

Page 7: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.7

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.0 Charakteristika eingebetteter Systeme

Dauerbetrieb von Einschalten der Hardware bis Ausschalten der Hardware

Interaktionen mit der Umgebung unvorhersagbar und nicht beschränkbar unerwartete Ereignisse zu verarbeiten

Physikalische Beschränkungen Platz und Gewicht, Stromversorgung, Immissionen

Direkte Ansteuerung externer Hardware keine Treiberschicht

Sicherheit und Zuverlässigkeit im Vordergrund bei Fehlern oft gravierende Schäden

Page 8: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.8

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.0Entwurf eingebetteter Systeme

Systems Engineering statt Software Engineering Berücksichtigung der Hardware

Konstruktion und Leistung

Geeignete Aufteilung der Systemfähigkeiten Software oder Hardware

Systemnahe Entscheidungen schon zu Beginn Hardware, Hilfssoftware, Zeitsteuerung kein Top-down-Entwurf möglich

Zusätzliche Funktionalität oft nötig Energiemanagement

Page 9: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.9

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.0Reaktive Systeme

Eingebettete System reagieren auf externe Ereignisse Reiz-Reaktion-System bzw. Stimulus-Response-System Response auf Stimulus innerhalb bestimmter Zeit

Verhalten des Systems als Tabelle beschreibbar Stimulus – Response

Arten von Stimuli periodisch

• vorhersagbare regelmäßige Zeitabstände• z.B. Sensorabfrage alle 50 Millisekunden

sporadisch (aperiodisch)• unregelmäßig, ggf. selten• z.B. Stromausfall• Verarbeitung meist über Interrupt

Page 10: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.10

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.0Beispiel: Stimulus-Response-TabelleStimulus Response

einzelner Sensor positiv

Alarm auslösen, Lampen im Umfeld des Sensors einschalten

zwei oder mehr Sensoren positiv

Alarm auslösen, Lampen im Umfeld der Sensoren einschalten, Polizei alarmieren

Spannungsabfall zwischen 10% und 20%

Reservebatterie einschalten, Stromversorgung testen

Spannungsabfall von mehr als 20%

Reservebatterie einschalten, Stromversorgung testen, Alarm auslösen, Polizei alarmieren

Ausfall der Stromversorgung

Service benachrichtigen

Sensorausfall Service benachrichtigen

Panikschalter positiv Alarm auslösen, Lampen im Umfeld des Schaltpults einschalten, Polizei alarmieren

Alarmlöschung Alarm ausschalten, Lampen ausschalten

Page 11: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.11

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.0Aufbau eines eingebetteten Echtzeitsystems

Sensor Sensor Sensor Sensor Sensor Sensor

Echtzeit-steuerungssystem

Aktor Aktor Aktor Aktor

Page 12: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.12

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.0Überlegungen zur Architektur

Rechtzeitiges Reagieren erforderlich schnelles Umschalten zwischen Stimulusverarbeitungen

Unterschiedliche Zeitanforderungen sequentielle Abarbeitung meist nicht angemessen

Architekturansatz: Kooperierende nebenläufige Prozesse Echtzeitbetriebssystem unterschiedliche Prioritäten Interrupt-Steuerung

Page 13: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.13

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.0Einzelner Sensor-Aktor-Prozess

Sensor

Sensor-steuerung

Aktor

Daten-verarbeitun

g

Aktor-steuerung

Stimulus

Response

Sensorsteuerung sammelt Daten von Sensor, puffert diese Daten

gegebenenfalls Datenverarbeitung

verarbeitet gesammelte Daten und berechnet Reaktion Aktorsteuerung

erzeugt Steuerungssignale für die Aktoren

Page 14: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.14

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.0Aktivitäten im Entwurfsprozess

Auswahl der Ausführungsplattform Hardware, Echtzeitbetriebssystem

Bestimmung der Stimuli und zugehörigen Responses Analyse des Zeitverhaltens

Zeitvorgaben für Stimulus – Verarbeitung – Response

Prozessentwurf nebenläufige Prozesse nach Architekturmuster -> 20.2

Algorithmenentwurf einschließlich Aufwandsanalyse (insbesondere Zeitaufwand)

Datenentwurf Festlegung des Datenaustausches zwischen den Prozessen

Prozessplanung (Scheduling)

Page 15: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.15

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.0Prozesskoordination

Zugriff nebenläufiger Prozesse auf gemeinsame Ressourcen Lesen und Schreiben durch unterschiedliche Prozesse gegenseitiger Ausschluss erforderlich

• Semaphore• kritische Bereiche• Monitore

Ausgleich unterschiedlicher Geschwindigkeiten Bereitstellen und Abarbeiten von Daten Puffer erforderlich

• häufig Ringpuffer

Page 16: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.16

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.1Modellierung von Echtzeitsystemen

Stimuli bewirken Zustandsübergänge Modellierung durch Zustandsmodelle Darstellung mit UML-Zustandsdiagrammen

Page 17: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.17

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.1Zustandsmodell eines Echtzeitsystems

Page 18: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.18

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.1.2Programmierung von Echtzeitsystemen Anforderungen an die Programmierumgebung

Zugriff auf Systemhardware Festlegung von Zeitpunkten / Zeitspannen für Operationen Effizienz

Verwendete Sprachen Assembler und systemnahe Sprachen wie C

• effizient• fehleranfällig wegen fehlender Features für Nebenläufigkeit

Echtzeitsprachen wie PEARL Objektorientierte Sprachen wie Java mit Erweiterungen

• asynchrone Kommunikation• absolute und relative Zeitangaben• nicht unterbrechbare Threads• keine Verzögerungen durch Speicherbereinigung

Page 19: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.19

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.0Architekturmuster

Grundstruktur eingebettete Software prozessorientiert interaktive Software objekt- / komponentenorientiert

Echtzeitarchitekturmuster Beobachten und Reagieren

• Überwachung und Darstellung von Sensorwerten• Sensorereignis löst Prozess zur Ereignisbehandlung aus

Umgebungssteuerung• Sensoren zur Umgebungsüberwachung• Aktoren zur Umgebungssteuerung• Sensorwerte lösen Steuersignale aus

Pipelineverarbeitung• Umwandlung von Daten zur Weiterverarbeitung• Folge von Verarbeitungsschritten ggf. auf verschiedenen Prozessoren

Page 20: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.20

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.0Anwendung der Architekturmuster

Kombination der Muster Umgebungssteuerung mit Aktoren Beobachten der Aktoren und Reagieren bei Ausfall

Grundstruktur für weitere Detaillierung mit Entwurfsmustern, z.B. Ausführungssteuerung Kommunikation Resourcenzuweisung

Optimierung der Prozessstruktur erforderlich Architekturmuster als Entwurfsvorlagen meist ineffizient nicht zu viele Prozesse verwenden klarer Zusammenhang zwischen Prozessen

und Sensoren und Aktoren erforderlich

Page 21: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.21

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.1Muster: Beobachten und Reagieren

Page 22: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.22

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.1Prozess: Beobachten und Reagieren

Page 23: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.23

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.1Beispiel: Beobachten und Reagieren

Page 24: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.24

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.2Muster: Umgebungssteuerung

Page 25: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.25

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.2Prozess: Umgebungssteuerung

Page 26: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.26

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.2Beispiel: Umgebungssteuerung

Page 27: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.27

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.3Muster: Pipelineverarbeitung

Page 28: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.28

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.3Prozess: Pipelineverarbeitung

Page 29: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.29

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.2.3Beispiel: Pipelineverarbeitung

Page 30: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.30

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.3 Analyse des Zeitverhaltens

Bestimmung der Häufigkeit von Prozessausführungenum Antwortzeiten garantieren zu können leicht zu berechnen bei periodischen Stimuli schwierig bei sporadischen Stimuli

(Wahrscheinlichkeitsrechnung) Ersatz sporadischer Stimuli durch periodische möglich

• sporadisch: Interrupt bei Ausfall der Stromversorgung• periodisch: Abfrage der Stromversorgung alle x msec

Wesentliche Faktoren Fristen Häufigkeiten Ausführungszeiten

Page 31: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.31

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.3 Beispiel: Zeitanforderungen

Page 32: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.32

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.3 Beispiel: Zeitanforderungen im Prozessmodell

Page 33: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.33

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.4.0Echtzeitbetriebssysteme

Grundlegende Komponenten Echtzeituhr: vorwiegend für periodische Prozesse Interrupt-Handler: für sporadische Ereignisse Scheduler (Einplaner):

zur Auswahl des auszuführenden Prozesses Resourcenmanager: Zuordnung und Freigabe Dispatcher (Verteiler): zum Starten der Prozessausführung

Zusätzliche Komponenten Plattenspeicherverwaltung Fehlerverwaltung Konfigurationsmanager

Page 34: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.34

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.4.0Komponenten eines Echtzeitbetriebssystems

Page 35: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.35

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.4.1Prozessverwaltung

Grundlegende Prioritätsstufen Interrupt-Stufe

• Vorrangstufe für Prozesse mit sehr kurzer Antwortzeit• Echtzeituhr immer auf Interrupt-Stufe

Echtzeitstufe• nachrangige Stufe für periodische Prozesse

weitere Unterteilung der Prioritätsstufen möglich Ziel: Sicherung der Antwortzeit für alle Prozesse

Page 36: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.36

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.4.1Prozessverwaltung

Bearbeitung von Interrupts Sprung zu Interrupt-Routine Interrupt-Routine muss kurz, einfach und schnell sein

• meist Sperrung anderer Interrupts• Bearbeitung des Ereignisses• Rückkehr zum unterbrochenen Prozess

Bearbeitung von periodischen Prozessen unterschiedliche Häufigkeiten, Ausführungszeiten,

Antwortzeiten Echtzeituhr erzeugt periodisch Interrupts Interrupt ruft Scheduler auf Scheduler wählt einen lauffähigen Prozess zur Ausführung aus

Page 37: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.37

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.4.1Starten von Prozessen

Page 38: © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: 04.06.13 Folie 20.1 Software-Engineering SS 2013 – Alle Master-Studiengänge

© Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen.

Wissen. Was praktisch zählt.

Stand: 04.06.13 Folie 20.38

Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik

20.4.1Einplanungsstrategien

Zeitplanung ohne Unterbrechungnon pre-emptive scheduling einmal gestarteter Prozess läuft,

bis er abgeschlossen oder blockiert ist

Zeitplanung mit Unterbrechungpre-emptive scheduling laufender Prozess kann

durch Prozess höherer Priorität unterbrochen werden

Zeitplanungsalgorithmen Ausführung reihum (Round-Robin) Vorzug für höchste Frequenz (Rate Monotonic Scheduling RMS) Dringlichkeitsorientiert: Prozess mit kürzester Anwortzeit zuerst