Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer."—  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 offene Kommunikationssysteme FOKUS

2 Folie 2 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Noch Fragen? Schema für Controller in C? Was ist ein Codegenerator? Prinzip der Übersetzung Scicos – C? Behandlung von Schleifen? Unterschied Gleitkomma-Festkomma? Codeoptimierungen – welche? Absicherung der Codegenerierung? X-in-the-Loop: Was ist X?

3 Folie 3 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Codegenerierung Codegenerierung aus SysML/UML Codegenerierung aus State Machines 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 Folie 4 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Codegenerierung aus SysML Requirement Diagramme  (noch) nicht wirklich für Code verwendbar Blockdiagramme (BDD/IBD)  VHDL-Code  experimentelle Tools (RTaW, c-Lab U Paderborn)  SysML to SystemC Aktivitätsdiagramme  zur Spezifikation des Kontrollflusses Zustandsdiagramme

5 Folie 5 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Example Source: Mura, Panda, Prevostini: Executable models and Verifivation from MARTE and SysML

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

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

8 Folie 8 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme UML Codegenerierung (Fast) jedes UML Tool behauptet, Code generieren zu können  Wiki listet ca. 100 Tools auf (“Comparison of code generation tools”) Unterschiedliche Fähigkeiten  Meist: Erzeugung von Schablonen  Hohe Schule: Round-trip Engineering Für Eclipse-UML: Acceleo, Modelio (Softeam)

9 Folie 9 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Modelio – Demo vertagt

10 Folie 10 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme UML Zustandsmaschinen neben Klassendiagrammen die am häufigsten zur Codegenerierung verwendete Diagrammart Übertragung der operationellen Semantik in die Zielsprache Beispiel: Hugo-RT, U Augsburg  nimmt beliebiges (Papyrus-) Modell  erzeugt Java und Promela (für Model-Checking)

11 Folie 11 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Schema Paradigma für funktionale Systeme input-process-output Paradigma für eingebettete Systeme loop{sense-think-act}  Hauptschleife, endlos wiederholt: - lies Sensorwerte - berechne Abweichung oder Aktion - schreibe Aktuatorwerte  Innerhalb der Berechnung können verschiedenen Modi (Zustände) angenommen werden Codegeneratoren folgen diesem Paradigma

12 Folie 12 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Beispiel Pacemaker

13 Folie 13 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Example: VDI-Pacemaker Verhalten (vereinfacht) 1.wait for an atrial pulse to be sensed 2.wait for at most the AV delay 3.if within this time a ventricular pulse is detected, goto step 1. 4.otherwise, generate a ventricular pulse and goto step 1.

14 Folie 14 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Allgemeines Übersetzungsschema s = off; while (true) { dequeue i from input stack; case s of off: case i of dn: s = tape; end; tape: case i of dn: s = memory; up: s = off; end; memory: case i of dn: s = play; up: s = off; end; play: case i of dn: s = tape; up: s = off; end; end; } off memorytapeplay dn up Variable s ist der aktuelle Zustand; Variable i ist der aktuelle Input

15 Folie 15 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Sprungtabellentechnik table=[state]x[input]  [state]: table=[[off,dn,tape],[tape,up,off], [tape,dn,memory],...] s=off; while (true){ dequeue i from input stack; s=table[s,i]; } off memorytapeplay dn up Variable s ist der aktuelle Zustand; Variable i ist der aktuelle Input

16 Folie 16 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Codegenerierung für Zustandsmaschinen Behandlung des Event-Pools Behandlung von Parallelität Hierarchisierung Completion Events History-States Übersetzungsschema s = s 0 ; while (true) { dequeue (trigger); let Enabled = {t  T | t=(s,(e,c,a),s´), c = true, e=0 or trigger  e} if (Enabled not empty) { choose some t=(s,(e,c,a),s´) from Enabled; execute a; //potentially enqueing other triggers s = s´; }

17 Folie 17 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Beispiel: VisualState Codegenerierung

18 Folie 18 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Menschen- vs. maschinenlesbarer Code

19 Folie 19 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Verifikation und Reportgenerierung Schlüsselwort: Modellprüfung (model checking)


Herunterladen ppt "Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer."

Ähnliche Präsentationen


Google-Anzeigen