Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik 23.6.2009
War wir bislang hatten Einführungsbeispiel (Mars Polar Lander) Automotive Software Engineering Anforderungsdefinition und -artefakte Lastenheft TSG Ziele und Szenarien Strategien Modellierung physikalische Modellierung Anwendungs- und Verhaltensmodellierung Berechnungsmodelle, zeitabhängige & hybride Automaten Datenflussmodelle (Katze und Maus) Regelungstechnik PID-Regelung HW für Regelungsaufgaben speicherprogrammierbare Steuerungen 23.6.2009
Eingebettete Systeme: Software keine dynamische Speicherzuteilung, möglichst keine Zeiger feste Instanziierung, festes Linking Komponenten sind ereignisgetrieben, reagieren auf Unterbrechungen von Sensoren oder Uhren, indem sie ihren Zustand ändern und Nachrichten verschicken Kommunikation über Nachrichten auf fest zugeteilten Speicherplätzen Programmierung in den allermeisten Fällen C, selten Assembler, manchmal Java Bytecode (JVM?), .Net? Spezifikation durch Modelle (z.B. StateCharts, SimuLink) Codegenerierung, Entwurfsmuster 23.6.2009
Software-Entwurfsmuster Control Loop innerhalb einer festen Schleife werden die Sensorwerte abgelesen, Aktionen berechnet, und Aktuatorausgänge angesteuert Special Task Agent Prozess wird durch Ereignis angestoßen, führt Berechnung durch, legt sich wieder schlafen Watchdog Komponente, die regelmäßig angestoßen („gefüttert“) werden muss, ansonsten leitet sie eine Ausnahmebehandlung an („beißt“) Sanity Check eine Task rechnet, die andere überwacht die Plausibilität TMR dreifach modulare Redundanz mit Voting, siehe nachher 23.6.2009
Beispiel SPS speicherprogrammierbare Steuerungen (engl. PLC, programmable logic controller) seit 1960-er Jahre Standard in der Automatisierungstechnik normierte Anschlüsse 24V; hinter jedem Eingang Entprellung und elektrische Trennung; Ausgänge für Relais oder Halbleiter EPROM programmierbar über serielle Schnittstelle Feldbus- und Netzanbindungsmöglichkeiten Ausführungsmodell: Control Loop Start und Stoppzustand, Selbstdiagnose Programmierung während Stopp, Initialisierung beim Start verschiedene Programmiermöglichkeiten (DIN EN 61131) IL/AWL (Instruction List, Anweisungsliste), ST (strukturierter Text) LD/KOP (Ladder Diagram, Kontaktplan), FBD/FUP (Funktionsplan), SFC/AS (Sequential Function Chart, Ablaufsprache) 23.6.2009
SPS - Grundsätzlicher Aufbau aus: http://www.tfh-berlin.de/~msr/pdf-files/Steuerungstechnik/STE_Vorlesung%20Teil%2001.pdf 23.6.2009
SPS - Programmierung 23.6.2009
Beispiel: SPS-Simulator TrySim 23.6.2009
anderes Beispiel: WinSPS 23.6.2009
Reaktionszeiten maximale Reaktionszeit setzt sich zusammen aus Hardwareverzögerung an den Eingängen Abfragezeit an den Eingängen Systemverwaltungszeit Signalverarbeitungszeit Hardwareverzögerung an den Ausgängen 23.6.2009