Fußnoten Kap. 1

Fußnoten Kap. 2

Fußnoten Kap. 3

Fußnoten Kap. 4

Fußnoten Kap. 5

Fußnoten Kap. 6

Fußnoten Kap. A

Fußnoten Kap. B

Fußnoten Kap. C

Fußnoten zu Kapitel 5

1 Objekte, die komplexere Protokolle realisieren, beinhalten typischerweise eine Zustandskomponente, die jeweils eine Abstraktion des Zustands des Kommunikationspartners beinhaltet. Beide simulieren damit eine Abstraktion des Zustandsraums des Kommunikationspartners, soweit ihnen dies auf Basis des beobachteten Verhaltens möglich ist. Damit wissen sie, in welchen Zuständen sich der Kommunikationspartner jeweils befinden kann.

2 In diesem, wie in den folgenden Beispielen wird vor allem auf die bereits aus früheren Kapiteln bekannte Klasse Auction Bezug genommen, da diese ein komplexes Zustandskonzept besitzt, das viele Statechart-Eigenschaften demonstrieren kann. . Ein Zustand kann neben dem Namen AuctionOpen eine Zustandsinvariante, je eine entry-Aktion und exit-Aktion sowie eine do-Aktivität beinhalten.

3 Das Konzept der Äquivalenz zweier Statecharts wird nachfolgend eingesetzt, um zum Beispiel ein neues Element der Statechart-Notation auf ein bereits bekanntes zurückzuführen. In diesem Sinn können manche der Äquivalenzen als definierend verstanden werden. Generell werden diese Äquivalenzen aber eher illustrierend eingesetzt und dienen der besseren Verständlichkeit. Die meisten Darstellungen illustrieren daher nur einen Sonderfall. Abbildung 5.18 zum Beispiel beschreibt nur den Fall mit einem Subzustand.

4 Diese Sicht ist konsistent mit der Zielsprache Java, die innerhalb von Objekten ebenfalls Parallelität verhindert, indem sie das Schlüsselwort synchronized anbietet.

5 Eine Top-Level-Methode darf sich durchaus selbst oder eine andere Top-Level-Methode eines anderen Objekts aufrufen. Diese Methodenrekursion kann zum Beispiel in einer linear verketteten Liste von Objekten verwendet werden, ohne dass sie zur Objektrekursion führt. Da diese von der aktuellen Objektstruktur abhängt, ist eine statische Datenflussanalyse möglicherweise nicht in der Lage, Objektrekursion auszuschließen, selbst wenn diese im implementierten System nicht stattfindet. Für die Praxis wird also angenommen, dass eine Objektrekursion bei den Methoden, die vom Zustand des Objekts abhängen oder diesen verändern, nicht stattfindet.

6 Die Verwendung eines neuen Endzustands und diese explizite Transition mit dem Stimulus finalize() entspricht einer Variante der aus der Automatentheorie bekannten Situation bei der Transformation von Moore- in Mealy-Maschinen, die auch bei den entry-Aktionen von Startzuständen auftritt. Im Methoden-Statechart wird statt des Finalizers eine spontane Transition verwendet. Die exit-Aktionen werden dann eliminiert.


Bernhard Rumpe. Modellierung mit UML. Springer 2011