Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© 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.

Ähnliche Präsentationen


Präsentation zum Thema: "© 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."—  Präsentation transkript:

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

2 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 20.2 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 20Eingebettete Software 20.3Analyse des Zeitverhaltens Antwortzeiten Ausführungszeiten 20.4Echtzeitbetriebssysteme Prozessverwaltung Prioritäten Scheduling

3 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 20.3 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 20.0Lernziele 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

4 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 20.4 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 20.0Eingebettete 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

5 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 20.5 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 20.0Zeitanforderungen 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

6 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 20.6 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 20.0Echtzeitsystem 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

7 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 20.7 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 20.0Charakteristika 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

8 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 20.8 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Entwurf 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

9 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie 20.9 Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Reaktive 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

10 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Beispiel: Stimulus-Response-Tabelle StimulusResponse einzelner Sensor positivAlarm 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 SensorausfallService benachrichtigen Panikschalter positivAlarm auslösen, Lampen im Umfeld des Schaltpults einschalten, Polizei alarmieren AlarmlöschungAlarm ausschalten, Lampen ausschalten

11 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Aufbau eines eingebetteten Echtzeitsystems Sensor Echtzeit- steuerungssystem Aktor

12 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Ü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

13 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Einzelner Sensor-Aktor-Prozess Sensor Sensor- steuerung Aktor Daten- verarbeitung Aktor- steuerung StimulusResponse Sensorsteuerung sammelt Daten von Sensor, puffert diese Daten gegebenenfalls Datenverarbeitung verarbeitet gesammelte Daten und berechnet Reaktion Aktorsteuerung erzeugt Steuerungssignale für die Aktoren

14 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Aktivitä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)

15 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Prozesskoordination 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

16 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Modellierung von Echtzeitsystemen Stimuli bewirken Zustandsübergänge Modellierung durch Zustandsmodelle Darstellung mit UML-Zustandsdiagrammen

17 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Zustandsmodell eines Echtzeitsystems

18 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Programmierung 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

19 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Architekturmuster 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

20 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Anwendung 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

21 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Muster: Beobachten und Reagieren

22 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Prozess: Beobachten und Reagieren

23 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Beispiel: Beobachten und Reagieren

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

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

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

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

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

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

30 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 20.3Analyse des Zeitverhaltens Bestimmung der Häufigkeit von Prozessausführungen um 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

31 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 20.3Beispiel: Zeitanforderungen

32 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik 20.3Beispiel: Zeitanforderungen im Prozessmodell

33 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Echtzeitbetriebssysteme 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

34 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Komponenten eines Echtzeitbetriebssystems

35 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Prozessverwaltung 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

36 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Prozessverwaltung 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

37 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Starten von Prozessen

38 © Prof. Dr. Andreas M. Heinecke, WHS Gelsenkirchen. Wissen. Was praktisch zählt. Stand: Folie Software-Engineering SS 2013 – Alle Master-Studiengänge der Informatik Einplanungsstrategien Zeitplanung ohne Unterbrechung non pre-emptive scheduling einmal gestarteter Prozess läuft, bis er abgeschlossen oder blockiert ist Zeitplanung mit Unterbrechung pre-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


Herunterladen ppt "© 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."

Ähnliche Präsentationen


Google-Anzeigen