190 likes | 284 Views
Explore advanced modeling techniques like Automata for system development. Dive into time-sensitive modeling and real-time concepts. Learn from examples and experts.
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