The phase of placing the nodes is known to be one of the most complicated and hardest to understand from all the phases of the Sugiyama approach~\cite{sugiyama_methods_1981} for graph drawing.
Still it is one of the most important ones: Here the actual $x$ and $y$ coordinates are assigned to all the nodes.
Thus we develop an application that not only executes this phase, but also presents intermediate results to the user.

\enquote{\appname} takes as input a hierarchical graph, where all nodes have been assigned to ordered layers.
Then each stage of the node placing algorithm by Brandes and Köpf~\cite{brandes_fast_2001} can be executed step by step, either on user input or automatically with a certain delay.
After each step the current progress of the algorithm is displayed visually.

In chapter~\ref{ch:architecture} we provide an overview over the \appname 's internal architecture while chapter~\ref{ch:ui} presents and explains the graphical user interface.
To provide an overview of what is going on, chapter~\ref{ch:progress} lists features and their degree of completion.
A glossary of some of the more difficult terms we can be found in the appendix (table~\ref{table:glossary}).

\appname\ is currently a work in progress so keep in mind that any of the here presented screenshot, diagram or other information may be slightly outdated\footnote{even this one}.
Also note that some PDF viewers have problems with vector graphics exported from Visual Paradigm, so if you feel like there is a missing line in a class or component diagram, you are wrong.
You may want to use Internet Explorer 11, where this bug does not exist.

The current development state can also been retrieved from \url{http://gogs.koljastrohm-games.com/GraphDrawer/NodeShuffler}.
