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

Post on 06-Apr-2016

213 views 0 download

transcript

Modellbasierte Software-Entwicklung eingebetteter Systeme

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

undFraunhofer Institut für offene Kommunikationssysteme FOKUS

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

Fragerunde

• Wie drückt man Ziele und Strategien in SysML aus?• Wie hängen UC und SD zusammen?• In welcher Reihenfolge erfolgt die Modellierung?• Wie modelliert man Systemarchitekturen?• Was versteht man unter Deployment?• Kennen Sie eine Methodik zur Modellierung physikalischer

Zusammenhänge?• Was ist die Funktion von Events in Scicos?

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

Katze-und-Maus-Problem

• fängt die Katze die Maus oder nicht?(trifft die Abwehrrakete das Projektil oder nicht?)

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

Modellierung

• Differentialgleichungssystem für diese Variablen

Ziel (xz,yz)

KatzeGeschwindigkeit vkPosition (xk(t),yk(t))

Konstante:vk, vm, xz, yz, xm(0), ym(0), xk(0), yk(0)Geschwindigkeitsvektor Maus vm

2 = xm

2+ym2

xm = xz-xm(0) , ym = yz-ym(0) dmz= sqrt(xm

2+ ym2)

xm/ vm= xm/ dmz , ym/vm = ym/ dmz

Geschwindigkeitsvektor Katze vk

2 = xk

2+yk2

xk = xm-xk , yk = ym-yk dkm= sqrt(xk

2+ yk2)

xk/ vk= xk/ dkm , yk/ vk = yk/ dkm

MausGeschw. vmPos. (xm(t),ym(t))

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

Datenflussmodellierung

• Beispiel ist stark datenorientiert Kontrollfluss nur zum Abbruch

• Modellierung durch Datenflussdiagramm jede „Leitung“ entspricht einer Variablen Konstante als spezielle Variable

• Integratoren

• Rückkoppelungen

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

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

Simulationsergebnis

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

Abstraktion

• Hauptstärke der Modellierung besteht in der Möglichkeit, Blöcke zusammenzufassen Abstraktion von

Verhalten baumartige Navigation Parametrisierung Modulbibliotheken externe Erweiterungen Codeanbindung

• Modelltransformation und –entwicklung!

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

Pendel

• Aufstellen physikalischer Schwingungsgleichungen• Erstellen eines Simulationsmodells (Strecke/Regelung)• Simulation und Validierung des Modells• Codegenerierung

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

einfaches Pendel

• Ansatz: Trägheitskraft = Rückstellkraft m*s= -m*g*sin =s/L m*s=-m*g*sin(s/L)

• Anfangsbedingung (0) bzw. s(0)• Analytische Lösung meist schwierig / nicht nötig• Simulation: Auflösen nach der höchsten Ableitung

s=-g*sin(s/L) „tu so als wenn s gegeben wäre und male ein Diagramm“

Länge L

Masse mAuslenkung s

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

Pause

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

gesteuerte Systeme

• Randbedingungen von der Natur oder vom Auftraggeber vorgegeben

- z.B. physikalische Beschränkungen- z.B. Altsysteme, zu beachtende Restriktionen etc.

Verantwortlichkeit des Auftraggebers Modelliert z.B. in Scicos

• Steuerfunktionalität Abbildung von überwachten in gesteuerte Größen i.A. mehrdeutig, relational; Definitionsbereich von

Randbedingungen eingeschränkt, Wertebereich gibt zulässige Trajektorien an

Verantwortlichkeit des Systemingenieurs Modelliert?

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

Beispiel Wasserstand

• Randbedingungen 0 f(t) h 0 < f(t) < h f´(t)= k1*z(t) – k2*a(t)

• Steuerfunktionalität als Klauseln

f(t) min z(t) = 1f(t) max z(t) = 0

als partielle Funktion 1 falls f(t) min

z(t) = 0 falls f(t) max undef sonst

als AbbildungC ={(f(t), z(t)) | (f(t) min z(t) = 1) (f(t) max z(t) = 0)}

FüllstandsanzeigerZulauf

Ablauf

maxmin

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

in Scicos

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

Trajektorienbereiche

• intendierte, erlaubte und verboten

t

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

im Beispiel

• Zulauf sei kontinuierlich regelbar (0 z(t) 1)• Annahme: min = max = soll• der Füllstand sollte möglichst nahe an soll

gehalten werden intendiertes Verhalten: je näher der Füllstand bei soll

ist, desto mehr wird der Zulauf geschlossen erlaubtes Verhalten: voller Zulauf bis soll erreicht

wird, dann zu (oszilliert, ruiniert auf Dauer das Ventil) verboten: max wird irgendwann überschritten und

Ventil ist auf gesucht: „sanfte“ Regelung

FüllstandsanzeigerZulauf

Ablauf

maxmin