Il s’agit de ports pour les classificateurs encapsulés. Ils représentent un point d’interaction entre le classificateur et son environnement. Outre les ports, le classificateur encapsulé est un système autonome. Étant donné que ses éléments structurels et comportementaux internes ne sont pas affectés par le reste du système, vous pouvez également définir ce classificateur indépendamment. Tant qu’un système respecte les limites du port, vous pouvez réutiliser le classificateur encapsulé dans différents environnements.
En outre, UML autorise plusieurs points d’ancrage par classificateur. Vous pouvez définir des règles distinctes pour chaque port. Le port est une propriété du classificateur, vous définissez donc ses règles dans la zone Propriétés. Cela inclut les services que le classificateur offre à son environnement et les services dont il a besoin. Vous différenciez les différents flux d’information en identifiant le port utilisé pour eux.
Les ports eux-mêmes ont aussi des propriétés. Lorsque le port exécute les fonctions publiées du classificateur, il affiche la propriété isService. Si isService = true, le port est considéré comme un composant indispensable des fonctions du classificateur encapsulé qui sont visibles de l’extérieur. Avec isService = false, le port n’est pas l’une des caractéristiques essentielles et peut donc être modifié ou supprimé tout comme les autres fonctions internes.
Les ports interagissent avec les interfaces. Il existe des interfaces fournies et nécessaires (voir « Interfaces » ci-dessous). L’interface qui est connectée au port spécifie les interactions qui passent par le port. Comme le site d’amarrage est une propriété, il a un type. La valeur d’isConjugated sert de médiateur entre le type et l’interface du port. Si la valeur est vraie, l’interface requise peut être dérivée directement du type de port ou de l’ensemble des interfaces que le type de port implémente. Dans ce cas, une interface fournie est dérivée du nombre d’interfaces. Si isConjugated est vrai, l’interface fournie est dérivée du type.
Lorsqu’un classificateur encapsulé génère une instance, des instances correspondantes sont créées pour chacun de ses ports. Un port tient l’instance en fonction de son type et de sa multiplicité (voir ci-dessous). Les instances sont appelées points d’interaction UML. Chaque instance possède des références uniques qui distinguent les différentes demandes de fonctions comportementales adressées à ses ports.
Ports avec la propriété isBehavior = true envoie une requête à l’instance du classificateur encapsulé. La requête adopte le comportement spécifié de l’instance. Les ports de comportement ne dirigent pas les requêtes vers l’intérieur de votre classifieur. Si aucun comportement n’est défini dans le diagramme de classes pour cela, les messages sont perdus sur ces ports.
Modéliser un port comme un petit carré sur le cadre du classifieur auquel il appartient. Dessinez l’interface requise ou fournie sur le port. Si vous ne spécifiez aucune caractéristique spéciale pour le port, dessinez l’interface sans le port.