190 likes | 277 Views
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
E N D
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
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
Marwedel‘s Models of Computation http://ptolemy.berkeley.edu/
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
klick off on klick drain drain lo hi ok gain gain Beispiele • Probleme mit dieser Modellierungsart? Lichtschalter: Füllstand:
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)
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
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!)
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
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.
klick off low bright klick klick x:=0 x 3 y:=0 y300 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!)
Und nun etwas formaler • Gegeben eine Menge von Zeitvariablen X. Eine zeitabhängige Bedingung ist eine boolesche Kombination von Formeln der Art x<c, xc (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)
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
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
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
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 EventsGuardsActions S, wobei Events = , Guards = B(V) und Actions = B(V,V´) • s0 Anfangsmodus, mit initialer Variablenbelegung • Inv: SB(V) Verweil-Bedingung für einen Modus • Flow: SB(V,V.) Wertveränderung der Variablen in einem Modus, beschrieben durch lineare Differentialgleichung (v.=c oder v.=f(v))
Beispiel: Thermostat • Beispiel Füllstandsregelung?
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