Zustandsdiagramm

Ein Zustandsdiagramm ist ein Typ des Diagramms, das in der Informatik und den verwandten Feldern verwendet ist, um das Verhalten von Systemen zu beschreiben. Zustandsdiagramme verlangen, dass das beschriebene System aus einer begrenzten Zahl von Staaten zusammengesetzt wird; manchmal ist das tatsächlich der Fall, während in anderen Zeiten das eine angemessene Abstraktion ist. Viele Formen von Zustandsdiagrammen bestehen, die sich ein bisschen unterscheiden und verschiedene Semantik haben.

Übersicht

Zustandsdiagramme werden verwendet, um eine abstrakte Beschreibung des Verhaltens eines Systems zu geben. Dieses Verhalten wird analysiert und in der Reihe von Ereignissen vertreten, die in einem oder möglicheren Staaten vorkommen konnten. Hiermit "vertritt jedes Diagramm gewöhnlich Gegenstände einer einzelnen Klasse, und verfolgen Sie die verschiedenen Staaten seiner Gegenstände durch das System".

Zustandsdiagramme können verwendet werden, um Zustandsmaschinen grafisch zu vertreten. Das wurde von C.E. Shannon und W. Weaver in ihrem 1949-Buch "Die Mathematische Theorie der Kommunikation" eingeführt. Eine andere Quelle ist Taylor Booth in seinem 1967-Buch "Folgende Maschinen- und Automaten-Theorie". Eine andere mögliche Darstellung ist der Staatsübergang-Tisch.

Geleiteter Graph

Eine klassische Form des Zustandsdiagramms für eine Zustandsmaschine oder begrenzten Automaten (FA) ist ein geleiteter Graph mit den folgenden Elementen (Q, Σ, Z, δ, q, F):

  • Scheitelpunkte Q: Ein begrenzter Satz von Staaten, die normalerweise durch Kreise vertreten sind und mit einzigartigen designator Symbolen oder Wörtern etikettiert sind, die in ihnen schriftlich
sind
  • Eingangssymbole Σ: eine begrenzte Sammlung von Eingangssymbolen oder designators
  • Produktionssymbole Z: eine begrenzte Sammlung von Produktionssymbolen oder designators

Die Produktionsfunktion ω vertritt von befohlenen Paaren von Eingangssymbolen und Staaten auf Produktionssymbole, angezeigt mathematisch als ω kartografisch darzustellen: Σ × Q  Z.

  • Ränder δ: Vertreten Sie Übergänge von einem Staat bis einen anderen, wie verursacht, durch den Eingang (identifiziert durch ihre Symbole gestützt die Ränder). Ein Rand wird gewöhnlich als ein Pfeil gezogen, der vom aktuellen Zustand bis den folgenden Staat geleitet ist. Das kartografisch darzustellen, beschreibt den Zustandübergang, der auf dem Eingang eines besonderen Symbols vorkommen soll. Das wird mathematisch als δ geschrieben: Q × Σ  Q, so durch δ (Übergang-Funktion) in der Definition des FA wird sowohl das Paar von Scheitelpunkten gegeben, die durch einen Rand als auch das Symbol an einem Rand in einem Diagramm verbunden sind, das diesen FA vertritt. Artikel δ (q, a) = p in der Definition des FA bedeutet, dass vom Staat q unter dem Eingangssymbol a genannt hat, kommt der Übergang zum Staat p in dieser Maschine vor. Im Diagramm, das diesen FA vertritt, wird das durch einen Rand vertreten, der durch ein Hinweisen vom Scheitelpunkt etikettiert ist, der durch q zum durch p etikettierten Scheitelpunkt etikettiert ist.
  • Fangen Sie Staat q an: (nicht gezeigt in den Beispielen unten). Der Anfang-Staat q  Q wird gewöhnlich durch einen Pfeil ohne Ursprung vertreten, der zum Staat hinweist. In älteren Texten wird der Anfang-Staat nicht gezeigt und muss aus dem Text abgeleitet werden.
  • Das Annehmen des Staates (En) F: Wenn verwendet, zum Beispiel um Automaten, F  zu akzeptieren, ist Q der akzeptierende Staat. Es wird gewöhnlich als ein doppelter Kreis gezogen. Manchmal die akzeptieren Funktion des Staates (En) als "Endgültig" (Halt, gefangen) Staaten.

Für einen deterministischen begrenzten Automaten (DFA), nichtdeterministischen begrenzten Automaten (NFA), verallgemeinerten nichtdeterministischen begrenzten Automaten (GNFA) oder Maschine von Moore, wird der Eingang an jedem Rand angezeigt. Für eine Mehlige Maschine werden Eingang und Produktion an jedem Rand bedeutet, der mit einem Hieb "/" getrennt ist: "1/0" zeigt die Zustandsänderung nach dem Antreffen auf das Symbol "1" das Verursachen des Symbols "0" an, um Produktion zu sein. Weil ein Moore die Produktion des Staates maschinell herstellt, wird gewöhnlich innerhalb des Kreises des Staates geschrieben, der auch vom designator des Staates mit einem Hieb "/" getrennt ist. Es gibt auch Varianten, die diese zwei Notationen verbinden.

Zum Beispiel, wenn ein Staat mehrere Produktionen hat (z.B "= Motor counter-clockwise=1, b = Verwarnungslicht inactive=0"), sollte das Diagramm das widerspiegeln: Z.B benennt "q5/1,0" Staat q5 mit Produktionen a=1, b=0. Dieser designator wird innerhalb des Kreises des Staates geschrieben.

Beispiel: DFA, NFA, GNFA oder Maschine von Moore

