Statechart <-> Automat

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Statechart <-> Automat
Hallo,

in der Klausur 9/01, Aufgabe 5e die zweite Frage. Wir sind uns relativ sicher, dass es falsch ist. Wie seht ihr das?

Danke,
Swarsron


Die Frage:
“Es gibt Abläufe, die man mit Statecharts, aber nicht mit endlichen Automaten modellieren kann.”

Ich denke, das ist falsch. Weil:

Skript S. 12-14 (u.a.) beschreiben den Weg der Systementwicklung über einen Statechart, der in einen Automaten konvertiert wird. Ohne explizite Einschränkung.

Außerdem wissen wir (sollten wir zumindest), wie man einfache UND- und ODER-Zustände in einen Automaten umwandelt. Und was anderes kommt in den Statecharts auch nicht vor. Warum soll man diese Umwandlungen nicht beliebig tief verschachteln können? Also kann man jeden Statechart in eine Tomate umpflanzen… oder so :smiley:

Nur das mit dem Zeitverhalten (S. 12-13) hab ich noch nicht so ganz verstanden…


Aber andererseits, wie willst du mit einem Automaten die internen Ereignisse wie z.B. den Ablauf eines Timers, der dann automatisch in den nächsten Zustand wechselt, darstellen. So wie ich des verstanden habe, gibt es in einem endlichen Automaten keine inneren sondern nur externe Ereignisse oder?


Ich denke auch, dass du mit einem Automaten kein Zeitverhalten definieren kannst, wohl aber mit einem State Chart, falls ich das richtig verstanden habe.


aber angeblich gehe ich doch bei der Synthese eines Bauteils nach folgender Reihenfolge vor:

  1. High-Level Spezifikation mit State Charts
  2. Darstellung in einem endlichen Automaten
  3. Minimieren des endlichen Automaten

D.h. doch, dass ich jeden StateChart mit einem endlichen Automaten dartellen kann bzw. können muss, oder?!


Also die Geschichte mit den internen Zustandsübergängen sind laut diesem Text (NEA: Nichtdeterministischer Endlicher Automat; DEA: Deterministischer Endlicher Autoamt) in endlichen Autoamten möglich.

Wie es sich aber mit den Zeitangaben verhält, bin ich mir aber auch nicht so sicher, vielleicht manipuliert man einfach die Zustandsübergangsfunktion des endlichen Autoamten, so dass diese dann den Übergang verzögert.

Ich würde auch dazu neigen, bei dieser Klausurfrage “falsch” anzukreuzen.

Gruß
Void


Also wie schon mehrfach erwaehnt: Statecharts beschreiben endliche Automaten (so stehts im Skript). Allerdings wurde uns halt einfach net beigebracht wie man z.b Guards und zeitliches Verhalten umsetzt… und ich wuerde auch im hinblick darauf dass sowas in keiner klausur verlangt wurde mich auf einfache Statecharts mit einfachen und / oder zustaenden (also Teilautomaten und Superstates) konzentrieren. Ich denke das andere Zeug duerfte dann noetig sein wenn man tiefer in die Materie einsteigt.

fredator


Ich hab zwar keine Ahnung, was diese “Guards” nun sind, aber… Mal so gesehen…

Letztendlich muss ich dieses was-auch-immer-Statechart ja in ein logisches Gatter umbauen können - sonst kann ich’s ja auch gleich sein lassen. Also muss ich mir im Zweifelsfall halt irgendwelche Bausteine ausdenken, die dieses zeitliche Verhalten und was auch immer auf dieser Ebene realisieren.

Und um auf diese Gatter-Ebene zu kommen, muss ich vorher einen Automaten und eine Schaltfunktion entwickeln. Oder??

Also kann es keinen Statechart geben, der sich nicht in einem Automaten ausdrücken ließe oder er wäre absolut sinnlos. (Womit es auch dieses Statechart nicht mehr lang gäbe…)


Da stimme ich Yves vollkommen zu! :wink: