Ein Objektknoten (englisch ObjectNode) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme.
Objekt- und Kontrollknoten sind die Bausteine, aus denen Aktivitäten aufgebaut sind. Sie dienen als temporäre Zwischenspeicher für Objekte, die die Aktivität durchlaufen.
Arten von Objektknoten
Die UML2 kennt vier Arten von Objektknoten:
- der Pin, ein Objektknoten, an dem Objektflüsse mit Aktionen verbunden werden
- der Aktivitätsparameterknoten, ein Objektknoten, über den Objekte an eine Aktivität übergeben werden
- der Pufferknoten, ein Objektknoten, in dem Objekte unabhängig von Aktionen zwischengespeichert werden können
- der Datenspeicherknoten, ein Objektknoten, in dem alle eintreffenden Objekte zwischengespeichert werden
Eigenschaften von Objektknoten
Die verschiedenen Arten von Objektknoten haben einige Eigenschaften gemeinsam. Zunächst verfügen alle über eine Kapazität, gegeben durch eine obere Schranke. Ein Objektknoten kann eine Anzahl Token bis zu dieser oberen Schranke zwischenspeichern, bevor er sie an eine ausgehende Aktivitätskante weiterreicht.
Die Objekte, die in einem Objektknoten zwischengespeichert sind, unterliegen einer bestimmten Ordnung, die angibt, in welcher Reihenfolge beim Objektknoten eintreffende Objekte diesen wieder verlassen, wobei auch ungeordnet (engl. unordered) ein möglicher Wert ist. Ist die Ordnung FIFO, verlässt das zuerst eintreffende Objekt den Objektknoten zuerst; ist sie LIFO, trifft es das zuletzt eingetroffene Objekt zuerst. Auch davon abweichende Ordnungen können modelliert werden, indem dem Objektknoten ein Selektionsverhalten zugeordnet wird.
Jeder Objektknoten kann zudem spezifizieren, dass nur Objekte in einem bestimmten Zustand durch diesen Knoten fließen dürfen.
Unterschied zur UML 1.x
Der Objektknoten und seine Untertypen wurden in der UML2 neu eingeführt.