Revision [5737]

This is an old revision of ZustandsAutomaten made by ToBo on 2008-10-25 11:19:12.

 

Zustandsautomaten



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



Seit dem Einzug der Computer und Mikrocontroller in der Steuerungstechnik sind nun auch virtuelle, EndlicherAutomat endliche Zustandsautomaten 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


  • Mealy-Automat führt Aktionen im Zustandsübergang aus.
image
  • Moore-Automat führt Aktionen beim Betreten und Verlassen eines Zustands aus.
image

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



Zustandsautomaten können mit zunehmender Anzahl der Zustände unübersichtlich werden. Um dies zu vermeiden können bereiche von Zustandsautomaten oder ganze Zustandsautomaten zu einem Zustand zusammengefasst werden. Die UML 2 bietet hier die Composite State und Submachine States. Es wird auch von Dekomposition von Zuständen (Born2004, S. 177) oder auch s.g. hierarchischen Zustandsautomaten (Balzert2000, S. 325) gesprochen. Es ist bis auf kleine Feinheiten immer dasselbe gemeint - das Zusammenfasen von Zuständen oder ganzer Zustandsautomaten zu einem Zustand.

Die SoftwareUml2 UML2 bietet zwei Varianten von zusammengesetzten Zuständen.
  • Die orthogonale Dekomposition liefert Composite States, die aus s.g. Regionen, engl. regions (Born2004, S. 183) bestehen. Man spricht von Composite States wenn mindestens eine Region vorhanden ist. Die Regionen beinhalten Zustandsautomaten. Die Zustandsautomaten werden innerhalb einer Region vollständig dargestellt.
  • Submachine States sind Zustände, die einen Zustandsautomaten beinhalten. Der Zustandsautomat wird in einem separaten Diagramm, also im Gegensatz zu Composite States 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, Page 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, Page 549)



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.



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.



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: Jeder Zustand wird mindestens einmal erreicht.
    • Stufe 2: Abdeckung aller Zustandswechsel: Jeder Zustandsübergang wird mindestens einmal ausgeführt.


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



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