Post on 12-Jan-2016
description
transcript
Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität
und
Fraunhofer 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)
Katze
Geschwindigkeit vk
Position (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
Maus
Geschw. vm
Pos. (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 m
Auslenkung 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
max
min
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
max
min