Das Kefk Network Wiki befindet sich im Testbetrieb.


Zustandsübergangsdiagramm

Aus Kefk.

Wechseln zu: Navigation, Suche
<imagemap>-Fehler: Bild ist ungültig oder nicht vorhanden Die Artikel Zustandsdiagramm (UML), Zustandsübergangsdiagramm und Zustandsautomat (UML) überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Die Diskussion über diese Überschneidungen findet hier statt. Bitte äußere dich dort, bevor du den Baustein entfernst. ReqEngineer Au weia!!! 14:14, 6. Jan. 2007 (CET)
Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Zustands%C3%BCbergangsdiagramm, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.

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)

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)

Siehe auch

Persönliche Werkzeuge