Einführung in Computer Microsystems Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes

Ähnliche Dokumente
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Theorie zu Übung 8 Implementierung in Java

11. Aufgabenblatt

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

OOA-Dynamische Konzepte

Objektorientierte Programmierung

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf)

6. Zustandsorientierte Modellierung

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

ModProg 15-16, Vorl. 5

Stateflow: Eine grafische Erweiterung zu SIMULINK

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Vorlesung Programmieren

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Semestralklausur Einführung in Computer Microsystems

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Webbasierte Programmierung

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

RO-Tutorien 3 / 6 / 12

Programmieren in C/C++ und MATLAB

Modellgestützte Analyse und Optimierung Übungsblatt 8

3. Anweisungen und Kontrollstrukturen

Kapitel 7: Referentielle Integrität

C- Kurs 04 Anweisungen

Kapitel 5. Programmierkurs. Kontrollstrukturen. Arten von Kontrollstrukturen. Kontrollstrukturen Die if-anweisung Die switch-anweisung

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Flussdiagramm / Programmablaufplan (PAP)

Programmieren für Wirtschaftswissenschaftler SS 2015

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Einführung in die Informatik 1

TIBROS-AV NEUES DESIGN

Grundlagen der Rechnertechnologie Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen

Grundlagen der Programmierung

Erster Bug: eine Motte

Welche Informatik-Kenntnisse bringen Sie mit?

Informatik I Übung, Woche 40

Berechnungen in Excel

Kontrollstrukturen MySQL Funktionen. MySQL 4, 5. Kapitel 20a: PHP Teil 2. Marcel Noe

Kontrollstrukturen in PL/SQL

Einstieg in die Informatik mit Java

Objektorientierte Modellierung (1)

<? $ZeilenMax = 9; $SpaltenMax = 9; echo "<pre>";

JAVA-Datentypen und deren Wertebereich

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Greenfoot: Verzweigungen

Informatik II - Tutorium

Praxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen"

Informatik 1 ( ) D-MAVT F2010. Logik, Schleifen. Yves Brise Übungsstunde 4

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

Softwareentwicklungspraktikum Nebenfach

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife

DIGITALTECHNIK 06 SCHALTUNGS- SYNTHESE UND ANALYSE

Kapitel 2: Programmfluss steuern

Probeklausur: Programmierung WS04/05

Semestralklausur zu Modellierung verteilter Systeme

Prüfung Computation, Programming

Übersetzung von Struktogrammen nach VBA

Steuerungsstrukturen. Ablaufsteuerung der PL/SQL Ausführung. IF Anweisungen. Einfaches IF

VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010

Sin-Funktion vgl. Cos-Funktion

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

Anleitung fu r die Vorlage restpunkte.xlsx

Während in Tabellen die Daten gespeichert werden, sind Abfragen für die Darstellung und Auswertung der Daten zuständig.

2.5 Programmstrukturen Entscheidung / Alternative

Java Kurzreferenz Für Fortgeschrittene

Übung zur Vorlesung Multimedia im Netz

8.3 Taster am µcontroller

OpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009

Ich begrüße Sie zu unserer nächsten Vorlesung aus Objektorientierter Modellierung. Heute geht es um das Zustandsdiagramm.

Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen

Die Programmiersprache C Eine Einführung

1. Seitenvorlagen Masterseiten

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

Shell-Scripting Linux-Kurs der Unix-AG

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

6. Aufgabenblatt mit Lösungsvorschlag

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Einführung in die Programmsprache Python - Bedingte Anweisungen und Schleifen -

Lernwerkstatt. Station 1. Information: Reihen- und Parallelschaltung

lññáåé=iáåé===pìééçêíáåñçêã~íáçå=

Microsoft Access 2010 Auswahlabfragen erstellen. Leibniz Universität IT Services Anja Aue

Erwin Grüner

10. Datenbank Design 1

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie

Grundlagen der Rechnertechnologie Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Klausur zum Kurs Betriebssysteme (1802) am 19. September 2009

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Filter in VBA nutzen HARALD NAHRSTEDT. Erstellt am

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

Transkript:

