Eingebettete Systeme Qualität und Produktivität

Post on 07-Jan-2016

31 views 6 download

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

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