Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut...

23
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

Transcript of Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut...

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

Modellbasierte Software-Entwicklung eingebetteter Systeme

Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität

und

Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik

Page 2: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 2H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Intel-Wettbewerb „Embedded“

http://www.intelchallenge.eu/embeddedcompetition/http://newsroom.intel.com/community/en_eu/blog/2011/06/09/intel-s-european-search-for-tomorrow-s-embedded-computing-products-is-open-for-entries

Page 3: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 3H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Codegenerierung

• aus State Machines Visual State Coder andere Tools verfügbar

• Codeoptimierung Größe des generierten Codes

Page 4: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 4H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Codegenerierung für Simulink

Quelle: dSPACE GmbH

• Drei kommerzielle Produkte verfügbar Embedded Coder (MathWorks) Real Time Workshop (MathWorks) TargetLink (dSPACE GmbH)

Page 5: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 5H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Prinzip

Mirko Conrad, Ingo Stürmer

Implementation Model(fixed-point)

C Code Code generator

Compiler(Linker)

Host PC

Target

Physical Model(floating-point)

Cross-compiler(Linker / Loader)

Thanks for the slides: Daniela Weinberg

Page 6: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 6H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Beispiel

• Schaltsystem mit Schwellwert 0.5 physikalisches Modell (SimuLink)

Implementierungsmodell (TargetLink)

Äquivalenz?

Page 7: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 7H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

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 { /* # combined # Outport: switch_system/OutputPort */ Sa1_OutputPort_ = Sa1_Input1_; }}

Page 8: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 8H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Codeabsicherung

• Qualitätssicherung auf jeder Ebene notwendig!

Implementation Model(fixed - point)

C Code Code generator

Compiler(Linker)

Host PC

Target

Physical Model(floating - point)

Cross-compiler(Linker / Loader)

(b) Code-

Generator

(c) generierter

Code(a) Modell (d) Code

Ausführung

Wie kann man sicherstellen, dass der generierte Code das Erwartete leistet?

Page 9: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 9H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

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

Page 10: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 10H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

QVT Beispiel

•Geg. Metamodell für Quell- und Zielmodelle

A Model-Driven Development Approach to Mapping UML State Diagrams to Synthesizable VHDLStephen K. Wood, David H. Akehurst, Oleg Uzenkov,W. Gareth J. Howells, and Klaus D. McDonald-Maier

Page 11: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 11H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

VHDL Metamodell

Page 12: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 12H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

QVT Regel

Page 13: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 13H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Beispiel: Elimination von „deep transitions“

Graphical Composition of State-Dependent Use Case Behavioral Models Jon Whittle, João Araújo, Ana Moreira, Rasheed Rabbi

Page 14: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 14H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

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

Page 15: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 15H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

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.

Page 16: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 16H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Eingebettete Systeme: Aufbau

Applikationsschicht

SteuerungsalgorithmusBenutzungsschnittstelle

Realzeit-Betriebssystem

Hardware

ProzessankopplungNetzverbindungSensorik,

Aktuatorik

Middleware

(Funk-) Netzwerk

Page 17: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 17H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

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)

Page 18: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 18H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Renesas H8/3297-3292 Microcontroller

http://eu.renesas.com/fmwk.jsp?cnt=product_folder.jsp&fp=/products/mpumcu/h8_family/h8300_series/h83297_group

• 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”

Page 19: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 19H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

EA-Ports

• Sensoreingä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

Page 20: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 20H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

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

Page 21: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 21H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

SILabs MCUniversity

•C8051F020 mixed-signal MCU

•25 MIPS, 64 kB Flash, 12-Bit ADC, 100-Pin

Page 22: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 22H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

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 …

Page 23: Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Folie 23H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Aufgabe

•generierte SW „zum Laufen bringen“