|
@@ -6,7 +6,7 @@ Our implementation makes the folliowing assumptions:
|
|
|
\item \label{itm:labels} There are no labels.
|
|
|
\item \label{itm:cross-hierarchy-edges} There are no cross-hierarchy edges
|
|
|
\item \label{itm:multi-layer-edge} No edges over multiple layers (the previous phases should add dummy nodes).
|
|
|
- \item \label{itm:connected} Graphs are connected (see below).
|
|
|
+ \item \label{itm:connected} Graphs are connected.
|
|
|
\end{enumerate}
|
|
|
|
|
|
Assumptions~\ref{itm:hyperedges},~\ref{itm:constraints} and~\ref{itm:labels} were made just to make it easier for us by reducing the complexity of the task.
|
|
@@ -240,7 +240,7 @@ The \code{PseudoCodeNode}s are arranged hierarchically to form a whole pseudocod
|
|
|
All the stages are displayed in class diagram~\ref{fig:bk} while the different kinds of \code{CodeLine}s are listed in class diagram~\ref{fig:codeline}.
|
|
|
This separation was made to distinguish viewable \code{PseudoCodeNode}s from executable \code{CodeLine}s.
|
|
|
|
|
|
-For the execution of the \code{CodeLine}s a \code{PseudoCodeProcessor} interacts with its own \code{ProcessController} and \code{Memory}.
|
|
|
+For the execution of the \code{CodeLine}s a \code{PseudoCodeProcessor} interacts with its own \newline\code{ProcessController} and \code{Memory}.
|
|
|
Note that the \code{ProcessController} is not a controller in the MVC sense that it processes user input, but in the sense that it \emph{controls} the execution of steps/stages.
|
|
|
This works the following:
|
|
|
\begin{enumerate}
|
|
@@ -254,35 +254,12 @@ This works the following:
|
|
|
A class diagrams for the \code{processor} package is displayed in figure~\ref{fig:processor}.
|
|
|
|
|
|
|
|
|
-\begin{figure}[htp]
|
|
|
- \centering
|
|
|
- \includegraphics[width=\linewidth,trim=0 11cm 0 0,clip]{img/bk.pdf}
|
|
|
- \caption{Class diagram of the \code{bk} package.}
|
|
|
- \label{fig:bk}
|
|
|
-\end{figure}
|
|
|
-
|
|
|
-\begin{figure}[htp]
|
|
|
- \centering
|
|
|
- \includegraphics[width=\linewidth,trim=0 25cm 0 0,clip]{img/codeline.pdf}
|
|
|
- \caption{Class diagram of the \code{codeline} package.}
|
|
|
- \label{fig:codeline}
|
|
|
-\end{figure}
|
|
|
-
|
|
|
-\begin{figure}[htp]
|
|
|
- \centering
|
|
|
- \includegraphics[width=\linewidth,trim=0 5cm 0 0,clip]{img/processor.pdf}
|
|
|
- \caption[Class diagram of the \code{processor} package.]{Class diagram of the \code{processor} package.
|
|
|
- Constructors and trivial getters and setters are omitted.}
|
|
|
- \label{fig:processor}
|
|
|
-\end{figure}
|
|
|
-
|
|
|
-
|
|
|
\section{View}\label{sec:view}
|
|
|
This section only covers the software architecture regarding the views.
|
|
|
For an explanation of what is actually displayed, see chapter~\ref{ch:ui}
|
|
|
|
|
|
\begin{itemize}
|
|
|
- \item The main window displays a \code{JLayeredPane} on the right where the graph is shown and a \code{menu} of the class \code{JPanel} on the left, where \code{NiceButton}s and \code{PseudoCodeNode}s are located.
|
|
|
+ \item The main window displays a \code{JLayeredPane} on the left where the graph is shown and a \code{menu} of the class \code{JPanel} on the right, where \code{NiceButton}s and \code{PseudoCodeNode}s are located.
|
|
|
The main window itself is a \code{JFrame} from the Swing library.
|
|
|
\item Additionally a legend, class \code{LegendView}, that is another \code{JPanel} is displayed on the bottom.
|
|
|
\item The \code{PseudoCodeNode}s are rendered by the \code{PseudoCodeRenderer} class.
|
|
@@ -302,4 +279,26 @@ A class diagram of the package \code{view} is displayed in figure~\ref{fig:view}
|
|
|
\caption[Class diagram of the packages \code{view} and \code{main}]{Class diagram of the packages \code{view} and \code{main}.
|
|
|
Getters, setters and contructors are not omitted because most of them perform nontrivial computations.}
|
|
|
\label{fig:view}
|
|
|
+\end{figure}
|
|
|
+
|
|
|
+\begin{figure}[htp]
|
|
|
+ \centering
|
|
|
+ \includegraphics[width=\linewidth,trim=0 11cm 0 0,clip]{img/bk.pdf}
|
|
|
+ \caption{Class diagram of the \code{bk} package.}
|
|
|
+ \label{fig:bk}
|
|
|
+\end{figure}
|
|
|
+
|
|
|
+\begin{figure}[htp]
|
|
|
+ \centering
|
|
|
+ \includegraphics[width=\linewidth,trim=0 25cm 0 0,clip]{img/codeline.pdf}
|
|
|
+ \caption{Class diagram of the \code{codeline} package.}
|
|
|
+ \label{fig:codeline}
|
|
|
+\end{figure}
|
|
|
+
|
|
|
+\begin{figure}[htp]
|
|
|
+ \centering
|
|
|
+ \includegraphics[width=\linewidth,trim=0 5cm 0 0,clip]{img/processor.pdf}
|
|
|
+ \caption[Class diagram of the \code{processor} package.]{Class diagram of the \code{processor} package.
|
|
|
+ Constructors and trivial getters and setters are omitted.}
|
|
|
+ \label{fig:processor}
|
|
|
\end{figure}
|