19.5.2009 eingebettete systeme qualität und produktivität prof. dr. holger schlingloff institut...
TRANSCRIPT
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
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
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)
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
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
19.5.2009 Folie 6H. Schlingloff, Eingebettete Systeme
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)
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;
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
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
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
19.5.2009 Folie 12H. Schlingloff, Eingebettete Systeme
Trajektorienbereiche
• intendierte, erlaubte und verboten
t
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
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
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
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
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
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
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“
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/
19.5.2009 Folie 21H. Schlingloff, Eingebettete Systeme
Your Toy Modelling Language?