Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Eingebettete Systeme Qualität und Produktivität

Ähnliche Präsentationen


Präsentation zum Thema: "Eingebettete Systeme Qualität und Produktivität"—  Präsentation transkript:

1 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

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

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 Beispiele Probleme mit dieser Modellierungsart? Lichtschalter:
off on klick Lichtschalter: hi ok drain gain lo Füllstand: Probleme mit dieser Modellierungsart?

6 Automaten mit Ausgabe Mealy-Automat Moore-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 Beispiel: Bounded Counter
inc dec x:=0 inc [x<3] x´= x+1; inc [x=3] dec [x=0] dec [x>0] x´= x-1; konzisere Darstellung (falls Domänen endlich!)

9 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 Zustand 1 Zustand 2 after (5 ms) / Aktivität

10 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. S1 S2 x<2 a / x:=0 b [x>1]

11 Anwendungsbeispiel Doppelklick-Schalter Zusatzanforderung
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 Henzinger R. Alur and T.A. Henzinger. Real-time logics: complexity and expressiveness. Information and Computation 104(1):35-77, R. Alur and D.L. Dill. A theory of timed automata. Theoretical Computer Science 126: , 1994 (lesen!) off low bright klick x:=0 x>3 x  3 y300 y>300 y:=0

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

15 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

16 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

17 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))

18 Beispiel: Thermostat Beispiel Füllstandsregelung?

19 Beispiel Füllstandsregelung
Füllstandsanzeiger Zulauf Ablauf max min 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 mid full emty ok high low Strecke Regelung f=h / f.= – k2a f=0 / f.= k1z f<h / f.= k1z – k2a f>0 / fmax / z=0 f<max fmin / z=1 f>min


Herunterladen ppt "Eingebettete Systeme Qualität und Produktivität"

Ähnliche Präsentationen


Google-Anzeigen