1 / 12

Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement

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)

silvio
Download Presentation

Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Ü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

  3. 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

  4. Erweiterungen • Zeitautomaten sind „fast optimal“ • Stoppuhren  unentscheidbar • reelle Konstante  unentscheidbar • variable Geschwindigkeiten unentscheidbar • Hybride Automaten • geringfügige Erweiterungen  Spezialprobleme entscheidbar • Rechteckautomaten • Automaten mit „Uhrenschlupf“

  5. 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

  6. 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 fmax / z=0 f<max fmin / z=1 f>min

  7. Katze-und-Maus-Problem • fängt die Katze die Maus oder nicht? (trifft die Abwehrrakete das Projektil oder nicht?)

  8. Modellierung • Differentialgleichungssystem für diese Variablen Konstante:vk, vm, xz, yz, xm(0), ym(0), xk(0), yk(0) Geschwindigkeitsvektor Mausvm2= xm2+ym2xm= xz-xm(0) , ym= yz-ym(0)dmz= sqrt(xm2+ ym2) xm/ vm= xm/ dmz,ym/vm = ym/ dmz Geschwindigkeitsvektor Katze vk2= xk2+yk2xk = xm-xk , yk = ym-yk dkm= sqrt(xk2+ yk2) xk/ vk= xk/ dkm ,yk/ vk = yk/ dkm Katze Geschwindigkeit vkPosition (xk(t),yk(t)) Ziel (xz,yz) Maus Geschw. vmPos. (xm(t),ym(t))

  9. hybrider Automat Konstante:vk, vm, xz, yz, xm(0), ym(0), xk(0), yk(0) Variable: xm, ym, xk, yk, xk, yk xm = xz-xm(0) , ym = yz-ym(0) dmz= sqrt(xm2+ ym2) xm = xm *vm / dmz ym = ym * vm / dmz xk = xm-xk yk = ym-yk dkm= sqrt(xk2+ yk2) xk= xk *vk/ dkm yk= yk *vk/ dkm nahrung *:xm=xm(0), ym=ym(0),xk=xk(0), yk=yk(0),xm = …, ym=…xk=… yk=… (xm,ym)=(xk,yk) start jagd * (xm,ym)=(xz,yz) rettung

  10. Pause!

  11. Datenflussmodellierung • Beispiel ist stark datenorientiert • Kontrollfluss nur zum Abbruch • Modellierung durch Datenflussdiagramm • jede „Leitung“ entspricht einer Variablen • Konstante als spezielle Variable • Integratoren • Rückkoppelungen

  12. Simulationsergebnis

More Related