Einführung in Computer Microsystems Sommersemester 2010 12. Vorlesung Dr.-Ing. Wolfgang Heenes 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 1

Inhalt 1. Literatur 2. Statechart-Modellierung paralleler Automaten 3. Strukturierung und Hierachiebildung 4. Beispiele 5. Zusammenfassung und Ausblick 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 2

Literatur [ABRW07] Angermann, Anne, Michael Beuschel, Martin Rau und Ulrich Wohlfarth: MATLAB - Simulink - Stateflow. Oldenbourg Verlag, 2007. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 3

Weitere Elemente eines Statecharts Zur Erinnerung: Verbindungspunkte Ein Verbindungspunkt stellt eine Entscheidungsmöglichkeit zwischen mehreren möglichen Pfaden einer Transition dar. Damit lassen sich Konstrukte wie for-schleifen, do-while-schleifen und if-then-abfragen realisieren. Der erste Zweig der Transition vom Zustand A zum Verbindungspunkt wird bei Auftreten eines beliebigen Events ausgeführt. Wenn das auslösende Event E_eins war, so wird der obere Pfad der Transition ausgeführt. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 4

Weitere Elemente eines Statecharts Verbindungspunkte Transitionen von zwei Quellen zu einem Ziel. Zu Beginn sei, abhängig von vorherigen Events, entweder der Zustand A oder B aktiv. Abhängig von den Events E_eins und E_zwei soll ein Wechsel in den Zustand C erfolgen. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 5

Weitere Elemente eines Statecharts Verbindungspunkte Wenn A aktiv ist und das Event E_eins auftritt, ist die gesamte Transition von A nach C gültig und die Transition wird ausgeführt. Der zweite Ast der Transition ist für alle Events gültig, da ein leeres Label spezifiziert wurde. Wenn B aktiv ist und das Event E_zwei auftritt, erfolgt ein Zustandsübergang von B nach C. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 6

Weitere Elemente eines Statecharts Self Loop Transitionen Eine Self Loop Transition ist dadurch charakterisiert, dass eine Transition existiert, bei der Quelle und Ziel identisch sind. Der erste Abschnitt der Transition weg vom Zustand A ist für jedes Event gültig. Wenn das auslösende Event E_zwei war, erfolgt ein Übergang von A nach C. War das auslösende Event E_eins, wird Zustand A verlassen und über den unteren Teil der Transition wieder aktiviert. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 7

Weitere Elemente eines Statecharts For-Schleife In einem Stateflow Chart kann die for-schleife mithilfe eines Verbindungspunkts realisiert werden. Bei Auftreten des Events E_eins ist der erste Zweig der Transition vom Zustand A nach B gültig. In der Bedingungsaktion wird die Variable i auf Null gesetzt. Eine von einem Verbindungspunkt abgehende Transition mit Bedingung hat Vorrang vor einer Transition ohne Bedingung. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 8

Weitere Elemente eines Statecharts If-Abfrage Gegeben ist folgender Pseudo-Code if a>b if a>c aktion1 else aktion2 end else aktion3 z=z+1 end Umsetzung mit Verbindungspunkten 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 9

Weitere Elemente eines Statecharts For-Schleife Modellierung der mehrfachen If-Abfrage mit Verbindungspunkten Teile eines Stateflow Charts, die ohne Zustände auskommen, wie etwa for-schleifen oder die if-abfrage bezeichnet man als Flussdiagramme (stateless). Flussdiagramme sind nicht gedächtnisbehaftet 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 10

Strukturierung und Hierachiebildung Bisher wurden alle grafischen Objekte (Zustände, Transitionen) in der obersten Hierarchie-Ebene des Charts erzeugt. Stateflow (bzw. Statecharts) erlaubt verschiedene Arten der Gruppierung und Hierarchiebildung. Vorteile: bessere Übersichtlichkeit Parallele Abläufe Im Folgenden: Strukturierungsmethode Superstates 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 11

