Dans les diagrammes de structure composite, un port définit le point d'interaction entre une instance de discriminant et son environnement ou entre le comportement du discriminant et ses composants internes.
Etant donné que toutes les interactions entre l'environnement externe et les composants internes doivent passer par un port, vous pouvez utiliser un port pour isoler les composants internes de son environnement. Les connecteurs relient les ports aux propriétés du discriminant et appellent une communication entre deux instances au moins. Vous pouvez définir plusieurs ports pour un discriminant afin de montrer les différentes interactions selon le port d'origine de l'interaction.
Comme l'illustre la figure ci-dessous, un port s'affiche dans le cadre du diagramme sous la forme d'un petit carré avec le nom du port.
Vous pouvez ajouter des ports à la bordure et aux composants intérieurs du diagramme de structure composite. Dans l'exemple ci-dessus, un connecteur de délégation relie le port Port:Car du compartiment de structure externe au composant interne nommé e:Engine. Un connecteur d'assemblage relie les deux composants internes de front:Wheel[2] et rear:Wheel[2] au port interne nommé Port:Engine.
Un port peut interagir dans les deux directions, et vous pouvez ajouter les interfaces requises et fournies pour indiquer les types d'interaction qui peuvent se produire entre un discriminant et son environnement.
Comme l'illustre la figure ci-dessous, un port est un point d'interaction entre un discriminant et son environnement et peut regrouper un certain nombre d'interfaces requises et fournies dans une interaction logique qu'un discriminant peut entretenir avec le monde extérieur.
Dans l'exemple ci-dessus, le discriminant Car comporte deux ports. Le port externe Engine:PowerGenerator comporte une interface requise Gasoline dont a besoin la classe Car pour faire fonctionner le véhicule. Le port interne DriverSeatbelt:Seatbelt comporte une interface requise SafetyDevice que la classe Car offre au conducteur pour faire fonctionner le véhicule.
Vous pouvez modifier la position d'un port dans un diagramme de structure composite grâce à la propriété isService du port. Si la valeur true est attribuée à la propriété isService, le port apparaît sur la bordure du diagramme de structure composite, indiquant qu'il est demandé par son environnement. Si vous attribuez la valeur false à la propriété isService, le port se déplace à l'intérieur du compartiment de structure, indiquant qu'il est utilisé uniquement pour l'implémentation interne du discriminant et n'est pas demandé par son environnement. Si vous utilisez la valeur false, vous pouvez supprimer ou modifier le port sans affecter l'utilisation du discriminant.