Revision [4944]

This is an old revision of ZustandsAutomaten made by ToBo on 2008-08-31 03:13:41.

 

Zustandsautomaten


1. Endliche Zustandsautomaten


Endliche Zustandsautomaten (engl. Finite State Machines) werden in der Elektrotechnik mit der Zusammenschaltung von Logik-Gattern realisiert. Dies ist die ursprüngliche Form von Zustandsaustomaten.


2. Virtuelle, endliche Zustandsautomaten


Seit dem Einzug der Computer und Mikrocontroller in der Steuerungstechnik sind nun auch virtuelle, endliche Zustandsaustomaten möglich (engl. Virtual Finite State Machines, VFSM). Bei der Umsetzung dieser Art von Zustandsautomaten müssen jedoch einige Randbedingungen beachtet werden. Beispielsweise ist hier die Definition von Zustandstabellen empfehlenswert.
http://de.wikipedia.org/wiki/Virtueller_endlicher_Automat
http://www.stateworks.com/active/download/wagf92-software-engineering.pdf


3. Typen

  • Mealy-Automat führt Aktionen im Zustandsübergang aus.
  • Moore-Automat führt Aktionen beim Betreten und Verlassen eines Zustands aus.
  • Harel-Automat sind Hybride aus Mealy- und Moore-Automaten, sie erlauben zudem bedingte Zustandsübergänge, Zustände mit Gedächtnis, nebenläufige Zustände. Siehe dazu Balzert2000, S. 323 und Zustandsautomaten der SoftwareUml2 UML2.


4. Composite State und Submachine States


Zustandsautomaten können mit zunehmender Anzahl der Zustände unübersichtlich werden. Die SoftwareUml2 UML2 bietet hierfür die Dekomposition von Zuständen (Born2004, S. 177) oder auch s.g. hierarchische Zustandsautomaten (Balzert2000, S. 325). Es ist immer dasselbe gemeint. Dabei werden Zustände, der Übersicht und Ordnung wegen, zu einem übergeordneten Zustand zusammengefasst.

Die SoftwareUml2 UML2 bietet genauer genommen zwei Varianten von zusammengesetzten Zuständen.
  • Die orthogonale Dekomposition liefert Composite States, die aus s.g. Regionen, engl. regions (Born2004, S. 183) bestehen. Die Regionen beinhalten im Zustandsautomaten. Die Zustandsautomaten werden innerhalb der Region dargestellt.
  • Submachine States sind Zustände, die einen Zustandsautomaten beinhalten. Der Zustandsautomat wird nicht im inneren des oberliegenden Zustandes dargestellt.

A composite state either contains one region or is decomposed into two or more orthogonal regions. Each region has a set of mutually exclusive disjoint subvertices and a set of transitions. A given state may only be decomposed in one of these two ways. (OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2, 549)

A submachine state specifies the insertion of the specification of a submachine state machine. The state machine that contains the submachine state is called the containing state machine. The same state machine may be a submachine more than once in the context of a single containing state machine. (OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2, 549)



5. Erweiterte Zustandsautomaten


Erweiterte, endliche Zustandsautomaten besitzen abgesehen von ihren Zuständen, als erweiterung lokale Variablen, die das Verhalten beim Eintreffen von Ereignissen beeinflussen können, wie bei Zustandsautomaten der SoftwareUml2 UML2 oder allgemein Harel-Automaten.


6. Zustandstabellen


Werden nur bei virtuellen, endlichen Zustandsaustomaten benötigt. Eine Zustandstabelle definiert, unter welche Bedingungen von diesem Zustand in einen anderen Führen und was bei Eintritt in den betrachteten Zustand oder beim Verlassen dieses Zustandes ausgeführt wird.


7. State Event Matrix


Die Übergangstabelle (engl. State Event Matrix) bietet eine lückenlose Definition von Übergängen von jedem möglichen Zustand in alle anderen möglichen Zustände in Abhängigkeit von den möglichen Ereignissen. Die Übergangstabelle ist ein effektives Mittel um alle Fälle eines Zustandsautomaten zu erfassen.


8. Testplan

  • Testplan für Zustandsautomaten
    • Stufe 1: Zustandsabdeckung
    • Stufe 2: Abdeckung aller Zustandswechsel


9. Relevant

  • State invariant
  • defer gibt an, dass ein Event nicht im aktuellen Zustand verarbeitet werden kann, jedoch im nachfolgenden Zustand eine Rolle spielen könnte.


10. UML2


Typen

  • Mealy-, Moore- oder Harel-Automaten darstellbar
  • Zustände mit Gedächtnis, nebenläufige Zustände (siehe dazu Balzert2000, S. 323 und Zustandsautomaten der SoftwareUml2 UML2).
  • Erweiterter endlicher Automaten

Events

  • Call event
  • Signal event
  • Time event
  • Change event

Aktionen

  • entry / <Aktion> wird als erstes beim Betreten des Zustandes ausgeführt.
  • do / <Aktivität> wird nach der entry-Aktion ausgeführt und läuft bis sie beendet oder der Zustand verlassen wird.
  • exit / <Aktion> wird beim Verlassen ausgeführt.



Siehe auch
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki