Informatik II: Modellierung Prof. Dr. Martin Glinz. Kapitel 7. Verhaltensmodelle. Universität Zürich Institut für Informatik

Ähnliche Dokumente
Informatik II: Modellierung Prof. Dr. Martin Glinz. Kapitel 4. Verhaltensmodelle. Universität Zürich Institut für Informatik

Informatik II: Modellierung Prof. Dr. Martin Glinz. Kapitel 7. Verhaltensmodelle. Universität Zürich Institut für Informatik

Endliche Automaten. Endliche Automaten J. Blömer 1/23

Kapitel 3 Ereignisdiskrete Systeme (III)

Endliche Automaten. Endliche Automaten J. Blömer 1/24

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Grundbegriffe der Informatik

State diagrams (Zustandsautomaten)

Grundbegriffe der Informatik

Zustände Zustandsdiagramme

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language

Grundbegriffe der Informatik

Einführung in die Informatik

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets

UML Grundlagen, Zustandsautomat. Zustandsautomaten bilden eine Erweiterung der endlichen Automaten

5.4 Endliche Automaten

Vorlesung Software Engineering I

Sommersemester Analyse II: Verhalten (Zustandsautomaten)

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen

UML - Zustandsdiagramm

2.6 Verdeutlichung verwendeter Begriffe

OOA-Dynamische Konzepte

Lexikalische Programmanalyse der Scanner

Modellierung von Arbeitsprozessen

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem

Requirements Engineering I

Die Unified Modeling Language UML

Informatik II: Modellierung Prof. Dr. Martin Glinz. Kapitel 13. Metamodelle. Universität Zürich Institut für Informatik

UML fürs Pflichtenheft

Softwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO

Berechenbarkeitstheorie 1. Vorlesung

Kurz-Skript zur Theoretischen Informatik I

BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel,

Traditionelle strukturierte Spezifikationsmethoden

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

Requirements Engineering I

Example Ptolemy Model of Comp.: Synchronous Reactive

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

1. Einführung und Begriffsbildung

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 8 -

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

Beispielklausur B MPGI 3

Die intuitionistische Natur von Statecharts

Grundbegriffe der Informatik Tutorium 33

Theoretische Informatik I

4.2.4 Reguläre Grammatiken

Tutorium 23 Grundbegriffe der Informatik (9. Sitzung)

Prüfung Programming, Automation, Computation

Requirements Engineering I

Eingebettete Systeme

1 Endliche deterministische Automaten. Informatik I: Einführung in die Programmierung 7. Automaten: Akzeptoren & Transduktoren. Vorweg...

Grundbegriffe der Informatik Tutorium 10

Einführung in die Theoretische Informatik

Von UML 1.x nach UML 2.0

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

Zustandsübergangsdiagramme

Automaten und Formale Sprachen SoSe 2013 in Trier

Theoretische Informatik I

Theorie der Informatik

Prüfung Programming, Automation, Computation

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung

Requirements Engineering I. Objektorientierte Spezifikation

13 Automaten und formale Sprachen

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Automaten und formale Sprachen Klausurvorbereitung

Grundbegriffe der Informatik Tutorium 11

Schritt 1: Zustände und Ein- und Ausgaben identifizieren Schritt 2: Übergänge festlegen

Algorithmisches Lernen, SS06 Dr. G. Grieser Automatensynthese

Zustandsdiagramm - Begriffe

Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Formale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER

Hierarchical State Machines

Labor Modellgestütztes Software Engineering. Versuch 3

3.0 VU Formale Modellierung

Informatik I: Einführung in die Programmierung

4. Modellieren und Diagrammarten

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm

Grundlagen der Theoretischen Informatik

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Transkript:

Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 7 Verhaltensmodelle Universität Zürich Institut für Informatik

Inhalt 7.1 Grundlagen 7.2 Zustandsautomaten 7.3 Statecharts 7.4 Petrinetze Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 2

7.1 Grundlagen Modellierung des zeitlich/dynamischen Verhaltens eines Systems, insbesondere für Dialoge Parallele und verteilte Systeme Echtzeit-Systeme Eingebettete Informationssysteme Interessierende Fragestellungen: Wann geschieht etwas? Wie lange geschieht etwas bzw. in welchem Zeitraum kann / muss etwas stattfinden? Welche Funktionen stehen wann zur Verfügung? Wie koordinieren parallele und verteilte Komponenten den zeitlichen Ablauf ihrer Tätigkeiten? Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 3

