Ports are connections for encapsulated classifiers. They represent a point at which the classifier interacts with its environment. Apart from the ports, the encapsulated classifier is a self-contained system. Since its internal structure and behavior elements remain unaffected by the rest of the system, you can also define this classifier independently. As long as a system meets the port restrictions, you can reuse the encapsulated classifier in different environments.
UMI also allows multiple docking points per classifier. You can define separate rules for each port. The port is a property of the classifier, so you define its rules in the properties area. These include the services that the classifier offers to its environment and the services it needs. You differentiate between different information flows by identifying the port used for this.
Ports themselves also have properties. If the port executes published classifier functions, this indicates the isService property. If isService = true is given, the port is an indispensable part of the encapsulated classifiers’ externally visible functions. With isService = false, the port is not one of the essential features and can subsequently be changed or deleted, like other internal functions.
Ports interact with interfaces. There are provided and required interfaces (see “Interfaces” below). The interface connected to the port specifies the interactions that run over the port. Since the docking site is a property, it has a type. The value of isConjugated mediates between the type and the port’s interface. If the value is true, the required interface can be derived directly from the type of port or from the set of interfaces that the port implements. In this case, an interface provided is derived from the number of interfaces. If isConjugated is true, the provided interface is the right type.
When an encapsulated classifier generates an instance, corresponding instances are created for each of its ports. A port holds the instance in accordance with its type and its multiplicity (see below). The instances are called UML interaction points. Each instance has unique references that distinguish it from the different requests for behavioral functions directed to its ports.
When an encapsulated classifier generates an instance, corresponding instances are then created for each of its ports. A port holds the instance in accordance with its type and multiplicity (see below). The instances are called UML interaction points. Each instance has unique references that distinguish it from the different requests for behavioral functions directed to its ports.
Ports with property isBehavior = true sends a request to the encapsulated classifier’s instance. The request adopts the instance’s specified behavior. This means that the behavior ports do not direct queries into your classifier’s interior. If no behavior is defined in the class diagram, messages on these ports will be lost.
You can model a port as a small square on the frame of the classifier it belongs to. Draw the required or provided interface to the port. If you do not specify any special characteristics for the port, draw the interface without a port.