Zustandsübergangsdiagramm

Zustandsübergangsdiagramm

Ein Zustandsübergangsdiagramm ist eine grafische Darstellung von endlichen Automaten, d. h. Zuständen und deren Übergangsbedingungen, um die enthaltenen Verknüpfungen möglichst durchschaubar und eindeutig zu visualisieren.

Anwendung findet das Zustandsübergangsdiagramm im Rahmen der Systemtheorie in den verschiedensten Bereichen der Informatik. Eine wesentliche Vereinheitlichung wurde durch David Harels Statechart-Notation erreicht, welche weithin als die allgemeingültige Form von Zustandsübergangsdiagrammen gesehen wird. Für die objektorientierte Softwareentwicklung ist es mittlerweile im Rahmen der Unified Modeling Language (UML) normiert als Zustandsdiagramm (UML). Es existieren insbesondere im historischen Kontext noch weitere Varianten der Darstellung.

Inhaltsverzeichnis

Statecharts

Statechart ist eine Darstellungsform eines Endlichen Automaten in der Informatik, die von David Harel eingeführt wurde. Die Notation erlaubt die präzise Spezifikation von zustandsbasierten Systemen. David Harel führte mehrere Notationselemente ein, um die Komplexität großer Systeme mittels Endlicher Automaten handhabbar zu machen:

  • Hierarchie mit Unterzustandsautomaten, in denen in einem Zustand einer höheren Ebene ein weiterer vollständiger Zustandsautomat steckt. Die Unterzustandsautomaten können entweder einen eigenen Startzustand haben, oder aber können Unterzustände direkt angesprungen werden.
  • Komposition für die Darstellung von parallelen Zustandsautomaten. Hierbei sind AND und OR-Komposition möglich, die ein gleichzeitiges oder abwechselndes Schalten der Automaten vorsehen
  • Inter-Level-Transitionen, welche auch einen Unterzustand in einen Zustand einer anderen Ebene überführen können und vice versa.
  • History-Konnektor, der für einen Unterzustandsautomat bei dessen Verlassen den zuletzt eingenommenen Zustand speichert, um beim Wiedereintritt in den Unterzustandsautomat diesen Zustand wieder einzunehmen. Der History-Konnektor wird mit einem eingekreisten H notiert.
  • Condition-Konnektor, der einen Zustandsübergang (eine Transition) abhängig von einer Bedingung in disjunkt in verschiedene Zielzustände überführt. Der Condition-Konnektor wird mit einem eingekreisten C notiert.
  • Temporale Logik kann in den Transitionen verwendet werden, um beispielsweise Timeouts anzugeben.
  • Entry-, Exit-, Throughout-Actions von Zuständen, welche Aktionen angeben, die beim Eintreten, Verlassen bzw. während des Aufenthalts in einem Zustand ausgeführt werden. Die Anzahl der Ausführungen der Throughout-Aktion hängt somit auch von der Taktung des Zustandsautomaten ab.

Werkzeuge

Neben den UML-Werkzeugen sind Zustandsübergangsdiagramme auch in einer Reihe weiterer sowohl offener als auch kommerzieller Werkzeuge implementiert, z.B. (Liste unvollständig):

Siehe auch

Literatur

  • David Harel: Statecharts: A Visual Approach to Complex Systems, CS84-05, Department of Applied Mathematics, The Weizmann Institute of Science, 1984
  • David Harel: „Statecharts: A Visual Formalism for Complex Systems“. In: Science of Computer Programming. 8/1987, North Holland, S. 231–274, (PDF)

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Faltungs-Code — Faltungscodes (engl. Convolutional Code) ein Begriff der Codierungstheorie werden, wie auch Blockcodes, in der Nachrichtentechnik zur Kanalkodierung eingesetzt, denn sie bieten eine Vorwärtsfehlerkorrektur. Dabei wird durch zusätzlich… …   Deutsch Wikipedia

  • Zustandsautomat (UML) — Strukturdiagramme der UML Klassendiagramm Komponentendiagramm Kompositionsstrukturdiagramm Objektdiagramm Paketdiagramm Verteilungsdiagramm Verhaltensdiagramme der UML …   Deutsch Wikipedia

  • Computer Science — Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere der automatischen Verarbeitung mit Hilfe von Rechenanlagen. Historisch hat sich die Informatik als Wissenschaft aus der Mathematik entwickelt,… …   Deutsch Wikipedia

  • Computerwissenschaft — Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere der automatischen Verarbeitung mit Hilfe von Rechenanlagen. Historisch hat sich die Informatik als Wissenschaft aus der Mathematik entwickelt,… …   Deutsch Wikipedia

  • Faltungscode — Faltungscodes (engl. Convolutional Code) – ein Begriff der Codierungstheorie – werden, wie auch Blockcodes, in der Nachrichtentechnik zur Kanalkodierung eingesetzt, denn sie bieten eine Vorwärtsfehlerkorrektur. Dabei wird durch zusätzlich… …   Deutsch Wikipedia

  • Case/4/0 — ist ein von der Firma microTOOL entwickeltes Werkzeug für die Softwareentwicklung mit Strukturierter Analyse und Strukturiertem Design. Es unterstützt Softwareentwickler in der konzeptionellen Arbeit der Analyse, des Designs und der… …   Deutsch Wikipedia

  • Finite-State-Machine — Abb.1 Beispiel eines EA Ein endlicher Automat (EA, auch Zustandsmaschine, englisch finite state machine (FSM)) ist ein Modell des Verhaltens, bestehend aus Zuständen, Zustandsübergängen und Aktionen. Ein Automat heißt endlich, wenn die Menge der… …   Deutsch Wikipedia

  • Finite State Machine — Abb.1 Beispiel eines EA Ein endlicher Automat (EA, auch Zustandsmaschine, englisch finite state machine (FSM)) ist ein Modell des Verhaltens, bestehend aus Zuständen, Zustandsübergängen und Aktionen. Ein Automat heißt endlich, wenn die Menge der… …   Deutsch Wikipedia

  • State-Chart — Ein Zustandsübergangsdiagramm ist eine grafische Darstellung von endlichen Automaten, d. h. Zuständen und deren Übergangsbedingungen, um die enthaltenen Verknüpfungen möglichst durchschaubar und eindeutig zu visualisieren. Anwendung findet das… …   Deutsch Wikipedia

  • State Diagram — Der Begriff Zustandsdiagramm entstammt der Systemtheorie. Er bezeichnet die grafische Darstellung von Zuständen und daran anknüpfenden Zustandswechseln. Er findet Verwendung in mehreren Bereichen: In der Informatik ist das… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”