\begin{figure}[!h]
\label{design_2}
\begin{center}

\begin{psmatrix}[rowsep=0.5,colsep=0.5]
[name=Artefa] \psbox{4cm}{UML Model}             & [name=TTCN3-S] \psbox{4cm}{\ttcn{} Source Code}    \\ [0pt]
[name=Repres] \psbox{4cm}{Representation Format} & [name=TTCN3-R] \psbox{4cm}{Representation Format}  \\ [0pt]
[name=Facade] \psbox{4cm}{Facade Layer}          & [name=Facade2] \psbox{4cm}{Facade Layer}           \\ [20pt]
[name=Plugin] \psbox{4cm}{Metrics}               & [name=Plugin2] \psbox{4cm}{Smell Detection}

\ncline{*->}{Artefa}{Repres}
\ncline{o->}{Facade}{Repres}
\ncline{o->}{Plugin}{Facade}

\ncline{*->}{TTCN3-S}{TTCN3-R}
\ncline{o->}{Facade2}{TTCN3-R}
\ncline{o->}{Plugin2}{Facade2}

\ncline{o->}{Plugin2}{Facade}
\ncline{o->}{Plugin}{Facade2}
\end{psmatrix}

\end{center}
\caption[Horizontal framework design]{Horizontal framework design: plug-ins extend the framework and can be used independently of analysis targets}
\end{figure}
