Eingebettete Systeme Qualität und Produktivität
description
Transcript of Eingebettete Systeme Qualität und Produktivität
2.6.2009
Eingebettete SystemeQualität und Produktivität
Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität
und
Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
2.6.2009 Folie 2H. Schlingloff, Eingebettete Systeme
War wir bislang hatten
1. Einführungsbeispiel (Mars Polar Lander)2. Automotive Software Engineering
• Domänen-Engineering• Modellbasierte Entwicklung
3. Anforderungsdefinition und -artefakte• Lastenheft TSG• Ziele und Szenarien• Strategien
4. Modellierung• physikalische Modellierung• Anwendungs- und Verhaltensmodellierung• Berechnungsmodelle, zeitabhängige & hybride
Automaten
2.6.2009 Folie 3H. Schlingloff, Eingebettete Systeme
Marwedel‘s Models of Computation
Kahn process networks, SDF
SimulinkNot usefulData flow model
Only experimental systems, e.g. distributed DE in Ptolemy
VHDL, …Discrete event (DE) model
C, C++, Java with librariesCSP, ADA |
C, C++, Java
Von Neumann model
Sequence dia-gram, Petri nets
Computational graphs
SDLStateChartsCommunicating finite state machines
Message passingSynchronous | Asynchronous
Shared memory
Communication/local computations
Kahn process networks, SDF
SimulinkNot usefulData flow model
Only experimental systems, e.g. distributed DE in Ptolemy
VHDL, …Discrete event (DE) model
C, C++, Java with librariesCSP, ADA |
C, C++, Java
Von Neumann model
Sequence dia-gram, Petri nets
Computational graphs
SDLStateChartsCommunicating finite state machines
Message passingSynchronous | Asynchronous
Shared memory
Communication/local computations
http://ptolemy.berkeley.edu/
2.6.2009 Folie 4H. Schlingloff, Eingebettete Systeme
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
2.6.2009 Folie 5H. Schlingloff, Eingebettete Systeme
Beispiele
•Probleme mit dieser Modellierungsart?
off on
klick
klick
Lichtschalter:
Füllstand: hi ok
drain
gainlo
drain
gain
2.6.2009 Folie 6H. Schlingloff, Eingebettete Systeme
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)
2.6.2009 Folie 7H. Schlingloff, Eingebettete Systeme
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
2.6.2009 Folie 8H. Schlingloff, Eingebettete Systeme
Beispiel: Bounded Counter
• konzisere Darstellung (falls Domänen endlich!)
S0 S1 S2 S3
inc inc inc
decdecdec
dec
inc
x:=0
inc [x<3] x´= x+1;
inc [x=3]
dec [x=0]
dec [x>0] x´= x-1;
2.6.2009 Folie 9H. Schlingloff, Eingebettete Systeme
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 2after (5 ms) / Aktivität
2.6.2009 Folie 10H. Schlingloff, Eingebettete Systeme
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
S1 S2x<2
a / x:=0
b [x>1]
• 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.
2.6.2009 Folie 11H. Schlingloff, Eingebettete Systeme
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, 1993 R. 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!)
off low brightklick
klick
klick
klick
x:=0
x>3
x 3y300
y>300
y:=0
2.6.2009 Folie 12H. Schlingloff, Eingebettete Systeme
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)
2.6.2009 Folie 13H. Schlingloff, Eingebettete Systeme
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
2.6.2009 Folie 14H. Schlingloff, Eingebettete Systeme
2.6.2009 Folie 15H. Schlingloff, Eingebettete Systeme
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
2.6.2009 Folie 16H. Schlingloff, Eingebettete Systeme
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
2.6.2009 Folie 17H. Schlingloff, Eingebettete Systeme
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))
2.6.2009 Folie 18H. Schlingloff, Eingebettete Systeme
Beispiel: Thermostat
•Beispiel Füllstandsregelung?
2.6.2009 Folie 19H. Schlingloff, Eingebettete Systeme
Beispiel Füllstandsregelung
FüllstandsanzeigerZulauf
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
f<h /
f.= k1z – k2a
f>0 /
f.= k1z – k2a
f=h /
f.= – k2a
f=0 /
f.= k1z
ok
high
low
f<max
f>min
fmax /z=0
fmin /z=1
Strecke Regelung
mid
full
emty