Delegation Connector
Explanation
Section titled “Explanation”A component can hide smaller parts inside it. Its outside face is a port, a connection point that decouples the internals from outside entities (see the article “Port”). A delegation connector links that port to a port or interface on an internal part. The internal part does the actual processing.
A delegation connector crosses a component boundary. That sets it apart from an assembly connector. An assembly connector ties one component’s provided interface to another component’s required interface, the familiar ball-and-socket. A delegation connector instead shows internal realization: the outer component hands work to its sub-components.
Delegation has one compatibility rule. UML says a delegation connector may only join interfaces or ports of the same kind.
Delegation also supports hierarchical decomposition. In arc42, a whitebox is a more detailed view of a blackbox. It shows several building blocks and their relationships. The building block view is a hierarchy of blackboxes and whiteboxes. Level 1 is the whitebox of the whole system. Delegation connectors can show how a blackbox’s external ports map to the blocks inside its whitebox.
arc42 gives no template for interface specification, because interfaces vary too much. You choose how to describe the contract that the port exposes.
Example
Section titled “Example”A WebStore component offers a search interface on its boundary. Inside, a SearchEngine part does the searching. A delegation connector links WebStore’s search port to SearchEngine’s search interface. Callers talk only to WebStore. If the team later swaps SearchEngine for another part, the outside contract stays the same. Only the internal connector changes.
Trade-offs
Section titled “Trade-offs”The facts show one clear benefit: outsiders depend on the port, not on the internals. The cost is a more detailed diagram. You must also make sure the two joined ends are of the same kind. Without an interface template in arc42, you must decide yourself how to specify the interface.
Diagram source
@startumlcomponent WebStore { portin "search" as p component SearchEngine as se p --> se : delegate}interface ISearchISearch -- p@endumlChecks
Section titled “Checks”- Each delegation connector joins a boundary port or interface to an internal one of the same kind.
- Connectors between sibling components are drawn as assembly connectors, and delegation is used only for crossing a component boundary.
- A whitebox shows the building blocks inside a blackbox and their relationships.
Related
Section titled “Related”- Component Connector (Assembly and Delegation)
- Port
- UML Component Diagram
- Provided and Required Interface
- Nested Components and Subsystems
- UML Interface
- Information Hiding
- Component View Refinement Levels
Sources
Section titled “Sources”- The component diagram — developer.ibm.com, accessed 2026-11-09
- Question B-9: What is a whitebox? | arc42 FAQ — faq.arc42.org, accessed 2026-11-09
- 5 - Building block view | arc42 Documentation — docs.arc42.org, accessed 2026-11-09
- Component Diagrams - Visual Paradigm Guides — guides.visual-paradigm.com, accessed 2026-11-09
- Unified Modeling Language 2.5 (UML) FTF — Open Issues - OMG Issue Tracker — issues.omg.org, accessed 2026-11-09