7.2 Zustandsautomaten Eine einfache Stoppuhr mit einem Bedienknopf: auf Null k/start läuft k/weiter k/stop steht l/rück Ereignisse: k Bedienknopf kurz gedrückt l Bedienknopf lang gedrückt Aktionen: start Stoppuhr starten stop Stoppuhr anhalten weiter Stoppuhr weiterlaufen lassen rück Stoppuhr auf Null stellen Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 4

Zustandsautomaten: Definition, Grundlagen Ein Zustandsautomat (state automaton) besteht aus einer endlichen Menge Z von Zuständen einer Menge U von Zustandsübergängen zwischen Zuständen aus Z einem oder mehreren Ereignissen zu jedem Zustandsübergang aus U, die den Zustandsübergang auslösen Null bis n Aktionen zu jedem Zustandsübergang aus U, die durch den Zustandsübergang ausgelöst werden der Kennzeichnung genau eines Zustands aus Z als Startzustand optional der Kennzeichnung von Endzuständen Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 5

Zustandsautomaten: Definitionen und Interpretation Zustand (state) repräsentiert einen genau abgegrenzten Zeitabschnitt, in dem das System ein bestimmtes Verhalten zeigt und auf eine bestimmte Menge von Eingaben reagiert Zustandsübergang (state transition) Zeitpunkt, an dem ein System einen gegebenen Zustand verlässt und in einen neuen Zustand übergeht Ereignis (event) Zeitpunkt, an dem eine Handlung wirksam wird oder eine Veränderung festgestellt wird Aktion (action) eine Operation, die bei einem Zustandsübergang angestoßen wird oder ein Ereignis, das bei einem Zustandsübergang erzeugt wird Diese Art von Automaten heißen in der Theorie Mealy-Automaten Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 6

Definitionen und Interpretation 2 Ausgehend vom gegebenen Startzustand befindet sich ein Zustandsautomat immer in genau einem Zustand. Im Zustand Z reagiert der Automat auf alle Ereignisse, die Zustandsübergänge von Z in einen anderen Zustand auslösen. Alle übrigen Ereignisse werden ignoriert. Tritt ein Ereignis ein, das einen Zustandsübergang auslöst, werden die zugehörigen Aktionen angestoßen und der Automat geht in den durch den Zustandsübergang spezifizierten Folgezustand. Zustandsübergänge sind zeitfrei. Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 7

Etwas Theorie: Endliche Automaten Ein Endlicher Automat ist ein 5-Tupel (X,Y,Z, λ, δ), bestehend aus einer Menge X = {x 1,...x n } von Eingabewerten (Eingabealphabet), einer Menge Y = {y 1,...,y m } von Ausgabewerten (Ausgabealphabet), einer Menge Z = {z 1,...,Z s } von Zuständen, einer Zustandsübergangsfunktion λ: Z x X Z, einer Ausgabefunktion δ entweder δ: Z x X Y (Mealy-Automat) oder δ: Z Y (Moore-Automat) Zur Modellierung des Verhaltens von Systemen werden meist Mealy- Automaten verwendet. In der Theorie formaler Sprachen dienen endliche Automaten zur Erkennung regulärer Sprachen. Das Ausgabealphabet solcher Automaten ist leer; die Ausgabefunktion entfällt. Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 8

Notation Zustandsautomaten können tabellarisch oder graphisch dargestellt werden durch Zustandsmatrizen Zustandsdiagramme In der Regel werden Zustandsdiagramme verwendet Zustandsdiagramm (state diagram) Graphische Darstellung eines Zustandsautomaten. Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 9

Notation 2 Zustand (state) e a e/a Zustandsübergang (state transition) Auslösendes Ereignis / ausgelöste Aktion (event / action) Startzustand (initial state) Alternative Notation (v.a. in der Automatentheorie verwendet) Zustand Startzustand Endzustand Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 10

Beispiel: Ein einfacher Fahrausweis-Automat Bedienung: VVV 20 min 20 Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 11

