120 likes | 238 Views
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement. Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik. Übersicht. 0. Einleitungsbeispiel (Mars Polar Lander)
E N D
Software-Engineering IIEingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
Übersicht • 0. Einleitungsbeispiel (Mars Polar Lander) • 1. Eingebettete Systeme • 1.1. Definitionen (eingebettetes System,Realzeit, Prozess, Steuerung, …) • 1.2. Anforderungsanalyse • allgemeine Vorgehensweise • Beispiel Türsteuergerät • systematische Ansätze; Def. Modus, Kondition, Historie • Anwendungsfallbeschreibungen • 1.3. Modellierung • Timed Automata, UPPAAL • Hybride Automaten • Datenflussmodelle, SimuLink
Time Petri Netze • Modellierung von Realzeit mit Parallelität • Bipartiter Graph aus Stellen und Transitionen; Marken repräsentieren Prozesse • Jede Transition hat eine eigene Uhr; zurückgesetzt sobald schaltbar • früheste und späteste Schaltzeit (Intervall [0,) • Transition kann erst nach Ablauf der frühesten, muss aber nach Ablauf der spätesten Schaltzeit schalten
Erweiterungen • Zeitautomaten sind „fast optimal“ • Stoppuhren unentscheidbar • reelle Konstante unentscheidbar • variable Geschwindigkeiten unentscheidbar • Hybride Automaten • geringfügige Erweiterungen Spezialprobleme entscheidbar • Rechteckautomaten • Automaten mit „Uhrenschlupf“
klick / x´= 0 x>2 / x´= 2 Hybride Automaten • Anreicherung von Zeitautomaten um kontinuierliche Variablen • z.B. doppelte Uhrgeschwindigkeit (multi-slope clocks) x=2 • z.B. Stoppuhren (Anhaltemöglichkeit) x=0 • z.B. nichtlineare Funktionen (gleichmäßige Beschleunigung) x=1 • z.B. allgemeine Differentialgleichungen • Zuweisungen in Transitionen • Achtung: in Literatur auch „beim Betreten eines Ortes“ • Spezialfall Uhrenvariable • nur Zuweisungen x=0, globale Konstante x=1
Zulauf Füllstandsanzeiger max min Ablauf full high f=h / f´= – k2a f<h / f´= k1z – k2a mid ok f=0 / f´= k1z f>0 / f´= k1z – k2a emty low Beispiel Füllstandsregelung Randbedingungen 0 f(t) h 0 < f(t) < h f´(t)= k1*z(t) – k2*a(t) Steuerfunktionalität f(t) min z(t) = 1 f(t) max z(t) = 0 Strecke Regelung fmax / z=0 f<max fmin / z=1 f>min
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))
hybrider Automat Konstante:vk, vm, xz, yz, xm(0), ym(0), xk(0), yk(0) Variable: xm, ym, xk, yk, xk, yk xm = xz-xm(0) , ym = yz-ym(0) dmz= sqrt(xm2+ ym2) xm = xm *vm / dmz ym = ym * vm / dmz xk = xm-xk yk = ym-yk dkm= sqrt(xk2+ yk2) xk= xk *vk/ dkm yk= yk *vk/ dkm nahrung *:xm=xm(0), ym=ym(0),xk=xk(0), yk=yk(0),xm = …, ym=…xk=… yk=… (xm,ym)=(xk,yk) start jagd * (xm,ym)=(xz,yz) rettung
Datenflussmodellierung • Beispiel ist stark datenorientiert • Kontrollfluss nur zum Abbruch • Modellierung durch Datenflussdiagramm • jede „Leitung“ entspricht einer Variablen • Konstante als spezielle Variable • Integratoren • Rückkoppelungen