Seite 1 von 1

ex6 Aufgabe 1 c,d OSA NSA

Verfasst: 18. Jan 2012 22:26
von Diablo
Hi,

also das mit dem Quick läuft bei mir nun. Jedoch habe ich bei OSA jetzt das Problem dass entweder der Quick bereits greift oder eben leider gar nichts (gleiche dadurch auch bei NSA)

Wie ich es verstanden habe liegt ja der unterschied von Quick und OSA darin, dass ich bei OSA nun unterscheiden kann ob es sich um das gleiche Objekt handelt oder eben nicht.
Ich habe 3 "Befehle" welche ich theoretisch ausführen könnte. update (add, remove) , creat (erzeugen ) und iterate (Iterator. ....)

Für den Quick langt es ja wenn cih einfach das Objekt erzeuge also create mache und dann was hinzufüge also update.
Bei OSA müsste ich doch jetzt ein weiteres Objekt erzeugen in dem ich das vorherige diesem zuweise.... und dann auf die zuweisung erst das add mache... Zumindest war dies meine Idee.... diese greift jedoch leider nicht da bereits der Quick das ganze als sicher erkennt.

Kann mir jemand nen Tipp geben was ich also nun als richtigen unterschied machen muss... was nicht funktioniert ist ja dass ich ein objekt erzeuge und mit iterat arbeite ... da ich dafür bereits update verwendet haben muss und dann eben der error entstehen könnte wenn ich alle 3 "Befehle" verwendet habe wird dann ja nie etwas rausgenommen... :(

Re: ex6 Aufgabe 1 c,d OSA NSA

Verfasst: 18. Jan 2012 23:51
von Diablo
Da ja auch bereits der Fehler in der FailSafeIterDSM (dependencys) liegen könnte hier mal unsere FSM dazu....wäre super wenn mal jemand die Info geben könnte ob dies richtig sein könnte oder in unserer FSM schon der Fehler zu finden ist... :(

Re: ex6 Aufgabe 1 c,d OSA NSA

Verfasst: 19. Jan 2012 14:07
von ericbodden
Hallo.

Sehe ich das richtig, dass der Automat gar keine create-Transition hat?

Re: ex6 Aufgabe 1 c,d OSA NSA

Verfasst: 25. Jan 2012 14:05
von tgp
Ich möchte jetzt ungern einen Automaten posten, weil das Teil der Lösung für die 1a) ist ;) - als Grundlage habe ich aber die Beschreibung aus der setupStatesAndTransitions()-Methode des FailSafeIterMonitorTemplate aus der MOPBox-Übung (sheet 4) genommen, falls das hilft:

Code: Alles auswählen

	protected final State<Event> setupStatesAndTransitions() {
		State<Event> initial = makeState(false);
		State<Event> iterating = makeState(false);
		State<Event> updated = makeState(false);
		State<Event> error = makeState(true);
		
		initial.addTransition(getSymbolByLabel(Create), iterating);
		initial.addTransition(getSymbolByLabel(Update), initial);
		initial.addTransition(getSymbolByLabel(Next), initial);
		iterating.addTransition(getSymbolByLabel(Next), iterating);
		iterating.addTransition(getSymbolByLabel(Update), updated);
		updated.addTransition(getSymbolByLabel(Update), updated);
		updated.addTransition(getSymbolByLabel(Next), error);
		return initial;
	}