3.3 Ports
3.3.1 Description
Ports are the only interfaces of actors. A port has always a protocol assigned. Service Access Points (SAP) and Service
Provision Points (SPP) are specialized ports that are used to define layering.
3.3.2 Motivation
- Ports decouple interface definition (protocols) from interface usage
- Ports decouple the logical interface from the transport
3.3.3 Notation
Class Ports
These symbols can only appear on the border of an actor class symbol.
Ports that define an external interface of the actor class, are defined in the Interface. Ports that define an internal interface
are defined in the Structure (e.g. internal ports).
- External end ports are defined in the Interface and the Structure
- Internal end ports are only defined in the Structure
- Relay ports are only defined in the Interface
- End ports are always connected to the internal behavior of the ActorClass
- Replicated ports can be defined with a fixed replication factor, e.g.
Port port18 [5]: ProtocolClass1
or a variable replication factor, e.g.
Port port18[*]: ProtocolClass1
The table 3.3 shows all kinds of class ports with textual and graphical notation.
Table 3.3: Class Port Notation
|
|
|
|
Element | Graphical Notation |
Textual Notation |
| |
|
|
|
|
Class
End
Port | |
External Class End Port: |
ActorClass ActorClass6 { Interface { Port port12: ProtocolClass1 } Structure { external Port port12 } }
|
Internal Class End Port: |
ActorClass ActorClass6 { Interface { } Structure { Port port20 } }
|
| |
|
|
|
Conjugated
Class
End
Port | |
External Conjugated Class End Port: |
ActorClass ActorClass6 { Interface { conjugated Port port13: ProtocolClass1 } Structure { external Port port13 } }
|
Internal Conjugated Class End Port: |
ActorClass ActorClass6 { Interface { } Structure { conjugated Port port21: ProtocolClass1 } }
|
| |
|
|
|
Class
Relay
Port | |
ActorClass ActorClass6 { Interface { Port port10: ProtocolClass1 } Structure { } }
|
|
|
|
Conjugated
Class
Relay
Port | |
ActorClass ActorClass6 { Interface { conjugated Port port10: ProtocolClass1 } Structure { } }
|
|
|
|
Replicated
Class
End
Port | |
External Replicated Class End Port: |
ActorClass ActorClass6 { Interface { Port port16[3]: ProtocolClass1 } Structure { external Port port16 } }
|
Internal Replicated Class End Port: |
ActorClass ActorClass6 { Interface { } Structure { Port port16[3]: ProtocolClass1 } }
|
| |
|
|
|
Conjugated
Replicated
Class
End
Port | |
External Conjugated Replicated Class
End Port: |
ActorClass ActorClass6 { Interface { conjugated Port port17[3]: ProtocolClass1 } Structure { external Port port17 } }
|
Internal Conjugated Replicated Class
End Port: |
ActorClass ActorClass6 { Interface { } Structure { conjugated Port port23[3]: ProtocolClass1 } }
|
| |
|
|
|
Replicated
Class
Relay
Port | |
ActorClass ActorClass6 { Interface { Port port18[3]: ProtocolClass1 } Structure { } }
|
|
|
|
Conjugated
Replicated
Class
Relay
Port | |
ActorClass ActorClass6 { Interface { conjugated Port port19[3]: ProtocolClass1 } Structure { } }
|
|
|
|
|
|
|
|
|
Reference Ports
These symbols can only appear on the border of an actor class. Since the type of port is defined in the actor class, no textual
notation for the Reference Ports exists.
The table 3.4 shows all kinds of reference ports with textual and graphical notation.