7.12.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof....

Post on 05-Apr-2015

104 views 0 download

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