Revision [4939]

This is an old revision of ZustandsAutomaten made by ToBo on 2008-08-31 02:32:18.

 

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. Dekomposition


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 drei Varianten der Dekomposition von Zuständen
  • Composite State: Zusammenfassung mehrerer Zustände in einem Zustand; Die Transitionen werden unverändert dargestellt
  • Orthogonale Dekomposition zu s.g. Regionen (Born2004, S. 183)
  • Statemachine State


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.


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

8. Relevant

  • State invariant
  • Composite State fasst eine Gruppe von Zuständen in einem Zustand zusammen.
  • defer gibt an, dass ein Event nicht im aktuellen Zustand verarbeitet werden kann, jedoch im nachfolgenden Zustand eine Rolle spielen könnte.


9. 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