Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modellbasierte Software-Entwicklung eingebetteter Systeme

Ähnliche Präsentationen


Präsentation zum Thema: "Modellbasierte Software-Entwicklung eingebetteter Systeme"—  Präsentation transkript:

1 Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik

2 Lehr-Evaluation! Um die Evaluation Ihrer Lehrveranstaltung zu starten, geben Sie den Studierenden bitte folgenden Link bekannt: https://evaluation.hu-berlin.de/evaluation/ Von da aus wird der Benutzer/die Benutzerein über die Math. Nat. Fakultät II zu seinem/ihrem Institut geführt und findet dort die zu evaluierende Lehrveranstaltung. Er/sie muss den folgenden Token eingeben eva11zuse und kann dann den Fragebogen ausfüllen.

3 Diskrete Modellierung
Prozess = Änderung des Zustands eines Objektes technische und informationsverarbeitende Prozesse kontinuierliche und diskrete Zustandsänderungen Zustand = Beschreibung aller beobachtbaren Größen eines Objekts physikalische Objekte: Größe, Gewicht, Temperatur, Druck, ... logische Objekte: Funktions- und Variablenwerte Beschreibung eines Zustands durch Zustandsvariablen formal: Zustand = Abbildung Zustandsvariablen auf Werte Beschreibung eines Prozesses durch Zustandsübergänge Ereignis = diskreter Zustandsübergang Signal = kontinuierlich veränderbare Zustandskomponente

4 Ein wenig Formalismus Labelled Transition System M=(₳,S,T,s0)
₳ : endliches nichtleeres Alphabet der Label S: endliche nichtleere Menge von Zuständen T: endliche Menge von Transitionen, T  S × A × S s0: Anfangszustand, s0  S In UML wird s0 Pseudozustand genannt Einfache Zustandsmaschine (E,C,A); ₳ =2E × C × 2A E: Menge möglicher Ereignisse (Trigger einer Transition) C: Bedingungen (Wächter der Transition) A: Aktionen (Effekt der Transition)

5 Semantik Ablauf: w=(s0,t0,s1,t1,...,tn-1,sn)
s0 ist der Anfangszustand, und (si,ti,si+1)  T Spur (trace) eines Ablaufs w: (t0,t1,...,tn-1) Auswertungsrelation |=  S × C Ablauf einer Zustandsmaschine wenn ti=(ei,ci,ai), dann si |= ci entweder ei = 0 und (si,ti,si+1)  T, oder ei = {e} und (si, (ei‘,ci,ai),si+1)  T für ein ei‘ , e  ei‘, oder ei = {e} und (si, (ei‘,ci,ai),si+1)  T für jedes ei‘ welches e, enthält und si+1=si

6 Daten Variablen x1,...,xn mit Domänen D1,...,Dn
Predikate / Relationen auf den Domänen p  D, R  D × D Erweiterte Zustandsmaschine Zustand weist Variablen Werte zu Bedingung darf Ralationen auf Variablen verwenden Effekt kann Variablen verändern Beispiel: inc (i) [i<max] / i := i+1

7 Parallelität und Hierarchie
Komplexe Systemmodelle können „viele“ Zustände besitzen „Divide et impera“: Parallelisierung und Verschachtelung

8 UML Zustandsmaschinen
UML Zustandsmaschine: Menge von Regionen Region: enthält Knoten und Transitionen Knoten: Zustand, Pseudostate, Verbindungspunkt Zustand: einfach oder zusammengesetzt (ein zusammengesetzter Zustand enthält Regionen) Pseudostate: Anfangszustand, Verzweigungszustand Transition: verbindet Quell- und Zielknoten Trigger: Ereignis (msg rec, op exec) Wächter: OCL Ausdruck Effekt: Zuweisung, Auslösen eines Ereignisses

9 Metamodell für Zustandsmaschinen

10 Beispiele Druckschalter

11 Videokamera-Schalter
Video Camcorder unverständliches Benutzermanual typisch für solche Geräte Multifunktionaler Ein/Aus-Schalter: up: off down: zyklisch "tape", "memory“ und "play/edit“ Modus Intuitiv bedeutet “Tape” Videoaufnahme, “Memory” Photos und “Play” Wiedergabe aufgenommenen Materials

12 Transitionssystem Zustände: {off, tape, memory, play}
Ereignisse: {up(), dn()}

13 Ein Toaster Benutzerinterface: Drehregler, Seitenhebel, Stopp-Knopf
Interna: Heizelement, Auswurf Extra: Auftauen-Option Erster Ansatz: Realzeit vernachlässigt (timer event) Verfeinert: Röstzeit hängt von verschiedenen Parametern ab, z.B. Resthitze im Gerät

14 Toaster – Einfache Zustandsmaschine

15 Toaster – Hierarchisches Design

16 Toaster – mit Variablen

17 Systematik der Modellerstellung
Für jedes Bedienelement (Schalter, Knopf, Sensor) die verschiedenen Positionen als Zustand und die Benutzereingaben als Ereignis Für jedes Ausgabeelement die verschiedenen physikalischen Zustände modellieren Steuerung zur Verbindung der Ein- und Ausgaben Parallelschaltung dieser Automaten ergibt Modell der Steuerung Umgebungsmodell zur Modellierung der physikalischen Realität (z.B. Sensorereignis falls Motor am Anschlag) Parallelschaltung dieser Automaten ergibt Systemmodell

18


Herunterladen ppt "Modellbasierte Software-Entwicklung eingebetteter Systeme"

Ähnliche Präsentationen


Google-Anzeigen