+\begin{wrapfigure}{r}{0.5\textwidth}
+ \tikzstyle{iconlabel}=[text width=3cm, align=center, font=\footnotesize]
+ \begin{tikzpicture}[node distance=0pt,scale=1.5,>=stealth,thick]
+ \def\nodelist{
+ juliet/{(-1,-1)}/XMPP client \code{juliet@example.net}/below/computer,
+ examplenet/{(-1,1)}/XMPP server \code{example.net}/above/server,
+ imexampleorg/{(1,1)}/XMPP server \code{im.example.org}/above/server,
+ romeo/{(1,-1)}/XMPP client \code{romeo@im.example.org}/below/computer%
+ }
+ \foreach \name/\pos/\text/\tpos/\icon in \nodelist {
+ \node (\name) at \pos { \includegraphics[width=1.2cm]{icon-\icon.pdf} };
+ \node[\tpos=of \name,iconlabel] (\name text) { \text };
+ }
+ \draw[<->,dashed] (juliet) -- node[anchor=east]{s2c} (examplenet);
+ \draw[<->] (examplenet) -- node[anchor=south]{s2s} (imexampleorg);
+ \draw[<->,dashed] (imexampleorg) -- node[anchor=west]{s2c} (romeo);
+ \end{tikzpicture}