Beispiel 2: Verhaltensmodell Annulliert Initialisieren Bereit WahltasteGedrückt WahlRegistrieren WahltasteGedrückt WahlRegistrieren Gewählt MünzeEingegeben Kassieren MünzeEingegeben Kassieren Annulliert GeldZurückgeben; Initialisieren Bezahlung Ausgabe GenugGeld FahrausweisDrucken DruckenBeendet Initialisieren Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 12

Aufgabe 7.1 Der oben beschriebene Fahrausweis-Automat soll wie folgt erweitert werden: Es gibt eine zusätzliche Taste, die PLUS-Taste, welche es ermöglicht, mehrere Auswahlen hintereinander zu treffen und gesammelt zu bezahlen. Nach dem Drücken einer Wahltaste kann also entweder bezahlt oder die PLUS-Taste gedrückt werden. Im letzteren Fall muss anschließend eine weitere Wahltaste gedrückt werden. Wie muss das oben gegebene Zustandsdiagramm ergänzt/geändert werden, wenn diese Erweiterung modelliert werden soll? Wo stoßen Sie beim Modellieren auf Unklarheiten in der Aufgabenstellung? Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 13

Aufgabe 7.1: Neues Bedienfeld + Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 14

Vor- und Nachteile von Zustandsautomaten Anschaulich Symbolisch ausführbar Ignoriert Daten und Funktionalität Zustandsexplosion bei Modellen mit vielen parallelen Abläufen keine Mittel zur Dekomposition großer Modelle Die Probleme von Zustandsexplosion und fehlender Dekomposition werden durch Statecharts (siehe nächster Abschnitt) gelöst Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 15

Modellierung zusätzlicher Aspekte Zustandsautomaten ignorieren Daten und Funktionalität Kombination von Verhaltensmodellen mit anderen Modellen, zum Beispiel Klassenmodelle (siehe Kapitel über Klassenmodellierung) Datenflussdiagramme Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 16

Beispiel: Funktionalität des Fahrausweis-Automaten Ergänzung des Verhaltensmodells des Fahrausweis-Automaten durch ein Datenflussmodell: DFD 0 Fahrausweis-Automat Fahr ausweis Fahrausweis drucken Initialisieren Geld zurückgeben 1 2 3 eingeworfener Betrag Tarif Auswahl kassierterbetrag Wahltaste Wahl registrieren 4 zuzahlender Preis Restbetrag Münzwert Kassieren zuzahlender Restbetrag Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 17 5 Wechselgeld Betrag

Methodik der Erstellung von Zustandsautomaten 0. Problemstellung analysieren. 1. Startzustand Z 0 identifizieren und benennen. 2. Sei Z a der aktuelle Zustand (zu Beginn ist dies der Startzustand). Alle Arten von Ereignissen, auf die im Zustand Z a reagiert werden soll, identifizieren und die zugehörigen auszuführenden Aktionen bestimmen. 3. Für jede Ereignisart wird ein Zustandsübergang ZÜ i von Z a in einen potenziellen Folgezustand Z i modelliert. 4. Für jeden potenziellen Folgezustand Z i : 4a. Alle Arten von Ereignissen, auf die in Z i reagiert werden soll, identifizieren und die zugehörigen auszuführenden Aktionen bestimmen. Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 18

Methodik der Erstellung von Zustandsautomaten 2 4b. Sind diese Ereignisarten und Aktionen für zwei potenzielle Folgezustände Z i und Z k gleich, so führen die Zustandsübergänge ZÜ i und ZÜ k in einen gemeinsamen Folgezustand. 4c. Sind die Ereignisarten und Aktionen, auf die in Z i reagiert wird, gleich wie diejenigen, auf die in Z a reagiert wird, so ist Z i = Z a und ZÜ i ist ein Zustandsübergang vom aktuellen Zustand Z a auf sich selbst. 4d. Die auf diese Weise verbleibenden, voneinander verschiedenen Folgezustände benennen. 5. Schritte 2, 3 und 4 rekursiv für jeden neu modellierten Zustand wiederholen. Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 19

Aufgabe 7.2 Modellieren Sie einen Kaffeeautomaten, der wie folgt funktioniert: Als erstes wird eine Wertmünze eingeworfen. Als nächstes können Zusätze gewählt werden: mit Milch, mit Zucker. Als drittes wird die Art des Kaffees gewählt: Normal oder Espresso. Dann wird das gewählte Getränk zubereitet. Sobald der gefüllte Becher entnommen ist, ist das Gerät wieder bereit. Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 20

