\begin{tikzpicture} \begin{umlcomponent}{A} \umlbasiccomponent{B} \umlbasiccomponent[y=-2]{C} \umlrequiredinterface[interface=C-interface]{C} \umlprovidedinterface[interface=B-interface, with port, distance=3cm, padding=2.5cm]{B} \end{umlcomponent} \umlbasiccomponent[x=-10,y=1]{D} \umlbasiccomponent[x=3,y=-7.5]{E} \umlbasiccomponent[x=-2, y=-9]{F} \umlbasiccomponent[x=-7,y=-8]{G} \umlbasiccomponent[x=-7,y=-11]{H} \umlassemblyconnector[interface=DA, with port, name=toto]{D}{A} \umldelegateconnector{A-west-port}{B-west-interface} \umlVHVassemblyconnector[interface=AE, with port]{A}{E} \umlHVHassemblyconnector[interface=EF, with port, first arm]{E}{F} \umlHVHassemblyconnector[interface=GHF, with port, arm2=-2cm, last arm]{G}{F} \umlHVHassemblyconnector[with port, arm2=-2cm, last arm]{H}{F} \umlnote[x=-4, y=4, width=3.4cm]{B-west-interface}{I am the node named B-west-interface} \umlnote[x=2, y=4, width=3.4cm]{C-east-interface}{I am the node named C-east-interface} \umlnote[x=-8.5, y=-2, width=3.4cm]{toto-interface}{I am the node named toto-interface} \umlnote[x=-5.5, y=-4.5, width=3.4cm]{A-south-port}{I am the node named A-south-port} \umlnote[x=-1, y=-6, width=3.4cm]{AE-interface}{I am the node named AE-interface} \umlnote[x=2, y=-11, width=3.4cm]{F-east-port}{I am the node named F-east-port} \end{tikzpicture}