Superstates Ein Superstate ist das Mutter-Objekt für beliebig viele weitere Zustände. Er ist genau dann aktiv, wenn er selbst das Ziel einer Transition war oder wenn mindestens eines seiner Kind-Objekte aktiviert wird. Ein Superstate kann nie für sich alleine aktiv sein, es muss immmer mindestens eines seiner Kind-Objekte aktiv sein. Er kann ein Label tragen Er kann das Ziel und die Quelle von Transitionen sein Funktionsweise hängt davon ab, ob sie in Exklusiv-Oder oder in Parallel-Anordnung verwendet werden. Im Folgenden einige Beispiele 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 12

Superstates in Exklusiv-Oder Anordnung Die Abbildung zeigt zwei Superstates in Exklusiv-Oder Anordnung 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 13

Superstates in Exklusiv-Oder Anordnung Es existieren zwei Superstates Z1 und Z2, die beide in die Zustände On und Off unterteilt sind. Bei der ersten Ausführung des Charts wird durch die Default Tranistion der Zustand Z1 aktiv. Durch die Default Transition auf Z1.On wird bei jeder Aktivierung von Z1 der Substate Z1.On standardmäßig aktiviert. Bei Auftreten des Events on_off wechselt Z1.On nach Z1.Off. Tritt daraufhin das Event off_on auf, wechselt der Zustandsautomat wieder zurück nach Z1.On. Egal in welchem Substate sich das Chart gerade befindet, bei Auftreten des Events switch_12 wird der Zustand Z1 inklusive der Substates verlassen und der Superstate Z2 aktiv. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 14

Superstates in Exklusiv-Oder Anordnung Nach der Aktivierung von Z2 wird nach gültigen Transitionen zu Kind-Objekten von Z2 gesucht. Durch die Default Transition auf Z2.Off wird neben Z2 auch Z2.Off aktiviert. Wenn die Events off_on und on_off auftreten, vollzieht sich der bereits beschriebene Wechsel zwischen Z2.Off und Z2.On. Tritt das Event switch_21 auf, so wird wieder Z1 und Z1.On aktiv. Dieses Beispiel zeigt: Die Stärke von Superstates und Substates reduziert die Anzahl von Einzelzuständen in einem Chart Funktionale Zusammenfassung in hierarchische Strukturen Erhöht auch die Übersichtlichkeit 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 15

Superstates in Exklusiv-Oder Anordnung History Junctions Die Abbildung zeigt zwei Superstates in Exklusiv-Oder Anordnung mit History Junctions 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 16

Superstates in Exklusiv-Oder Anordnung History Junctions Die Funktion des Zustandsautomaten soll in der Weise erweitert werden, dass bei einem Wechsel zwischen Z1 und Z2 nicht immer die Zustände Z1.On und Z2.Off aktiv werden, sondern der Zustand der zuletzt aktiv war. Nehmen wir an, vor einem Wechsel von Z1 nach Z2 war der Zustand Z1.Off aktiv Wenn Z1 durch das Event switch_21 wieder aktiv wird, soll nicht der Substate Z1.On (durch die Default Transition) aktiviert werden, sondern der zuletzt aktive Zustand Z1.Off. Dies kann durch das Einfügen von History Junctions in Z1 und Z2 errreicht werden. Darstellung als Kreis mit einem H in der Mitte. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 17

Superstates in Exklusiv-Oder Anordnung Hierarchieübergreifende Transitionen Die Quelle und das Ziel einer Transition müssen nicht demselben Mutter-Objekt angehören. Das heißt, Transitionen über Hierachie-Ebenen hinweg sind zulässig. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 18

Superstates in Exklusiv-Oder Anordnung Hierarchieübergreifende Transitionen Hierarchieübergreifende Transitionen werden Supertransitionen genannt. Wenn ein Wechsel von Z1 nach Z2 (und umgekehrt) erreicht werden soll, wenn die jeweiligen Substates Z1.Off und Z2.Off aktiv sind, kann das leicht durch die Supertransitionen erreicht werden. Merke: Transitionen können ohne Beachtung von Hierarchiegrenzen zwischen beliebigen Quell- und Zielobjekten bestehen, auch über mehrere Hierarchiestufen hinweg. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 19

