1 / 19

Eingebettete Systeme Qualität und Produktivität

Eingebettete Systeme Qualität und Produktivität. Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik. War wir bislang hatten. Einführungsbeispiel (Mars Polar Lander) Automotive Software Engineering

blaine
Download Presentation

Eingebettete Systeme Qualität und Produktivität

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. Eingebettete SystemeQualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik

  2. War wir bislang hatten • Einführungsbeispiel (Mars Polar Lander) • Automotive Software Engineering • Domänen-Engineering • Modellbasierte Entwicklung • Anforderungsdefinition und -artefakte • Lastenheft TSG • Ziele und Szenarien • Strategien • Modellierung • physikalische Modellierung • Anwendungs- und Verhaltensmodellierung • Berechnungsmodelle, zeitabhängige & hybride Automaten

  3. Marwedel‘s Models of Computation http://ptolemy.berkeley.edu/

  4. Your Toy Modelling Language? • Automaten (NFA, FSM, Transitionssystem, Zustandsdiagramm, StateChart, …) • Def.: A=(Σ,S,δ,S0,Sf) • Σ (endl.) Alphabet; evtl. Sonderzeichen Σ • S (endl.) Zustandsmenge • δ Transitionsrelation δ S Σ S • S0 Anfangszustände • (Sf Endzustände) • δ* als transitive Hülle der Transitionsrelation • Scott & Rabin: akzeptierte bzw. generierte Sprache

  5. klick off on klick drain drain lo hi ok gain gain Beispiele • Probleme mit dieser Modellierungsart? Lichtschalter: Füllstand:

  6. Automaten mit Ausgabe • Mealy-Automat • Σ = I  O oder Σ = I  O oder Σ = (I {}) (O  {}) • Transformation von Eingabewörtern in Ausgabewörter • Moore-Automat • Σ als reines Eingabe-Alphabet • Output-Funktion out von S nach O • ineinander transformierbar(siehe wikipedia)

  7. Erweiterte Automaten • V=(v1,…,vn) endliche Menge von Variablen über den Domänen (Wertebereichen, Typen) D1,…,Dn • Transition enthält Zuweisungen • Aktion v´=t bedeutet Variable v erhält den Wert des Terms t • Schalten von Transitionen durch Bedingungen eingeschränkt • guard ist aussagen- oder prädikatenlogische Formel über den Variablen V und gewissen elementaren Prädikaten / Vergleichen • oft: boolesche Kombination von (Un-)Gleichungen x<c, x≤c, x=c • Allgemeine Form: event [guard] / action • vgl. UML Zustandsdiagramme

  8. inc inc inc inc S0 S1 S2 S3 dec dec dec dec inc [x<3] x´= x+1; x:=0 inc [x=3] dec [x=0] dec [x>0] x´= x-1; Beispiel: Bounded Counter • konzisere Darstellung (falls Domänen endlich!)

  9. Zustand 1 Zustand 2 after (5 ms) / Aktivität Modellierung von Realzeit • Realzeitkonzepte in UML Zustandsdiagrammen • after (time) als Trigger • absoluter Zeitpunkt als Trigger • Informelle Semantik • die Transition wird t Zeiteinheiten nach dem Zeitpunkt zu dem sie aktiv wird ausgeführt • die Transition wird zur angegebenen Uhrzeit ausgeführt • Vielfach nicht ausreichend • keine Mindest- / Höchstwartezeiten • keine Möglichkeit mehrere Uhren zu verwenden

  10. a / x:=0 S1 S2x<2 b [x>1] Timed Automata • Timed Automata (zeitbeschriftete Automaten) erweitern das Konzept klassischer endlicher Automaten um (Stopp-)Uhren • Uhren laufen ständig (kein Anhalten) • alle Uhren laufen mit der selben Geschwindigkeit (perfekte Uhren, t´=1) • Uhren können durch Transitionen auf 0 zurückgesetzt werden • Uhren können das Schalten von Transitionen beeinflussen • Eine Uhr x. • Keine Invariante an s1, also kann das System beliebig lang in s1 bleiben. • Beim Übergang zu s2 mit a wird die Uhr auf 0 zurückgesetzt. • In s2 läuft die Uhr. • Frühestens 1 Zeiteinheit später ist der Übergang zu s möglich, spätestens 2 Zeiteinheiten später muss er stattfinden.

  11. klick off low bright klick klick x:=0 x  3 y:=0 y300 klick x>3 y>300 Anwendungsbeispiel • Doppelklick-Schalter • Klick an, klick aus • Wenn zweimal hintereinander schnell geklickt wird, heller • Zusatzanforderung • Schalte nach spätestens 300 s wieder dunkler Mehr über timed automata:Rajeev Alur, Tom HenzingerR. Alur and T.A. Henzinger. Real-time logics: complexity and expressiveness.Information and Computation 104(1):35-77, 1993R. Alur and D.L. Dill. A theory of timed automata.Theoretical Computer Science 126:183-235, 1994 http://www.cis.upenn.edu/~alur/Talks/sfm-rt-04.ppt(lesen!)

  12. Und nun etwas formaler • Gegeben eine Menge von Zeitvariablen X. Eine zeitabhängige Bedingung ist eine boolesche Kombination von Formeln der Art x<c, xc (rationales c) • Ein zeitbeschrifteter Automat ist ein Tupel bestehend aus • endlicher Menge L von Orten oder Plätzen (locations) • Teilmenge L0 von Anfangsorten • endliches Alphabet  von Ereignissen • endliche Menge  von Uhren (-variablen) • Invariante Inv(s) für jeden Ort (zeitabhängige Bedingung, optional) • endliche Menge E von Transitionen bestehend aus • Quelle, Zielort • Ereignis aus dem Alphabet (optional) • zeitabhängige Bedingung (optional) • Menge von Uhren die zurückgesetzt werden (optional)

  13. Semantik • Jedem zeitbeschrifteten Automaten wird ein zustandsunendliches Transitionssystem zugeordnet • Zustände: (l, v) wobei l ein Ort und v eine Belegung der Uhren mit reellen Werten ist die Inv(l) erfüllt • Anfangszustände: (l0,(0,…,0)) • Zustandsübergänge • Kontrollschritt: (l,v) –a–>(l´,v´) falls ein Übergang (l,a,g,r,l´) existiert mit v erfüllt g und v´=v[r:=0] • Zeitschritt: (l,v) –d–>(l´,v´) falls l´=l und v´=v+d und sowohl v als auch v´ erfüllen Inv(l) • Jeder Pfad durch das Transitionssystem ist ein Ablauf des Automaten • Achtung: z.B. bei inkonsistenten Bedingungen leere Menge

  14. Beobachtungen und Erweiterungen • Simulation schnell, einfach • manuell der zufallsgesteuert • Modellprüfung für Zeitautomaten ist entscheidbar • Stoppuhren  unentscheidbar • reelle Konstante  unentscheidbar • variable Geschwindigkeiten unentscheidbar • Hybride Automaten • geringfügige Erweiterungen  Spezialprobleme entscheidbar • Rechteckautomaten • Automaten mit „Uhrenschlupf“ • Keine kontinuierliche Veränderung von Werten • zur Modellierung werden mächtigere Konzepte benötigt

  15. Beschreibung von Veränderung • V=(v1,…,vn) reellwertige Variablen • kontinuierliche Wertveränderung beschrieben durch (lineare) Differentialgleichung • V´= (v1´, …,vn´); V.= (v1., …,vn.) • diskrete und kontinuierliche Wertveränderung • B(V): Menge der Bedingungen über den Variablen V, d.h. boolesche Kombination von atomaren Formeln über V • z.B. x<c, x≤c, x=c • z.B. x-y<c, x-y≤c • z.B. x´=x+1, x2+3x+9=0 • z.B. x. = -1 • z.B. x. * y. =0

  16. Hybride Automaten • Wie oben, nur mit kontinuierlichen Variablen • Def.: A=(V, ,S, δ, s0, Inv, Flow) • V Menge von (kontinuierlichen) Variablen, •  endliches Alphabet von Ereignissen (events) • S (endl.) Menge von Modi (Zustand = Modus + Variablenbelegung) • δ Transitionsrelation δ S EventsGuardsActions S, wobei Events = , Guards = B(V) und Actions = B(V,V´) • s0 Anfangsmodus, mit initialer Variablenbelegung • Inv: SB(V) Verweil-Bedingung für einen Modus • Flow: SB(V,V.) Wertveränderung der Variablen in einem Modus, beschrieben durch lineare Differentialgleichung (v.=c oder v.=f(v))

  17. Beispiel: Thermostat • Beispiel Füllstandsregelung?

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

More Related