Eingebettete Systeme Qualität und Produktivität

19
2.6.2009 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

description

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 - PowerPoint PPT Presentation

Transcript of Eingebettete Systeme Qualität und Produktivität

Page 1: 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

Page 2: Eingebettete Systeme Qualität und Produktivität

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

Page 3: Eingebettete Systeme Qualität und Produktivität

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/

Page 4: Eingebettete Systeme Qualität und Produktivität

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

Page 5: Eingebettete Systeme Qualität und Produktivität

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

Page 6: Eingebettete Systeme Qualität und Produktivität

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)

Page 7: Eingebettete Systeme Qualität und Produktivität

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

Page 8: Eingebettete Systeme Qualität und Produktivität

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;

Page 9: Eingebettete Systeme Qualität und Produktivität

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

Page 10: Eingebettete Systeme Qualität und Produktivitä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.

Page 11: Eingebettete Systeme Qualität und Produktivität

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

Page 12: Eingebettete Systeme Qualität und Produktivität

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)

Page 13: Eingebettete Systeme Qualität und Produktivität

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

Page 14: Eingebettete Systeme Qualität und Produktivität

2.6.2009 Folie 14H. Schlingloff, Eingebettete Systeme

Page 15: Eingebettete Systeme Qualität und Produktivität

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

Page 16: Eingebettete Systeme Qualität und Produktivität

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

Page 17: Eingebettete Systeme Qualität und Produktivität

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

Page 18: Eingebettete Systeme Qualität und Produktivität

2.6.2009 Folie 18H. Schlingloff, Eingebettete Systeme

Beispiel: Thermostat

•Beispiel Füllstandsregelung?

Page 19: Eingebettete Systeme Qualität und Produktivität

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