Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Eingebettete Systeme Qualität und Produktivität

Ähnliche Präsentationen


Präsentation zum Thema: "Eingebettete Systeme Qualität und Produktivität"—  Präsentation transkript:

1 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

2 War wir bislang hatten Einführungsbeispiel (Mars Polar Lander)
Automotive Software Engineering Domänen-Engineering Modellbasierte Entwicklung Anforderungsdefinition und -artefakte Lastenheft TSG Ziele und Szenarien Strategien Modellierung physikalische Modellierung Anwendungs- und Verhaltensmodellierung Berechnungsmodelle

3 physikalische Modellierung
1. Identifikation der relevanten Umgebungsgrößen 2. Repräsentation durch mathematische Variablen 3. 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)

4 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

5 UML Zustandsdiagramme
parallele, hierarchische Automaten mit gemeinsamen Variablen synchrone Kommunikation über Ereignisse Transitionsbeschriftungen: (Ereignis, Bedingung, Aktion) s event [condition] / reaction

6

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

8 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;

9 Beispiel Füllstandsregelung
Füllstandsanzeiger Zulauf Ablauf max min Variable Typ Beschreibung Wertebereich Einheit Bemerkung f m Füllstand 0-100 mm z c Zulauf 0-1 prozentuale Öffnung a Ablauf nicht zugänglich min konstant Minimalfüllstand 86 max Maximalfüllstand 95 informelle Anforderungen: Wenn f < min, Zulauf einschalten Wenn f > max, Zulauf ausschalten Stellvertretend für Heizungsthermostat, Batterieladegerät, Dämmerungslicht, …

10 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

11 im Beispiel Randbedingungen Steuerfunktionalität 0  f(t)  h
Füllstandsanzeiger Zulauf Ablauf max min 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) = 1 f(t)  max  z(t) = 0 als partielle Funktion  1 falls f(t)  min z(t) =  0 falls f(t)  max  undef sonst als Abbildung C ={(f(t), z(t)) | (f(t)  min  z(t) = 1)  (f(t)  max  z(t) = 0)}

12 Trajektorienbereiche
intendierte, erlaubte und verboten

13 Füllstandsanzeiger Zulauf Ablauf max min 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

14 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

15 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

16 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: AB, BC, CB, BA A B C

17 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 Formeln leer  z voll  z

18 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 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“

20 Marwedel‘s Models of Computation

21 Your Toy Modelling Language?


Herunterladen ppt "Eingebettete Systeme Qualität und Produktivität"

Ähnliche Präsentationen


Google-Anzeigen