Post on 05-Apr-2015
transcript
7.12.2005
Software-Engineering IIEingebettete Systeme, Softwarequalität, Projektmanagement
Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität
und
Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
Folie 2H. Schlingloff, Software-Engineering II 7.12.2005
Hinweis
• U Swansea Sokrates-Austausch für Hörer dieser Vorlesung! http://news.bbc.co.uk/2/hi/uk_news/wales/4464736.stm
Folie 3H. Schlingloff, Software-Engineering II 7.12.2005
Beispiel Wasserstandsregelung
•Hausaufgabe wurde aktualisiert!
Folie 4H. Schlingloff, Software-Engineering II 7.12.2005
Übersicht
• 0. Einleitungsbeispiel (Mars Polar Lander)• 1. Eingebettete Systeme
1.1. Definitionen (eingebettetes System,Realzeit, Prozess, Steuerung, …)
1.2. Anforderungsanalyse 1.3. Modellierung
- Timed Automata, UPPAAL- Hybride Automaten- Datenflussmodelle, SimuLink
1.4. Architektur- Hard- und Software-Aufbau- Fehlertoleranz- Echtzeitbetriebssysteme, Scheduling
Folie 5H. Schlingloff, Software-Engineering II 7.12.2005
Eingebettete Systeme: Hardware
• Spezielle Prozessoren 4-bitter, minimale Kosten, energieoptimiert keine MMU, Coprozessoren, FloatingPoint Microcontroller mit zusätzlichen Steuerungsleitungen Spezialprozessoren (DSP, SoC, Krypto) Trend: FPGAs
• Spezielle Speicher meist bewegungslos (keine magnetischen/optischen Medien) ROM, PROM, EEPROM; zunehmend: Flash Disks minimaler RAM, auch; dual ported RAM
• Zusatzhardware Spezielle Platinen, AD/DA-Wandler, ASICs einsatzspezifische Sensoren und Aktuatoren
• Einfache Kommunikationsbusse und –netze CAN, Feldbusse; zunehmend auch Ethernet, Bluetooth etc.
Folie 6H. Schlingloff, Software-Engineering II 7.12.2005
Eingebettete Systeme: Aufbau
Applikationsschicht
SteuerungsalgorithmusBenutzungsschnittstelle
Realzeit-Betriebssystemoder Middleware
Hardware
ProzessankopplungNetzverbindungSensorik,
Aktuatorik
Folie 7H. Schlingloff, Software-Engineering II 7.12.2005
Eingebettete Systeme: Software
• keine dynamische Speicherzuteilung!• in den allermeisten Fällen C, manchmal Java Bytecode
(JVM?), selten Assembler• Module als Instanzendiagramme beschrieben (feste
Instanziierung)• Kommunikation über Nachrichten auf fest zugeteilten
Speicherplätzen• Komponenten sind ereignisgetrieben, reagieren auf
Unterbrechungen von Sensoren oder Uhren, indem sie ihren Zustand ändern und Nachrichten verschicken
• Spezifikation durch Modelle (z.B. StateCharts, SimuLink)
• Codegenerierung, Entwurfsmuster
Folie 8H. Schlingloff, Software-Engineering II 7.12.2005
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
Folie 9H. Schlingloff, Software-Engineering II 7.12.2005
• 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, SelbstdiagnoseProgrammierung 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)
Beispiel SPS
Folie 10H. Schlingloff, Software-Engineering II 7.12.2005
SPS - Grundsätzlicher Aufbau
aus: http://www.tfh-berlin.de/~msr/pdf-files/Steuerungstechnik/STE_Vorlesung%20Teil%2001.pdf
Folie 11H. Schlingloff, Software-Engineering II 7.12.2005
SPS - Programmierung
Folie 12H. Schlingloff, Software-Engineering II 7.12.2005
Beispiel: SPS-Simulator TrySim
Folie 13H. Schlingloff, Software-Engineering II 7.12.2005
Reaktionszeiten
• maximale Reaktionszeit setzt sich zusammen aus1. Hardwareverzögerung an den Eingängen2. Abfragezeit an den Eingängen3. Systemverwaltungszeit4. Signalverarbeitungszeit5. Hardwareverzögerung an den Ausgängen