%%% outline %------------------------------------------------------------------------- \begin{tikzpicture} \tikzstyle{opt}=[draw,minimum height=2em,minimum width=4em,rounded corners=2pt,thick] \node[circle,minimum size=2em,draw,fill=red!20] (x1) at (0,0) {\small\bfnew{X}}; \node[circle,minimum size=2em,draw,fill=red!20] (x2) at (0,4em) {\small\bfnew{X}}; \node[circle,minimum size=2em,draw,fill=red!20] (x3) at (0,-5em) {\small\bfnew{X}}; \node[anchor=west,opt,fill=yellow!20] (unary1) at ([xshift=3em]x1.east){\small\bfnew{Unary}}; \node[anchor=west,opt,fill=yellow!20] (unary2) at ([xshift=3em]x2.east){\small\bfnew{Unary}}; \node[opt,fill=blue!20] (binary1) at (12em,2em){\small\bfnew{Binary}}; \node[opt,fill=blue!20] (binary2) at (25em,-1.5em){\small\bfnew{Binary}}; \node[anchor=west,opt,fill=yellow!20] (unary3) at ([xshift=3em]binary1.east){\small\bfnew{Unary}}; \node[anchor=west,opt,fill=yellow!20] (unary4) at ([xshift=16em]x3.east){\small\bfnew{Unary}}; \draw[-latex,very thick] (x1.0) -- (unary1.180); \draw[-latex,very thick] (x2.0) -- (unary2.180); \draw[-latex,very thick] (x3.0) -- (unary4.180); \draw[-latex,very thick] (unary1.0) -- ([yshift=-0.2em]binary1.180); \draw[-latex,very thick] (unary2.0) -- ([yshift=0.2em]binary1.180); \draw[-latex,very thick] (binary1.0) -- (unary3.180); \draw[-latex,very thick] (unary3.0) -- ([yshift=0.2em]binary2.180); \draw[-latex,very thick] (unary4.0) -- ([yshift=-0.2em]binary2.180); \begin{pgfonlayer}{background} \node[draw=lightgray,fill=lightgray!50,rounded corners=2pt,inner sep=8pt][fit=(x2)(x1)(binary1)]{}; \end{pgfonlayer} \node[anchor=south] at ([yshift=1em]binary1.north){\small\bfnew{Core Unit}}; \end{tikzpicture}