## Kap. 34: Verhaltensmodellierung mit Statecharts * Können Sie bitte nochmal die Pins erklären? * Bei Komponenten- bzw. Klassendiagrammen gilt pins=ports. * Das klang jetzt so, als wären Pins gleich Ports. Ist das so? (Kap. 34/15) * Nur bei Komponenten- bzw. Klassendiagrammen. Bei Aktivitätsdiagrammen bedeuten die Pins *Parameter von Aktivitäten*, sowohl Ein- als Ausgabeparameter. In Kap. 34/15 übergibt die Aktivität Ship einen Part an Receive. * Eine kurze Verständnisfrage: Ist bei Kap. 34 F. 24 "RotesLichtAn" eine Reaktionsmethode? * Nein, sondern es ist ein ausgelöstes Ereignis, da das Diagramm ein Analyse-Statechart ist. * Bei einem Design- oder Implementierungs-Statechart müsste es eine Reaktionsmethode sein. Je weiter man in Richtung Implementierung geht, desto konkreter müssen die Modelle werden, also Methoden "eingezogen" werden. Siehe die Vergleichstabellen zwischen Statecharts in Analyse, Entwurf, und Implementierung. ## Kap 35: Implementierung von Statecharts * Ist diese woche nicht Kap. 35 dran? Nein - In Woche 33 ist nur Kap. 34 dran. * Dennoch: Bei Kapitel 35 Folie 12, State Pattern: warum ist zwischen Context und State keine Aggregation? * Im State Pattern wird der Kontext noch nicht gleich der "statemachine" gesetzt, ist aber auch oft so zu modellieren. Wenn man "Statemaschine has States" realisiert, ist eine Aggregation richtig (has-a). Das Muster State bleibt aber etwas allgemeiner. Aggregation ist also eine Mustervariante. * Also ergibt sich die Polymorphie bei states durch die verschiedenen Implementierungen der abstract class State. * kurze Frage bezüglich Oberzuständen in Zustandsdiagrammen (Folie 22): Ich habe Professor Aßmann so verstanden, dass Zustandsübergänge in einen Oberzustand als Pfeil in alle Zustände des Oberzustands verstanden werden kann. Heißt auf Folie 22 konkret: Zustandsübergang **e3** geht sowohl in den **Startzustand**, **a** als auch in **b.** Auf der Folie steht allerdings "Ein Zustand in den Oberzustand ist ein Übergang in den Startzustand des enthaltenen Zustandsdiagramms", was ich so deuten würde, als dass Zustandsübergang **e3** nur in **den Startzustand** geht. Wie genau sind Kanten in den Oberzustand aufzufassen? * Normalerweise bedeutet ein Pfeil in den Oberzustand, dass man, wie auf der Folie beschrieben, in den Startzustand der enthaltenen Zustandsmaschine springt. (Ein Sonderfall ist das vorhanden sein eines Historyzustandes (H). Sollte die enthaltene Zustandsmaschine mit (H) schon "angelaufen" (schon einmal betreten, aber nicht beendet) sein, springt man in den zuletzt betretenen Zustand.) * Das beschriebene Verhalten entspricht einem Zustandsübergang vom Oberzustand **weg**. Ein Übergang vom Oberzustand weg zu einem anderen Zustand wird als Übergang von jedem Unterzustand zu dem anderen Zustand verstanden. ##