Übung 8

Moderator: SE - Wartung und Qualitätssicherung

andre_w
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 125
Registriert: 14. Okt 2007 14:59
Wohnort: Kriftel
Kontaktdaten:

Übung 8

Beitrag von andre_w » 4. Jul 2011 16:10

Hallo,

Was bedeutet das A bei bei den eingehenden Transitionen von den Kanten "Sucher" und "Karte" ([~A])?

Wir vermuten dass da eine Variable fehlt?

Beste Grüße,
Andre
let's be friends on twitter studivz facebook - my blog

Benutzeravatar
saller
Moderator
Moderator
Beiträge: 161
Registriert: 12. Okt 2007 15:14
Wohnort: Darmstadt
Kontaktdaten:

Re: Übung 8

Beitrag von saller » 4. Jul 2011 16:27

Hallo Andre,

das ist eigentlich ein verweis auf den Zustandswechsel gewesen, habe aber jetzt eine explizite Bedingung hintzugefügt. A steht jetzt für "Anrufkanal offen" und hat sich von seinder Semantik her nicht geändert.

Gruß
Karsten

Suriel86
Windoof-User
Windoof-User
Beiträge: 28
Registriert: 12. Nov 2008 13:30

Re: Übung 8

Beitrag von Suriel86 » 8. Jul 2011 02:54

Ich habe in einem UML Buch mal nachgeschlagen, konnte aber eine Transition mit einer Oder-Verknüpfung von zwei Triggern bzw. Ereignissen wie z.B. z | abb nicht finden. Ist damit vlt. folgende Notation gemeint: {Ereignis [Bedingung] /Aktion , Ereignis [Bedingung] /Aktion} ?

Was ist mit "Lösen Sie dabei Teilbedingungen möglichst weit auf" bei der a) gemeint? Im Zustandsautomaten sehe ich keine Transition bzw. Trigger welches über mehr als eine Bedingung verfügt oder ist damit die oben erwähnte Oder-Verknüpfung von zwei Triggern/Ereignisen wie z.B. z | abb gemeint?

Auf Folie 6 wird der Zustand AC von U mit der Transition powerOn [door_ok] / erreicht. Danach erfolgt eine Unterscheidung ob nach AO mit [door_ok ->false] oder [door_ok ==false] gewechselt wird. Meiner Meinung nach kann aber [door_ok == false] niemals auftreten, weil wenn [door_ok ==false] gelten würde, wenn der Zustand AC betreten wird, müsste während der Ausführung der Transition powerOn [door_ok] / und somit vor Eintritt in den Zustand AC door_ok von true auf false gewechselt sein. Ich weiß nicht wie das in Transitionsbäumen definiert ist aber zumindest in Zustandsautomaten gilt stets die Annahme, dass eine Transition ohne Verzögerung ausgeführt wird und sozusagen unmittelbar wirkt (theoretische Annahme).

Grüße Damian

Benutzeravatar
saller
Moderator
Moderator
Beiträge: 161
Registriert: 12. Okt 2007 15:14
Wohnort: Darmstadt
Kontaktdaten:

Re: Übung 8

Beitrag von saller » 8. Jul 2011 14:11

Ich habe in einem UML Buch mal nachgeschlagen, konnte aber eine Transition mit einer Oder-Verknüpfung von zwei Triggern bzw. Ereignissen wie z.B. z | abb nicht finden. Ist damit vlt. folgende Notation gemeint: {Ereignis [Bedingung] /Aktion , Ereignis [Bedingung] /Aktion} ?
Eine Oder-Verknüpfung der Ereignisse kannst Du Dir in einer Transition folgendermaßen vorstellen: A|B [Bedingung / Aktion]. In diesem Falle würde es bedeuten, dass wenn A oder B ausgelöst wird, und die Bedingung gilt, wird das Ereignis ausgelöst und die Transition vollendet.
Genauso kann eine Bedingung mit | aufgeteilt werden.
Wie Du in Deinem Post schon ausgeführt hast, kann man eine solche |-Verknüpfung dann in zwei getrennte Transitionen aufspalten, die jewils das gleiche Ereignis bzw. Bedingung haben.
Was ist mit "Lösen Sie dabei Teilbedingungen möglichst weit auf" bei der a) gemeint? Im Zustandsautomaten sehe ich keine Transition bzw. Trigger welches über mehr als eine Bedingung verfügt oder ist damit die oben erwähnte Oder-Verknüpfung von zwei Triggern/Ereignisen wie z.B. z | abb gemeint?
Die Teilbedingungen möglichst weit aufzulösen ist im oberen Kommentar von mir zu entnehmen. In der Aufgabe haben wir 2 Transitionen, bei denen dies der Fall ist.
Auf Folie 6 wird der Zustand AC von U mit der Transition powerOn [door_ok] / erreicht. Danach erfolgt eine Unterscheidung ob nach AO mit [door_ok ->false] oder [door_ok ==false] gewechselt wird. Meiner Meinung nach kann aber [door_ok == false] niemals auftreten, weil wenn [door_ok ==false] gelten würde, wenn der Zustand AC betreten wird, müsste während der Ausführung der Transition powerOn [door_ok] / und somit vor Eintritt in den Zustand AC door_ok von true auf false gewechselt sein.
Das ist korrekt - die Transition von AC->AO, die durch [door_ok ==false] geschaltet wird, kann nicht ausgeführt werden. Dennoch ist sie vorhanden und kann modelliert werden. Beim Testen würde dann auffallen, dass diese Transition niemals ausgeführt wird bzw. niemals ausgeführt werden kann (z.B. mittels einer Überprüfung mit einem Model Checker). Nicht erreichbare Transitionen / Zustände kommen häufiger in Modellen vor als erwartet ;) In der Übung hatte ich dieses Thema auch kurz angesprochen, gerade dass diese Transition nicht ausgeführt werden könnte.
Ich weiß nicht wie das in Transitionsbäumen definiert ist aber zumindest in Zustandsautomaten gilt stets die Annahme, dass eine Transition ohne Verzögerung ausgeführt wird und sozusagen unmittelbar wirkt (theoretische Annahme).
Das gilt auch in Transitionsbäumen so - sobald eine Transition getriggert wird, wird diese sofort ausgelöst. Ein sonderfall ist es, wenn keine Trigger (Ereignisse) vorhanden sind, sondern die Transition nur mit einer Bedingung versehen ist. Hier könnte entweder beim Eintreten in den Zustand die Folgetransition gleich durchgeschaltet werden (sofern die Bedingung wahr ist) oder man verbleibt in dem Zustand, bis die Bedingung wahr wird.

Gruß
Karsten

Antworten

Zurück zu „Software Engineering - Wartung und Qualitätssicherung“