Superstates in Exklusiv-Oder Anordnung Inner Transitions In Superstates können auch sogenannte Inner Transitions auftreten. Sie verlaufen von einem Superstate zu einem seiner Kind-Objekte. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 20

Superstates in Exklusiv-Oder Anordnung Inner Transitions Der Zustandsautomat kann sich in den drei Zuständen Z1, Z2 und Z3 abhängig von den Bedingungen [bed1] und [bed2] befinden. Beim Auftreten des Events update sollen die Bedingungen erneut überprüft und evtl. ein nötiger Zustandswechsel durchgeführt werden. Man könnte nun von jedem der drei Zustände eine Transition zu jedem der verbleibenden Zustände mit entsprechenden Bedingungen verwenden. Bei erstmaliger Ausführung des Charts ist die Default Transition zum Verbindungspunkt gültig. Abhängig von den Bedingungen [bed1] und [bed2] wird einer der Zustände Z1, Z2, oder Z3 aktiviert. Superstate Super_Z ist aktiv, da eines seiner Kind-Objekte aktiv ist. Einzige potentielle Transition ist die Inner Transition mit dem Label update. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 21

Superstates in Parallel-Anordnung Die Parallel-Anordnung von Superstates erlaubt die quasi parallele Ausführung von Ausschnitten eines Charts. Parallele Superstates können in der selben Hierachie-Ebene (d. h. sie besitzen das gleiche Mutter-Objekt) gleichzeitig aktiv sein. Die Ausführungsreihenfolge hängt von der Platzierung der Zustände ab. Zur Erinnerung: von oben nach unten und links nach rechts (Bezugspunkt Oberkante der Zustände) Zahl in der rechten oberen Ecke 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 22

Superstates in Parallel-Anordnung Beispiel: Steuerung von Komponenten in einem PKW. Zwei Zustände On und Off Wenn die Zündung eingeschaltet ist, können gleichzeitig das Licht und die Lüftung in Betrieb gesetzt werden. Das Licht kann entweder an- oder ausgeschaltet sein, die Lüftung ist in die möglichen Betriebszustände Off, Stufe1 und Stufe2 unterteilt. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 23

Superstates in Parallel-Anordnung Mögliche Realisierung 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 24

Superstates in Parallel-Anordnung Beschreibung Bei erstmaliger Ausführung des Charts wechselt das System in den Zustand Off. Bei Betätigung des Zündschlüssels (Event zuendung_an) wird der Zustand On aktiv. Dieser ist in die parallelen und damit gleichzeitig aktiven Substates Licht und Lueftung unterteilt. Beide Zustände sind zwar gleichzeitig aktiv, Licht wird aber vor Lueftung abgearbeitet, was durch die Reihenfolgenummern 1 und 2 in den rechten oberen Ecken angezeigt wird. Der Zustand Licht ist in die sich ausschließenden Substates Off und On unterteilt. Standardmäßig wird Licht.Off aktiviert (Default Transition) Wechsel zwischen Licht.Off und Licht.On wird durch die Events licht_an und licht_aus ausgelöst. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 25

Superstates in Parallel-Anordnung Beschreibung Der zweite Parallel-Zustand Lueftung ist in die Exklusiv-Zustände Off, Stufe1 und Stufe2 aufgeschlüsselt, welche die jeweiligen Gebläsestufen kennzeichnen. Bei der ersten Aktivierung von On.Lueftung ist die Default Transition zum Verbindungspunkt gültig. Je nachdem, ob die Bedingungen [stufe1==1] und [stufe2==1] erfüllt sind, erfolgt ein Wechsel in den Zustand Lueftung.Stufe1, Lueftung.Stufe2 oder Lueftung.Off. Das event switch zeigt eine Schalterbewegung des Lüftungsschalters an. Beim Auftreten von switch ist die Inner Transition zum Verbindungspunkt gültig und es erfolgt wiederum ein Zustandswechsel, abhängig von der Gültigkeit der Bedingungen [stufe1==1] und [stufe2==1], in die Zustände Lueftung.Stufe1, Lueftung.Stufe2 oder Lueftung.Off. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 26

