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 Systematik der Modellerstellung
Für jedes Bedienelement (Schalter, Knopf, Sensor) die verschiedenen Positionen als Zustand und die Benutzereingaben als Ereignis Für jedes Ausgabeelement die verschiedenen physikalischen Zustände modellieren Steuerung zur Verbindung der Ein- und Ausgaben Parallelschaltung dieser Automaten ergibt Modell der Steuerung Umgebungsmodell zur Modellierung der physikalischen Realität (z.B. Sensorereignis falls Motor am Anschlag) Parallelschaltung dieser Automaten ergibt Systemmodell

3 Heute: Codegenerierung
Codegenerierung aus State Machines Codegenerierung aus Simulink Codegenerator ist „Compiler für Modelle“ Wiederverwendung schnelle Prototyp- und Produkterstellung erhöhte Zuverlässigkeit gegen Programmierfehler automatische Optimierung des generierten Codes Ziel: automatische Übersetzung von Modellen in ausführbaren (C-) Code

4 Codegenerierung aus State Machines
Übersetzung eines endlichen Automaten nach C? loop case/switch Adjazenzmatrix

5 State Machine Besonderheiten
Hierarchie geschachtelte Zustände Parallelität Zustandsraumvektor Kommunikation Event-Queue Nichtdeterminismus i.A. verboten

6 Beispiel: Visual State Coder

7 Codeoptimierung Hauptkriterium: Größe des generierten Codes!
Variablenbreite (int8 statt int32, state_type, ...) Prozessorspezifika (Register, Timer, ...) werden meist vom Target Compiler optimiert Tabellenformat benötigt Ausführungs-Engine! ( bytes Overhead) Laufzeit festgelegt durch „run-to-completion“-Semantik

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

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

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

11 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 {

12 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!

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

14 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

15 VHDL Metamodell

16 QVT Regel

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


Herunterladen ppt "Modellbasierte Software-Entwicklung eingebetteter Systeme"

Ähnliche Präsentationen


Google-Anzeigen