Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modellbasierte Software-Entwicklung eingebetteter Systeme

Ähnliche Präsentationen


Präsentation zum Thema: "Modellbasierte Software-Entwicklung eingebetteter Systeme"—  Präsentation transkript:

1 Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik

2 Intel-Wettbewerb „Embedded“

3 Codegenerierung aus State Machines Codeoptimierung Visual State Coder
andere Tools verfügbar Codeoptimierung Größe des generierten Codes

4 Codegenerierung für Simulink
Drei kommerzielle Produkte verfügbar Embedded Coder (MathWorks) Real Time Workshop (MathWorks) TargetLink (dSPACE GmbH) Quelle: dSPACE GmbH

5 Thanks for the slides: Daniela Weinberg
Prinzip Thanks for the slides: Daniela Weinberg

6 Beispiel Schaltsystem mit Schwellwert 0.5
physikalisches Modell (SimuLink) Implementierungsmodell (TargetLink) Äquivalenz?

7 generierter Code Zweierpotenz-Skalierung; 128 * 2-8 = 0.5
Void switch_system(Void) { /* Switchswitch_system/switch_primitive */ if (Sa1_Input2_ >= 128 /* 0.5 */) { /* # combined # Outport: switch_system/OutputPort */ Sa1_OutputPort_ = Sa1_Input1_; } else {

8 Codeabsicherung Wie kann man sicherstellen, dass der generierte Code das Erwartete leistet? (c) generierter Code (a) Modell (b) Code- Generator (d) Code Ausführung Physical Model (floating - point) Compiler (Linker) Host PC Code generator C Code Target Implementation Model (fixed - point) Cross - compiler (Linker / Loader ) Qualitätssicherung auf jeder Ebene notwendig!

9 Modelltransformation
Codegenerator = Compiler Grammatik  Metamodell Abstrakter Syntaxbaum  XML-Repräsentation Attributgrammatik  Graphtransformation Realisierung von Modell-Codegeneratoren durch Modelltransformationen verschiedene Standards verfügbar: QVT/M2M, ATL, MOF2Text, Tefkat, XSLT, ...

10 QVT Beispiel Geg. Metamodell für Quell- und Zielmodelle
A Model-Driven Development Approach to Mapping UML State Diagrams to Synthesizable VHDL Stephen K. Wood, David H. Akehurst, Oleg Uzenkov, W. Gareth J. Howells, and Klaus D. McDonald-Maier

11 VHDL Metamodell

12 QVT Regel

13 Beispiel: Elimination von „deep transitions“
Graphical Composition of State-Dependent Use Case Behavioral Models Jon Whittle, João Araújo, Ana Moreira, Rasheed Rabbi

14 Deployment Wie realisiert man elektrische / elektronische / elektronisch programmierbare Regler? welche Hardware, Software? welche Peripherie (Sensorik, Aktuatorik?) wie kommt die SW auf die HW? Übung mit Lego- und anderen Systemen

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

16 Eingebettete Systeme: Aufbau
Applikationsschicht Steuerungsalgorithmus Benutzungsschnittstelle Realzeit-Betriebssystem Middleware Hardware Sensorik, Aktuatorik Netzverbindung Prozessankopplung (Funk-) Netzwerk

17 Beispiel: Lego RCX Robotic Command Explorer (1998)
„Programmable Brick“ ursprüngliches Design: S. Papert, MIT Media Lab Vorläufer: Code Pilot, Cybermaster, Scout wie programmieren? Nachfolger: NXT (2006) Hitachi Single-Chip-Mikrocontroller Display, 4 Knöpfe, Batteriefach 3 analoge Eingänge, 3 analoge Ausgänge IR-Kommunikation (seriell)

18 Renesas H8/3297-3292 Microcontroller
H8/300-CPU 16 KB ROM 0,5 KB (!) RAM 8 E/A-ports (8-Bit), SCI 16 Register (8-Bit) max. 16 MHz Takt Timer, A/D-Wandler etc. “disencouraged”

19 EA-Ports Sensoreingänge Motorausgänge
Spannungsmessung, 100=Kurzschluss, 0=kein Kontakt Über U=R.I lässt sich Widerstand messen Schalter, Temperatursensor (passiv) Lichtsensor, Drehsensor (aktiv) 3 ms Batteriespannung, 0.1 ms Sensorwert Motorausgänge Leistungssteuerung über Pulsweitenmodulation Verschaltungssicher Motoren, Lämpchen

20 NXT Lego „Technik“ Serie Atmel 32-Bit-ARM-Prozessor
AT91SAM7S256; 256 kB Flash-Speicher, 64 KB RAM, 48 MHz Koprozessor: Atmel 8-Bit AVR, ATmega48; 4 KB Flash-Speicher, 512 Byte RAM, 8 MHz digitale Sensoren (Ultraschall, Spezialsensoren), 4 Stecker I2C-Bus digital/analog-Kabel mit Spezialstecker Motoren mit Drehwinkelsensor Bluetooth-Kommunikation, USB-Anschluss Punktmatrix-Display, 8-bit Sound Firmware mit Dateisystem

21 SILabs MCUniversity C8051F020 mixed-signal MCU
25 MIPS, 64 kB Flash, 12-Bit ADC, 100-Pin

22 Atmel RN-mega 2560 ATmega AVR® 8-Bit Microcontroller
RISC Architecture, up to 16 MIPS Throughput at 16 MHz, On-Chip 2-cycle Multiplier 100 pin 256 K Flash 8K RAM, 4K EEPROM Timer, PWM-Kanäle 16 analoge Eingänge, 86 programmierbare I/O Leitungen vier TTL UARTS (RX/TX) RS232, USB, I2C, SPI-Bus

23 Aufgabe generierte SW „zum Laufen bringen“


Herunterladen ppt "Modellbasierte Software-Entwicklung eingebetteter Systeme"

Ähnliche Präsentationen


Google-Anzeigen