Superstates in Parallel-Anordnung Beschreibung Die Einführung der Parallel-Zustände Licht und Lueftung orientiert sich exakt an den tatsächlichen Gegebenheiten, nämlich der Tatsache dass Licht und Lueftung gleichzeitig aktiv sein können. Ausnutzung z. B. von Inner Transitions und eine gute Strukturierung sorgen für übersichtliche Modellierung. Welche Zustände sind zur Modellierung (z. B. des Modellrechners) notwendig? 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 27

Subcharts Schachtelung von Charts: Inhalt wird maskiert Das geht auch mit den Sonderformen (Hierarchieübergreifende Transitionen) 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 28

Subcharts Schachtelung von Charts: Inhalt wird maskiert, Lesbarkeit und Verständlichkeit beachten 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 29

Grafische Funktionen Eine grafische Funktion wird durch einen Flussgraphen ohne Zustände definiert. Funktionen können auch aus anderen Charts aufgerufen werden. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 30

Truth Tables Mit Truth Tables lassen sich logische Wahrheitstabellen in Stateflow kompakt realisieren. Vorteil: unübersichtliche UND/ODER Verknüpfungen können so vermieden werden. Truth Tables werden wie grafische Funktionen verwendet. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 31

Truth Tables Beispiel 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 32

Truth Tables Beispiel Eine in die Condition-Spalte eingetragene Bedingung muss zu true oder false ausgewertet werden. Alle Bedingungen sind voneinander unabhängig. Die erste Spalte ersetzt den Ausdruck if ((x<1) & (x<2) & (x<3) & (x<4) & (x<5)) y = 0; Spaltenweise UND-Verknüpfung der einzelnen Bedingungsergebnisse Die Angabe Labels ist optional möglich (hier: LOWER_SAT, UPPER_SAT). Aktionen werden über Nummer bzw. über Label zugeordnet. Funktion der Truth Table: Quantisierer 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 33

Truth Tables Beispiel 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 34

Getränkeautomat Steuerung eines einfachen Getränkeautomaten mit folgender Funktionalität Der Automat besitzt die zwei Zustände Off und On, die anzeigen, ob er einoder ausgeschaltet ist. Bei der Initialisierung soll sich die Steuerung im Zustand Off befinden. Der Wechsel zwischen Off und On soll durch das Tastersignal schalter ausgelöst werden. Der Automat stellt die vier Getränke Orangensaft, Cola, Fanta und Wasser zur Verfügung. Die Auswahl erfolgt durch eine Variable wahl, die die vier Getränke Orangensaft bis Wasser in den Zahlenwert 1 bis 4 codiert. Der Kauf eines Getränks erfolgt in zwei Schritten Zuerst wählt man die Sorte durch die Variable wahl aus Dann betätigt man einen Taster (Event auswahl) 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 35

Getränkeautomat Im Ausgabefach des Automaten befindet sich ein Sensor, der erkennt, ob die ausgewählte Getränkeflasche bereits entnommen wurde. Die Entnahme soll durch das Event entnahme angezeigt werden. Nur wenn die Flasche entnommen wurde, darf eine neue Flasche ausgegeben werden. Nachbildung der Events und Variablen in Simulink 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 36

Getränkeautomat Simulink Achtung: Datentypen beachten 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 37

Getränkeautomat Stateflow 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 38

Steuerung eines Heizgebläses Entwurf der Steuerung eines Heizgebläses Das Gebläse soll kalte und heiße Luft ausstoßen können. Zum Aufheizen kann ein Heizstab ein- und ausgeschaltet werden. Der Heizstab darf nur dann eingeschaltet werden, wenn auch das Gebläse in Betrieb ist, da sonst ein Schaden am Gerät entstehen kann. Der Heizlüfter besitzt einen Taster für das Gebläse und einen Schalter für den Heizstab. Eine mögliche Steuerung ist im Folgenden zu sehen. 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 39

Steuerung eines Heizgebläses Steuerung eines Heizgebläses, parallele Zustände 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 40

Zusammenfassung und Ausblick Statecharts und Stateflow Nächste Vorlesung behandelt SystemC 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 41