Portssind Anschlüssefür verkapselte Klassifizierer. Sie stellen einen Punkt dar, an dem der Klassifizierer mit seiner Umwelt interagiert. Abgesehen von den Ports ist der verkapselte Klassifizierer ein in sich geschlossenes System. Da seine inneren Struktur- und Verhaltenselemente vom restlichen System unberührt bleiben, können Sie diesen Klassifizierer ebenso unabhängig definieren. Solange ein System die Einschränkungen des Ports erfüllt, können Sie den verkapselten Klassifizierer in unterschiedlichen Umgebungen wiederverwenden.
Zudem erlaubt UML mehrere Andockstellen pro Klassifizierer. Sie können für jeden Port eigene Regeln definieren. Der Port ist eine Eigenschaft des Klassifizierers, Sie legen seine Regeln also im Bereich für Properties fest. Dazu gehören die Dienste, die der Klassifizierer seiner Umwelt anbietet, und die Dienste, die er benötigt. Sie unterscheiden zwischen unterschiedlichen Informationsflüssen, indem Sie den dafür verwendeten Port identifizieren.
Auch Ports selbst haben Eigenschaften. Führt der Port veröffentlichte Funktionen des Klassifizierers aus, zeigt das die Eigenschaft isService an. Wenn isService = true gegeben ist, gilt der Port als unverzichtbarer Bestandteil der nach außen sichtbaren Funktionen des verkapselten Klassifizierers. Bei isService = false gehört der Port nicht zu den essenziellen Features und kann daher, genau wie andere interne Funktionen, geändert oder gelöscht werden.
Ports interagieren mit Schnittstellen. Es gibt bereitgestellte und benötigte Schnittstellen (s. u. „Schnittstellen“). Die Schnittstelle, die mit dem Port verbunden ist, spezifiziert die Interaktionen, die über den Port laufen. Da die Andockstelle eine Eigenschaft ist, hat sie einen Typ. Der Wert von isConjugated vermittelt zwischen dem Typen und der Schnittstelle des Ports. Ist der Wert wahr, kann sich die benötigte Schnittstelle direkt vom Typ des Ports ableiten oder aus der Menge von Schnittstellen, die der Typ des Ports realisiert. Eine bereitgestellte Schnittstelle leitet sich in diesem Fall aus der Menge der Schnittstellen ab. Wenn isConjugated wahr ist, leitet sich die bereitgestellte Schnittstelle vom Typ ab.
Generiert ein verkapselter Klassifizierer eine Instanz, werden für jeden seiner Ports entsprechende Instanzen erstellt. Ein Port hält die jeweilige Instanz in Übereinstimmung mit seinem Typ und seiner Multiplizität (s. u.). Die Instanzen nennt UML Interaktionspunkte. Jede Instanz besitzt einzigartige Verweise, anhand derer sie zwischen den unterschiedlichen Anfragen für Verhaltensfunktionen unterscheidet, die an ihre Ports gerichtet werden.
Ports mit der Eigenschaft isBehavior = true senden eine Anfrage an die Instanz des verkapselten Klassifizierers. Die Anfrage übernimmt das spezifizierte Verhalten der Instanz. Die sogenannten Behavior-Ports leiten Anfragen also nicht ins Innere Ihres Klassifizierers. Ist im Klassendiagramm dafür kein Verhalten festgelegt, gehen Nachrichten an diesen Ports verloren.
Einen Port modellieren Sie als kleines Quadrat auf dem Rahmen des Klassifizierers, zu dem er gehört. An den Port zeichnen Sie die benötigte oder bereitgestellte Schnittstelle. Wenn Sie keine speziellen Merkmale für den Port festlegen, zeichnen Sie die Schnittstelle ohne Port.