S und S sind Staaten, und S ist ein akzeptierender Staat oder ein Endstaat. Jeder Rand wird mit dem Eingang etikettiert. Dieses Beispiel zeigt einem Annehmer für Schnuren {mehr als 0,1}, die eine gerade Zahl von Nullen enthalten.

:

Beispiel: Mehlige Maschine

S, S, und S sind Staaten. Jeder Rand wird mit "j / k" etikettiert, wo j der Eingang ist und k die Produktion ist.

:

Harel statechart

Harel statecharts gewinnen weit verbreiteten Gebrauch, seitdem eine Variante ein Teil von Unified Modeling Language (UML) geworden ist. Der Diagramm-Typ erlaubt das Modellieren von Superstaaten, orthogonalen Gebieten und Tätigkeiten als ein Teil eines Staates.

Klassische Zustandsdiagramme verlangen die Entwicklung von verschiedenen Knoten für jede gültige Kombination von Rahmen, die den Staat definieren. Das kann zu einer sehr hohen Zahl von Knoten und Übergängen zwischen Knoten für alle außer dem einfachsten von Systemen (Staat und Übergang-Explosion) führen. Diese Kompliziertheit reduziert die Lesbarkeit des Zustandsdiagramms. Mit Harel statecharts ist es möglich, vielfache quer-funktionelle Zustandsdiagramme innerhalb des statechart zu modellieren. Jede dieser quer-funktionellen Zustandmaschinen kann innerlich wechseln, ohne die anderen Zustandmaschinen im statechart zu betreffen. Der aktuelle Staat jeder quer-funktionellen Zustandmaschine im statechart definiert den Staat des Systems. Harel statechart ist zu einem Zustandsdiagramm gleichwertig, aber er verbessert die Lesbarkeit des resultierenden Diagramms.

Alternative Semantik

Es gibt andere Sätze der Semantik, die verfügbar ist, um Zustandsdiagramme zu vertreten. Zum Beispiel gibt es Werkzeuge, um Logik für eingebettete Kontrolleure zu modellieren und zu entwerfen.. Diese Diagramme, wie die ursprünglichen Zustandmaschinen von Harel, unterstützen hierarchisch verschachtelte Staaten, orthogonale Gebiete, Zustandhandlungen und Übergang-Handlungen.

Zustandsdiagramme gegen Flussschemen

Neulinge zum Zustandmaschinenformalismus verwechseln häufig Zustandsdiagramme mit Flussschemen. Die Zahl zeigt unten einen Vergleich eines Zustandsdiagramms mit einem Flussschema. Eine Zustandmaschine (Tafel (a)) führt Handlungen als Antwort auf ausführliche Ereignisse durch. Im Gegensatz braucht das Flussschema (Tafel (b)) ausführliche Ereignisse, aber eher Übergänge vom Knoten bis Knoten in seinem Graphen automatisch nach der Vollziehung von Tätigkeiten nicht.

:

Grafisch, im Vergleich zu Zustandsdiagrammen, kehren Flussschemen den Sinn von Scheitelpunkten und Kreisbogen um. In einem Zustandsdiagramm wird die Verarbeitung mit den Kreisbogen (Übergänge) vereinigt, wohingegen in einem Flussschema sie mit den Scheitelpunkten vereinigt wird. Eine Zustandmaschine ist müßig, wenn sie in einem Zustandwarten für ein Ereignis sitzt, um vorzukommen. Ein Flussschema ist beschäftigt, Tätigkeiten durchzuführen, wenn es in einem Knoten sitzt. Die Zahl versucht oben, dass Umkehrung von Rollen zu zeigen, indem sie die Kreisbogen der Zustandsdiagramme mit den in einer Prozession gehenden Stufen des Flussschemas ausrichtet.

Sie können ein Flussschema mit einem Montageband in der Herstellung vergleichen, weil das Flussschema den Fortschritt von einer Aufgabe von Anfang bis zum Ende (z.B beschreibt, Quellcodeeingang in die Gegenstand-Codeproduktion durch einen Bearbeiter umgestaltend). Eine Zustandmaschine hat allgemein keinen Begriff solch eines Fortschritts. Die Tür-Zustandmaschine, die an der Oberseite von diesem Artikel zum Beispiel gezeigt ist, ist nicht in einer fortgeschritteneren Bühne, wenn es im "geschlossenen" Staat ist, im Vergleich dazu im "geöffneten" Staat zu sein; es reagiert einfach verschieden auf die offenen/nahen Ereignisse. Ein Staat in einer Zustandmaschine ist eine effiziente Weise, ein besonderes Verhalten, aber nicht eine Bühne der Verarbeitung anzugeben.

Andere Erweiterungen

Eine interessante Erweiterung soll Kreisbogen erlauben, von jeder Zahl von Staaten zu jeder Zahl von Staaten zu fließen. Das hat nur Sinn, wenn dem System erlaubt wird, in vielfachen Staaten sofort zu sein, der andeutet, dass ein individueller Staat nur eine Bedingung oder anderen teilweisen Aspekt des gesamten, globalen Staates beschreibt. Der resultierende Formalismus ist als ein Netz von Petri bekannt.

Eine andere Erweiterung erlaubt die Integration von Flussschemen innerhalb von Harel statecharts. Diese Erweiterung unterstützt die Entwicklung der Software, die sowohl Ereignis gesteuert als auch gesteuerter Arbeitsablauf ist.

Siehe auch

  • Maschine des Staates UML
  • SCXML eine XML Sprache, die eine allgemeine Zustandmaschine zur Verfügung stellt, hat auf Harel statecharts gestützte Ausführungsumgebung gestützt.
  • David Harel

Außenverbindungen


Esporte Clube Bahia / Charles Correll
Impressum & Datenschutz