160 likes | 284 Vues
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. Fragerunde. Wie drückt man Ziele und Strategien in SysML aus?
E N D
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
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?
Katze-und-Maus-Problem • fängt die Katze die Maus oder nicht? (trifft die Abwehrrakete das Projektil oder nicht?)
Modellierung • Differentialgleichungssystem für diese Variablen Konstante:vk, vm, xz, yz, xm(0), ym(0), xk(0), yk(0) Geschwindigkeitsvektor Mausvm2= xm2+ym2xm= xz-xm(0) , ym= yz-ym(0)dmz= sqrt(xm2+ ym2) xm/ vm= xm/ dmz,ym/vm = ym/ dmz Geschwindigkeitsvektor Katze vk2= xk2+yk2xk = xm-xk , yk = ym-yk dkm= sqrt(xk2+ yk2) xk/ vk= xk/ dkm ,yk/ vk = yk/ dkm Katze Geschwindigkeit vkPosition (xk(t),yk(t)) Ziel (xz,yz) Maus Geschw. vmPos. (xm(t),ym(t))
Datenflussmodellierung • Beispiel ist stark datenorientiert • Kontrollfluss nur zum Abbruch • Modellierung durch Datenflussdiagramm • jede „Leitung“ entspricht einer Variablen • Konstante als spezielle Variable • Integratoren • Rückkoppelungen
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!
Pendel • Aufstellen physikalischer Schwingungsgleichungen • Erstellen eines Simulationsmodells (Strecke/Regelung) • Simulation und Validierung des Modells • Codegenerierung
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
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?
Zulauf Füllstandsanzeiger max min Ablauf 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 Abbildung C ={(f(t), z(t)) | (f(t) min z(t) = 1) (f(t) max z(t) = 0)}
t Trajektorienbereiche • intendierte, erlaubte und verboten
Zulauf Füllstandsanzeiger max min Ablauf 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