12.5.2009
Eingebettete SystemeQualität und Produktivität
Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität
undFraunhofer Institut für Rechnerarchitektur und Softwaretechnik
12.5.2009 Folie 2H. Schlingloff, Eingebettete Systeme
War wir bislang hatten
1. Einführungsbeispiel (Mars Polar Lander)
2. Automotive Software Engineering3. Anforderungsdefinition, Lastenheft TSG4. Modellbasierte Entwicklung Automotive5. Requirements Artefakte: Ziele und
Szenarien Strategien, Physikalische Modellierung
12.5.2009 Folie 3H. Schlingloff, Eingebettete Systeme
Anforderungsartefakte
• Pohl klassifiziert drei Arten von Artefakten:
Ziele Szenarien
Lösungsorientierte Anforderungen(Strategien)
12.5.2009 Folie 4H. Schlingloff, Eingebettete Systeme
Ziele und Szenarien
• Def.: (Pohl) Ein Ziel ist die intentionale Beschreibung eines charakteristischen Merkmals des zu entwickelnden Systems bzw. des zugehörigen Entwicklungsprozesses Formulierung von Zielen Schablonen und Tools zur Verwaltung
• Def.: Ein Szenario beschreibt ein konkretes Beispiel für die Erfüllung bzw. Nichterfüllung eines oder mehrerer Ziele. Es konkretisiert dadurch eines oder mehrere Ziele. Ein Szenario enthält typischerweise eine Folge von Interaktionsschritten und setzt diese in Bezug zum Systemkontext. Formulierung von Anwendungsfällen mit Sequenz- und
Aktivitätsdiagrammen Modelltransformationen
12.5.2009 Folie 5H. Schlingloff, Eingebettete Systeme
Strategien(Lösungsorientierte Anforderungen)• Def.: (Wikipedia) Eine Strategie ist ein längerfristig
ausgerichtetes planvolles Anstreben einer vorteilhaften Lage oder eines Ziels. Formal mathematisch ist eine Strategie eine Folge von Funktionen von einer Zustandsmenge (zum Beispiel die Menge der denkbaren Spielsituationen eines Spielers) in eine Menge von Aktionen (die entsprechend dem Spieler vorschreibt, was er tun soll).
• Strategien operationalisieren Ziele und Szenarien Ziel: Warum soll etwas passieren? Szenario: Was soll passieren? Strategie: Wie soll es passieren?
12.5.2009 Folie 6H. Schlingloff, Eingebettete Systeme
Drei Perspektiven von Strategien
• Struktur Art und Zusammensetzung von Daten, Attributen,
Relationen typisch: ER-Diagramme, Objekt- und Klassendiagramme
• Funktion Transformation der Daten durch das System typisch: Datenflussdiagramme
• Verhalten Zustände und Zustandsänderungen des Systems;
Reaktionen auf Stimuli typisch: Zustandsübergangsdiagramme
12.5.2009 Folie 7H. Schlingloff, Eingebettete Systeme
Einschätzung von Strategien
• Diagramme werden später behandelt (Stichwort modellbasierte Entwicklung) Struktur-, Funktions- und Verhaltensdiagramme können
in Programmiersprachencode übersetzt werden• Strategieorientierte Anforderungsdefinitionen
legen einen Lösungsweg nahe (Einschränkung des Lösungsraums) Schritt hin zu einer Implementierung Interaktion Anforderungsteam – Entwicklerteam ungeeignet zur Formulierung von Zielen und Szenarien wichtiger Schritt bei der Lösungsfindung
12.5.2009 Folie 8H. Schlingloff, Eingebettete Systeme
Integration von Modellsichten
12.5.2009 Folie 9H. Schlingloff, Eingebettete Systeme
12.5.2009 Folie 10H. Schlingloff, Eingebettete Systeme
Physikalische Modellierung
• Wdh.: Eingebettetes System kennzeichnende Merkmale
- fester Bestandteil eines technischen Systems- Zweckbestimmtheit (im Gegensatz zum Universalrechner)- Interaktion mit Umgebung durch Sensorik und Aktuatorik- Reaktivität, meistens Realzeitabhängigkeit
sekundäre Merkmale- oft für Regelungs- / Steuerungsaufgaben vorgesehen- häufig Massenware, Konsumgut, billig („Kommodität“)- vielfach schlecht bzw. nicht wartbar und nicht erweiterbar- für viele unverzichtbar, manchmal auch sicherheitskritisch- zunehmend auch vernetzt (ubiquitär)
• Wesentlich: Interaktion mit realer Welt (physikalischer Umgebung) Wie wird diese Interaktion beschrieben?
12.5.2009 Folie 11H. Schlingloff, Eingebettete Systeme
Systematik: Erstellung des Lastenheftes
1. Identifikation der relevanten Umgebungsgrößen physikalische Eigenschaften: Masse, Druck, Temperatur,
… gewünschte Benutzungsschnittstelle: Schalter, Displays,
Interaktionsformen2. Repräsentation durch mathematische Variablen
wichtig: Verbindung zwischen Variablen und ihrer Bedeutung genau dokumentieren!
(z.B. Länge in m, mm oder in)3. Eigenschaften der Variablen festlegen
mögliche Wertebereiche, Randbedingungen Relationen zwischen den Variablen
12.5.2009 Folie 12H. Schlingloff, Eingebettete Systeme
überwachte und geregelte Variablen
• 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) geregelte Variable: Wert wird von der Regelung
eingestellt überwachte Variable: Wert beeinflusst das
Systemverhalten Achtung: manche Umgebungsgrößen sind beides! Realzeitsystem: Uhrzeit ist überwachte Größe
12.5.2009 Folie 13H. Schlingloff, Eingebettete Systeme
Parnas‘ 4-Variablen-Modell• Entstanden um 1990 zur Spezifikation der Anforderungen an das
Flugzeug A-7, des Avionics System des Flugzeugs C-130J, und andere
• Erweitert zur „Consortium Requirements Engineering (CoRE) methodology“
• Vier Arten von Variablen Monitored variables (MON) („überwacht“) Controlled variables (CON) („geregelt“) Input variables (INPUT) Output variables (OUTPUT)
• Vier Arten von Relationen natürliche Umgebungsbedingungen
(NAT) Systemanforderungen (REQ) Relation der Monitored Variablen
zu den Input Variablen (IN) Relation der Output Variablen
zu den Controlled Variablen (OUT)Bildquelle: http://shemesh.larc.nasa.gov/fm/papers/ExtendingTheFourVariableModel.pdf
12.5.2009 Folie 14H. Schlingloff, Eingebettete Systeme
das einfachste Beispiel
• 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 BeschreibungWertebereich Einheit
Bemerkung
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
12.5.2009 Folie 15H. 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
12.5.2009 Folie 16H. 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
maxmin
12.5.2009 Folie 17H. Schlingloff, Eingebettete Systeme
Trajektorienbereiche
• intendierte, erlaubte und verboten
t
12.5.2009 Folie 18H. 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
FüllstandsanzeigerZulauf
Ablauf
maxmin
12.5.2009 Folie 19H. Schlingloff, Eingebettete Systeme
Black-Box-Sicht
• 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
12.5.2009 Folie 20H. Schlingloff, Eingebettete Systeme
12.5.2009 Folie 21H. Schlingloff, Eingebettete Systeme
mathematische Verhaltensbeschreibung
• 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
12.5.2009 Folie 22H. Schlingloff, Eingebettete Systeme
• 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
• Beschreibung von Modi? In jedem Modus können gewisse Konditionen
(engl. Condition: Aussage, Gegebenheit, Proposition) zutreffen oder auch nicht
12.5.2009 Folie 23H. Schlingloff, Eingebettete Systeme
• Def. Kondition: 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
• 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)