7.3 Statecharts Statechart Ein Zustandsdiagramm, dessen Zustände hierarchisch und parallel zerlegbar sind. Statecharts = Zustandsdiagramme + Hierarchische Zerlegung + Parallelität (Harel 1987) A D B a/k B1 c/m B2 b/l e/o C d/n R g/q U f/p h/r S r/s g/f T V Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 21

Statecharts 2 Jeder Zustand in einem Statechart ist entweder elementar oder hierarchisch zerlegt durch ein anderes Statechart oder parallel zerlegt in mehrere parallele Statecharts Vermeiden die Probleme von Zustandsautomaten Theoretisch äquivalent mit Zustandsautomaten Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 22

Notation und Interpretation A B B1 a/k B2 c/m D R f/p h/r S T b/l g/q e/o r/s U V C g/f d/n Notation: S 1 e/a S 2 Zustand oder Statechart Zustandsübergang Initialzustand Zustand besteht aus parallelen Statecharts auslösendes Ereignis e und ausgelöste Aktion a Endzustand Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 23

Beispiel: Erweitertes Fahrausweis-Automat-Modell Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 24

Verschachtelte oder flache Darstellung möglich A D B B1 a/k B2 c/m b/l e/o C d/n A B c/m D D C e/o d/n B a/k B1 B2 b/l R g/q U R g/q U f/p h/r S r/s g/f f/p h/r S r/s g/f T V T V verschachtelt flach Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 25

Interpretation hierarchischer Statecharts (Details) Zustandsübergang in einen elementaren Zustand: wie bei Zustandsautomaten Verlassen eines elementaren Zustands: wie bei Zustandsautomaten Zustandsübergang in einen Zustand, der aus einem Statechart besteht: dieses Statechart geht in den Initialzustand; bei mehrstufiger Hierarchie gilt diese Regel rekursiv Verlassen eines Zustands, der aus einem Statechart besteht: alle Zustände dieses und aller darin hierarchisch enthaltenen Statecharts werden verlassen Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 26

Interpretation paralleler Statecharts Bei der Initialisierung geht dieses Statechart in den Zustand (R,U) Die Ereignis-Sequenz g h f D R g/q U führt zur folgenden Zustandssequenz: (S,V) (R,U) (T,U) f/p T h/r S t/h r/s V g/f Wichtig: Zustandsübergänge zwischen parallelen Statecharts sind verboten! Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 27

Interpretation paralleler Statecharts (Details) Ein Zustand Z kann aus mehreren parallelen Statecharts S 1,...S n bestehen (Statechart D in Beispiel oben). Dabei... bilden die Zustände S 1,...S n zusammen den Zustand Z können in parallelen Statecharts parallel und unabhängig voneinander Zustandsübergänge stattfinden sind Zustandsübergänge zwischen parallelen Statecharts verboten (graphisch: die gestrichelten Trennlinien dürfen nie von einem Zustandsübergangspfeil gekreuzt werden) können sich parallele Statecharts über Ereignisse gegenseitig beeinflussen Beim Zustandsübergang nach Z gehen die Statecharts S 1,...S n in ihren jeweiligen Initialzustand Beim Verlassen des Zustands Z werden alle Zustände aller Statecharts S 1,...S n verlassen Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 28

Etwas Theorie: Statechart-Semantik Die Semantik der Zustandsübergänge in Statecharts wird durch Makround Mikroschritte definiert Makroschritt: Vollständige Reaktion auf das Auftreten eines äußeren Ereignisses Der Ablauf eines Makroschritts wird in Mikroschritte unterteilt Während der Bearbeitung eines Makroschritts treten keine äußeren Ereignisse ein (d.h. die Dauer eines Makroschritts ist null oder beliebig klein) Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 29

Hier verwendete Semantik Makroschritt: Reaktion auf Ereignis g im Zustand (R, U) Mikroschritte: 1. R und U werden verlassen 2. S und V werden betreten 3. q wird erzeugt 4. x wird erzeugt 5. f wird erzeugt, S wird verlassen 6. W wird betreten 7. z wird erzeugt 8. y wird erzeugt Der Makroschritt endet. [Glinz 2002] Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 30

