tbk
Blatt 2 Aufgabe 3)
13.03.2013 19:32:46
Hi,

In der Aufgabe soll man ein Timeout-Event mittels scheduled Actions simulieren.
In der Musterlösung wird dazu ein AND-Superstae erzeugt. In der einen Substate steht einfach nur ein Übergang von S nach T mittels dem Event f. In dem anderen Substate gibt es ein State u dessen Defaultstateanzeige n=0 setzt, ein Übergang das bei dem Event e ein schaduled action sc(g,d) erzeugt und n=n+1 setzt und dann gibt es noch zwei weitere Übergänge.

Müsste man bei den anderen zwei Übergängen nicht noch die condition [not e] einführen?

Falls gleichzeitig ein Event g durch scheduled actions erzeugt wurde und ein neues Event e vorliegt könnte man doch eine von den beiden anderen Übergängen nehmen (falls deren condition es zulässt) im speziellen g [n>1] / n:=n-1 und somit n kleiner machen, e nicht beachten und dadurch nicht "überschreiben" und ein scheduled action früher f erzeugen.

Gruß
Tamas



1 mal bearbeitet. Zuletzt am 13.03.2013 19:37 von tbk.
Re: Blatt 2 Aufgabe 3)
14.03.2013 23:55:32
Hallo Tamas,

Ja, du hast völlig Recht, dass die Modellierung nicht ganz ausreicht.
Allerdings muss man die Events "e" und "g AND n > 1" erweitern zu "e AND not g" und "g AND n > 1 AND not e".
Denn, liegen e und g gleichzeitig vor, dann gibt es zwei Fälle.

Fall1 : n > 1. Im original Statechart (also S->T mit tm(e,d)) bedeutet das, dass eigentlich mal ein Timeout geplant war, dieser aber überschrieben wurde, und dass der aktuelle Timeout ebenfalls durch das Vorliegen von e überschrieben wird. D.h. g sollte zu n = n-1 führen, aber e auch zu n = n+1. Oder, dass in summa mit n gar nichts passiert. "e AND not g" und "g AND n > 1 AND not e" bewirkt, dass keine der beiden Kanten genommen wird.

Fall2 : n = 1. Im original Statechart soll im aktuellen Schritt ein Timeout generiert werden und gleichzeitig liegt wieder ein e vor. Aber beachte, dass Timeout-Events bereits in der Preparation-Phase ausgeführt werden. Dh, das Timeout-Event wird generiert, bevor das neue Event e in der Execution-Phase gesehen wird. Also braucht das Events "g AND n = 1" keine Erweiterung.

Grüßle
Aile
Re: Blatt 2 Aufgabe 3)
15.03.2013 12:58:44
Das ist wohl noch ein bisschen komplizierter als Aile geschrieben hat.

So müsste es stimmen: [www.informatik.uni-freiburg.de]
Re: Blatt 2 Aufgabe 3)
15.03.2013 13:39:10
Hallo,

bei deiner Lösung verstehe ich nicht ganz wieso nach auslösen von f zusätzlich die scheduled action ausgelöst wird:

"e and g and n = 1 / f; sc(g, d);"

Da f das Timeoutevent darstellt und schon den Übergang ermöglicht ist doch die scheduled action wirkungslos, oder?

Kannst du mir bitte diese Lösung validieren?
[dl.dropbox.com]

Gruß
Andreas
Re: Blatt 2 Aufgabe 3)
16.03.2013 21:01:43
Hallo Andreas,

in der Aufgabenstellung von Übungsblatt 2, Aufgabe 3 steht, dass das Statechart in der Aufgabe nur ein Ausschnitt aus einem größeren System ist. Da es nicht bekannt ist, was ansonsten noch in dem System so passieren kann (zB ist es möglich, dass man über eine Abfolge von Kanten wieder in S gelangt) ist es notwendig, das äquivalente Statechart so zu konstruieren, dass es für jeden allgemeinen Fall gültig ist. Du hast natürlich insofern Recht, dass ein weiteres Event g in dem Ausschnitt keine Auswirkung mehr hat. Keine Panik, eine allgemeingültige Darstellung war auch in der Übung nicht verlangt. Das hier ist nur eben die vollständige Lösung.

Deine Lösung ist leider nicht ganz korrekt. Betrachte mal den Fall, wo in jedem Zeitschritt ein Event e auftaucht. Dann wird jedes zweite Event e ignoriert. Und wenn der Zustand C gerade aktiv ist und sowohl e als auch a auftritt, dann ist dein Statechart nicht-deterministisch.

Grüßle
Aile
Re: Blatt 2 Aufgabe 3)
17.03.2013 11:06:24
Hallo Aile,

danke für die Antwort.

Dass jedes zweite Event e bei mir ignoriert wird, habe ich übersehen.
Leider konnte ich damals nicht zur Aufgabenbesprechung kommen und bekam fast volle Punktzahl mit minimalen Korrekturen, die ich aber schon in dem Statechart geändert habe und kein Kommentar. Daher ist mir das bisher leider nicht aufgefallen.

Gruß
Andreas
tbk
Re: Blatt 2 Aufgabe 3)
17.03.2013 19:12:11
Hallo zusammen,

ok ... vielen dank. Wollte eben nur wissen ob ich ein Denkfehler hab oder ob da was wirklich nicht stimmt.

Gruß
Tamas
Re: Blatt 2 Aufgabe 3)
17.03.2013 22:35:27
Gern geschehen.

Ich wünsche euch viel Glück bei den Prüfungen!

Grüßle
Aile