21
19.5.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

19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

Embed Size (px)

Citation preview

Page 1: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.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: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.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

Page 3: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 3H. Schlingloff, Eingebettete Systeme

physikalische Modellierung

1. Identifikation der relevanten Umgebungsgrößen2. Repräsentation durch mathematische Variablen3. Eigenschaften / Relationen der Variablen

festlegen die relevanten Variablen sind im Allgemeinen

zeitabhängig Funktionen über der Zeit!- Zustand: Wert aller Funktionen zu einem gegebenen Zeitpunkt

- Trajektorie: Veränderung des Zustandes in der Zeit

Festlegung: überwachte und geregelte Variablen („monitorierte“ und „kontrollierte“ Größen)

Page 4: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 4H. Schlingloff, Eingebettete Systeme

Beispiel Sitzkontrolle im TSG

• Bewegung des Sitzes in einer Achse soll über einen Sitztaster mit drei Tasterstellungen gesteuert werden in einer Achse soll über einen Sitztaster mit drei

Tasterstellungen gesteuert werden wird der Taster betätigt, soll der Sitz in die entsprechende

Richtung bewegt werden; bei Erreichen der jeweiligen Endposition soll die Bewegung unterbrochen werden

eine weitere Bewegung in diese Richtung soll erst wieder möglich sein, nachdem der Sitz per Taster in die entgegen gesetzte Richtung zurückgefahren wurde

• Modellierung Taster: {vorwärts, losgelassen, rückwärts} Sitzmotor: {enger, aus, weiter} Positionssensor: {minimum, normal, maximum} Fahrer, Sitz Steuerung

Page 5: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 5H. Schlingloff, Eingebettete Systeme

UML Zustandsdiagramme

• parallele, hierarchische Automaten mit gemeinsamen Variablen

• synchrone Kommunikation über Ereignisse• Transitionsbeschriftungen:

(Ereignis, Bedingung, Aktion)

s´sevent [condition] / reaction

Page 6: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 6H. Schlingloff, Eingebettete Systeme

Page 7: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 7H. Schlingloff, Eingebettete Systeme

Physikalisches Umgebungsmodell

• Benutzer kann Taster vorwärts oder rückwärts betätigen

(ev_vor, ev_rueck) Taster loslassen (ev_los)

• Sitz wenn der Sitz „genügend lange“ enger gestellt wird,

erreicht er irgendwann die Minimalposition wenn der Sitz „genügend lange“ weiter gestellt wird,

erreicht er irgendwann die Maximalposition Sitzposition ist Funktion von Zeit und Motor in reelle

Werte mit Zustandsdiagrammen nur unzureichend

modellierbar! (nichtdeterministischer Übergang oder globale Variable)

Page 8: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 8H. Schlingloff, Eingebettete Systeme

Modell der Steuerung (später!)

• überwacht: ev_t_vor, ev_t_rueck, ev_t_los; ev_p_min, ev_p_max

• gesteuert: ev_weiter, ev_enger, ev_stop;

Page 9: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 9H. Schlingloff, Eingebettete Systeme

Beispiel Füllstandsregelung

• informelle Anforderungen: Wenn f < min, Zulauf einschalten Wenn f > max, Zulauf ausschalten

• Stellvertretend für Heizungsthermostat, Batterieladegerät, Dämmerungslicht, …

Füllstandsanzeiger

Zulauf

Ablauf

max

min

Variable Typ BeschreibungWerteber

eich EinheitBemerku

ng

f m Füllstand 0-100 mm  

z c Zulauf 0-1  prozentuale

Öffnung

a   Ablauf 0-1  nicht

zugänglich

min konstant Minimalfüllstand 86 mm  

max konstant Maximalfüllstand 95 mm  

Page 10: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 10H. Schlingloff, Eingebettete Systeme

Festlegung in Systemspezifikation

• Randbedingungen von der Natur oder vom Auftraggeber vorgegeben

- z.B. physikalische Beschränkungen

- z.B. Altsysteme, zu beachtende Restriktionen etc.

Verantwortlichkeit des Auftraggebers!

• Steuerfunktionalität Abbildung von überwachten in gesteuerte Größen i.A. mehrdeutig, relational; Definitionsbereich von

Randbedingungen eingeschränkt, Wertebereich gibt zulässige Trajektorien an

Verantwortlichkeit des Systemingenieurs

Page 11: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 11H. Schlingloff, Eingebettete Systeme

im Beispiel

• Randbedingungen 0 f(t) h 0 < f(t) < h f´(t)= k1*z(t) – k2*a(t)

• Steuerfunktionalität als Klauseln

f(t) min z(t) = 1f(t) max z(t) = 0

als partielle Funktion 1 falls f(t) min

z(t) = 0 falls f(t) max undef sonst

als AbbildungC ={(f(t), z(t)) | (f(t) min z(t) = 1) (f(t) max z(t) =

0)}

FüllstandsanzeigerZulauf

Ablauf

max

min

Page 12: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 12H. Schlingloff, Eingebettete Systeme

Trajektorienbereiche

• intendierte, erlaubte und verboten

t

Page 13: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 13H. Schlingloff, Eingebettete Systeme

im Beispiel

• Zulauf sei kontinuierlich regelbar (0 z(t) 1); der Füllstand sollte möglichst nahe an max gehalten werden intendiertes Verhalten: je näher der Füllstand bei

max ist, desto mehr wird der Zulauf geschlossen erlaubtes Verhalten: voller Zulauf bis max erreicht

wird, dann zu (ruiniert auf Dauer das Ventil) verboten: max wird irgendwann überschritten und

Ventil ist auf

FüllstandsanzeigerZulauf

Ablauf

max

min

Page 14: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 14H. Schlingloff, Eingebettete Systeme

Parnas‘ 4-Variablen-Modell

• Die Systemspezifikation darf nur die nach außen sichtbaren Größen (überwachte und gesteuerte Variablen) verwenden! interne Variablen der Regelung versteckt, interne

Zustände nicht sichtbar Implementierungsfreiheit

Page 15: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 15H. Schlingloff, Eingebettete Systeme

Modi

• Wdh.: Zustand = Wert aller relevanten Variablen zu einem gegebenen Zeitpunkt Zustand der Umgebung ist für das System (nur)

durch überwachte Variablen gegeben Systemzustand setzt sich aus überwachten,

gesteuerten und internen Variablen zusammen Ein Realzeitsystem (Zeit ist überwachte Größe)

kehrt niemals in den selben Zustand zurück

• Modus (engl.: mode) Menge von „äquivalenten“ Zuständen

• Modalpartitionierung (mode class) Partitionierung der Menge der Zustände in Modi

Page 16: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 16H. Schlingloff, Eingebettete Systeme

diskrete Modellierung

• statt Zustandsübergängen betrachten wir Übergänge von einem Modus in einen anderen

• Im Beispiel Umgebungszustand=Füllhöhe f(t) Modalpartitionierung={A:f(t)min,

B:min<f(t)<max, C:f(t)max} mögliche Moduswechsel: AB, BC, CB, BA

A B C

Page 17: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 17H. Schlingloff, Eingebettete Systeme

propositionale Modellierung

• In jedem Modus können gewisse Konditionen (engl. Condition: Aussage, Proposition) zutreffen oder auch nicht

• Def. Kondition (condition): boolesche Funktion über der Zeit, die mit Hilfe von Umgebungsvariablen definiert ist Beispiel: voll(t) = f(t)max, leer(t) = f(t)min

• Def. Ereignis (event): Umschalten einer oder mehrerer Konditionen , : Schalten auf wahr bzw. auf falsch Beispiel: voll(7): max wird zum Zeitpunkt 7 erreicht

• Steuerfunktionalität als temporale Formelnleer zvoll z

Page 18: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 18H. Schlingloff, Eingebettete Systeme

Ablaufbeschreibung

• Def. Historie: Folge von Ereignissen Für jeden konkreten Systemablauf gibt es genau eine

Historie endliche Variabilität: In jedem endlichen

Zeitabschnitt passieren nur endlich viele Ereignisse (non-Zeno-Eigenschaft)

• Der Modus eines Systems wird durch den Anfangszustand und die Historie eindeutig bestimmt Beispiel: voll(7), voll(9), leer(13), leer(16)

• Überprüfung solcher Abläufe und Vergleich mit der vorgegebenen Soll-Funktionalität

Page 19: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 19H. Schlingloff, Eingebettete Systeme

Benutzungs- und Umgebungsmodell

• Ereignisse werden durch (menschliche) Benutzer oder (natürliche) Umgebung ausgelöst Benutzer drückt Aus-Knopf Widerstandssensor zeigt „Maximalwert“

• Verschiedene Arten der Modellierung Benutzungsmodell

- Anwendungsfalldiagramme („Use Cases“) UML Notation zur Beschreibung von Nutzungsverhalten,

spezifiziert (Namen von) Akteure und Aktionen sowie deren Aufrufbeziehung

Ablauf der Aktionen wird schablonenartig anhand konkreter Szenarien beschrieben (textuell oder mit Sequenz- oder Aktivitätsdiagrammen)

Aktionen ≈ Events ≈ Methodenaufrufe

Umgebungsmodell- verschiedene „Berechnungsmodelle“

Page 20: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 20H. 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 21: 19.5.2009 Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer

19.5.2009 Folie 21H. Schlingloff, Eingebettete Systeme

Your Toy Modelling Language?