2009-06-04 6 views
-2

alles definieren zu tun ist, wenn etwas passiert,Hat jemand "Zustandsmaschine" wie Schema in Ihrem Projekt verwendet?

Ich schätze, dass

aber nie, dass noch versucht haben.

mein Q ist: Wie ein System auf der Grundlage von Zustandsautomaten zu entwerfen?

+0

AM Ich bin eine schlechte Person, wenn ich versucht bin, nur "Ja" zu schreiben? – dmckee

+0

Um, nein. @Shore: Ich denke, du wirst ein bisschen mehr ausarbeiten müssen und etwas genauer sein, was du wissen willst. –

+0

Ich habe meine Frage aktualisiert :) – omg

Antwort

1

Die "State-Event" -gesteuerte Architektur wird in einigen Anwendungsdomänen verwendet. Tatsächlich gibt es ein Tool mit der Bezeichnung smc (State Machine Compiler), das eine Spezifikation für eine Zustandsmaschine annimmt (ähnlich wie lex und yacc Scanner- und Parserdefinitionen) und Code in C oder anderen Sprachen generiert, um es zu implementieren.

1

Die Basis einer Zustandsmaschine ist meiner Erfahrung nach die switch-Anweisung.

Jeder Fall in diesem repräsentiert einen Zustand Ihrer Maschine.

Die switch-Anweisung muss regelmäßig aufgerufen werden, dies kann in einer codierten Schleife oder in einem Event-Handler erfolgen. Es hängt wirklich davon ab, was Ihre Zustandsmaschine macht, wie Sie Ihre Software ausführen oder reagieren möchten.

Sie aktualisieren die Statusvariable innerhalb einer case-Anweisung, um den Status zu ändern.

1

Tonnen und Tonnen der kleinen Kerle.

Ich schlage vor, dass Sie zuerst die theoretische Basis von endlichen Zustandsmaschinen nachschlagen und verstehen, für welche Art von Aufgaben sie geeignet sind.

http://en.wikipedia.org/wiki/Finite state machine ist ein guter Anfang.