Hier verwendete Semantik 2 Die Reihenfolge der Bearbeitung paralleler Zustandsübergänge ist zufällig: die Reihenfolgen q, x, f, z, y f, z, y, q, x sind beide möglich In dieser Semantik kann es vorkommen, dass ein Makroschritt nicht terminiert Z1 a/b b/a Z2 Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 31

Andere Semantiken für Statecharts Es gibt eine Menge verschiedener Semantiken Beispiel: Harel's originale Semantik Makroschritt: Reaktion auf Ereignis g im Zustand (R, U) Ereignismenge = { g } Mikroschritte: 1. Die Ereignisse q, x, f, y werden erzeugt und zur Ereignismenge hinzugefügt 2. In jedem parallelen Statechart wird zufällig ein auf Grund der Ereignismenge möglicher Zustandsübergang ausgewählt: R S und U V oder R T und U V Der Makroschritt endet Problem: diese Semantik führt zu kontra-intuitivem Verhalten Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 32

Statecharts Weitere Elemente Es gibt eine Reihe weiterer Elemente in Statecharts, die hier nicht behandelt werden Merkzustände (history states) gibt es schon in den Originalarbeiten von Harel UML 2.0 erweitert Statecharts um diverse weitere Elemente Nützlich sind Ein- und Austrittspunkte für Komponentenzustände: Start Zugangskontrolle Berechtigt Zutritt verweigert Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 33

Aufgabe 7.3 Die Haustür eines Gebäudes ist aus Sicherheitsgründen nur über eine automatische Tür zugänglich. Diese Tür hat folgende Eigenschaften: Die Tür öffnet automatisch, wenn auf der Außenseite eine Schlüsselkarte mit einprogrammierter Zutrittsberechtigung gesteckt wird, wenn ein Annäherungssensor auf der Innenseite anspricht oder wenn ein Öffnungsknopf auf der Innenseite gedrückt wird. Vier Sekunden nachdem die Tür sich vollständig geöffnet hat, schließt sie automatisch wieder. An der Tür befinden sich Sensoren, welche folgende Ereignisse melden: Tür vollständig geschlossen, Tür vollständig geöffnet, Hindernis in der Türöffnung. Wird beim Schließen der Tür ein Hindernis in der Türöffnung registriert, so wird der Schließvorgang unterbrochen und die Tür öffnet wieder. Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 34

Aufgabe 7.3 (Fortsetzung) An der Innenseite der Tür befindet sich ein plombierter Notöffnungsknopf. Wird dieser gedrückt, so muss die Tür sofort öffnen und offen bleiben. Im Hinblick auf eine zu entwerfende automatische Steuerung soll das Verhalten der Tür präzise modelliert werden. Verwenden Sie zur Modellierung Statecharts. Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 35

7.4 Petrinetze Dieses Unterkapitel folgt später Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 36

Literatur Glinz, M. (2002). Statecharts For Requirements Specification As Simple As Possible, As Rich As Needed. ICSE International Workshop on Scenarios and State Machines: Models, Algorithms and Tools, Orlando, May 2002. Hagelauer, R. (2002). Schaltkreise und digitale Logikschaltungen, Kapitel 1.3.1: Endliche Automaten. In: P. Rechenberg, G. Pomberger (Hrsg.): Informatik-Handbuch, 3. Auflage. München, Wien: Hanser. 276-278. Harel, D. (1987). Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8 (1987). 231-274. Harel, D. (1988). On Visual Formalisms. Communications of the ACM 31, 5 (May 1988). 514-530. Object Management Group (2004). UML 2.0 Superstructure Specification. OMG document ptc/04-10-02. Von der Beeck, M. (1994). A Comparison of Statechart Variants. In H. Langmaack, W.-P. de Roever, J. Vytopil (eds.): Formal Techniques in Real-Time and Fault-Tolerant Systems. Berlin: Springer. 128-148. Ward, P.T., S.J. Mellor (1985). Structured Development for Real-Time Systems, Vol. I-III. Englewood Cliffs, N.J.: Prentice-Hall. Informatik II: Modellierung Kapitel 7 2005 by Martin Glinz 37