1 2\input{header} 3\begin{tikzpicture}[scale=0.93, transform shape] 4 5\begin{component}{20cm}{1}{0}{U1Component} 6\newcomponent{11}{4}{SomeType} 7\newcomponent{0}{4}{T1Component} 8\newcomponent{6}{4}{bind} 9\newcomponent{2.5}{0}{U1U2Component} 10\umlassemblyconnector[interface=SomeType, distance=7]{bind}{SomeType} 11\umlassemblyconnector[interface=T2, distance=7, arm2=1cm]{T1Component}{bind} 12\umlassemblyconnector[distance=7, geometry=|-]{U1U2Component}{bind} 13\umlassemblyconnector[interface=T1, distance=7, anchor1=120, anchor2=-90]{U1U2Component}{T1Component} 14\umlprovidedinterface[interface=U2, distance=3.5, padding=0.9cm]{U1U2Component} 15\umlrequiredinterface[interface=T3, distance=3, padding=0.9cm]{U1U2Component} 16\umlrequiredinterface[interface=T3, distance=2, padding=0.9cm]{SomeType} 17 18% Hack to draw something similar to: 19% \umlprovidedinterface[interface=U2, distance=3.5, padding=0.9cm]{U1U2Component} 20% But at a different angle. 21\node[inner sep=0] (U1U2Component-west-port) at (U1U2Component.west) {}; 22\draw (U1U2Component)+(-3cm,1.5cm) node[inner sep=0, text width=1em, circle, draw, fill=white, name=U1U2Component-west-interface] {}; 23\node[above] at (U1U2Component-west-interface.north) {U1}; 24\umlrelation[style={tikzuml connector style}]{U1U2Component-west-port}{U1U2Component-west-interface} 25\draw (U1U2Component-west-interface)+(-1cm,0) node[name=U1U2Component-west-padding] {}; 26 27\end{component} 28\umlprovidedinterface[interface=U1, distance=9.5, with port, padding=0cm]{U1Component} 29\umlrequiredinterface[interface=T3, distance=9.5, with port, padding=0cm]{U1Component} 30\umldep{SomeType-east-interface}{U1Component-east-port} 31\umldep{U1U2Component-east-interface}{U1Component-east-port} 32\umldep{U1Component-west-port}{U1U2Component-west-interface} 33 34\end{tikzpicture} 35\input{footer} 36