Em diagramas de estrutura composta, uma porta define o ponto de interação entre uma instância do classificador e seu ambiente ou entre o comportamento do classificador e suas peças internas.
Devido a todas as interações entre o ambiente externo e as peças internas precisarem passar por uma porta, você pode utilizar uma porta para isolar as peças internas de um objeto de seu ambiente. Conectores vinculam portas a propriedades do classificador e chamam a comunicação entre duas ou mais instâncias. Você pode definir várias portas para um classificador para mostrar interações diferentes dependendo da porta a partir da qual a interação se origina.
Como a figura a seguir ilustra, uma porta é exibida na estrutura do diagrama como um pequeno quadrado com o nome da porta.
Você pode incluir portas na moldura de um diagrama de estrutura composta e nas peças internas do diagrama de estrutura composta. No exemplo acima, um conector delegado vincula a porta Port:Car no compartimento de estrutura externa à peça interna denominada e:Engine. Um conector de montagem vincula as duas peças internas de front:Wheel[2] e rear:Wheel[2] à porta interna denominada Port:Engine.
Uma porta pode interagir nas duas direções e você pode incluir interfaces requeridas e fornecidas para especificar os tipos de interações que podem ocorrer entre um classificador e seu ambiente.
Como a figura a seguir ilustra, uma porta é um ponto de interação entre um classificador e seu ambiente e pode agrupar qualquer número de interfaces requeridas e fornecidas em uma interação lógica que um classificador pode ter com o mundo externo.
No exemplo acima, o classificador Carro tem duas portas. A porta externa Engine:PowerGenerator tem uma interface requerida Gasolina que a classe Carro precisa para operar o carro. A porta interna DriverSeatbelt:Seatbelt tem uma interface fornecida Dispositivo de Segurança que a classe Carro oferece ao motorista para operar o carro.
Você pode alterar a posição de uma porta em um diagrama de estrutura composta utilizando a propriedade isService da porta. Se a propriedade isService for definida como true, a porta aparecerá na moldura do diagrama de estrutura composta, indicando que a porta é requerida por seu ambiente. Se você definir a propriedade como false, a porta se moverá para dentro do compartimento da estrutura, indicando que a porta é utilizada apenas para implementação interna do classificador e não é requerida por seu ambiente. Quando a propriedade isService é definida como false, você pode excluir ou modificar a porta sem afetar o uso do classificador.