Index: doc/trunk/DAM - Architecture Overall/DAM - Architecture Overall.pdf =================================================================== diff -u -r55 -r57 Binary files differ Index: doc/trunk/DAM - Architecture Overall/DAM - Architecture Overall.tex =================================================================== diff -u -r55 -r57 --- doc/trunk/DAM - Architecture Overall/DAM - Architecture Overall.tex (.../DAM - Architecture Overall.tex) (revision 55) +++ doc/trunk/DAM - Architecture Overall/DAM - Architecture Overall.tex (.../DAM - Architecture Overall.tex) (revision 57) @@ -44,7 +44,7 @@ \newcommand{\ProgramNamePlusSpace}{DAM } \title{\ProgramName} -\manualtype{Archticture Overall} +\manualtype{Architecture Overall} \subtitle{} \projectnumber{1210702-000} \client{Deltares - Geo engineering DKS} @@ -61,7 +61,7 @@ \summary{This document contains a description of the overall architecture for \ProgramName, an application that computes the strength of a complete dikering with respect to several failure mechnanisms, such as macro stability and piping.\\ \\ \textbf{\footnotesize{Samenvatting}} \\ -Dit document bevat het een beschrijving van de totale architectuur van \ProgramName, een User Interface applicatie die een gebruiker in staat stelt om voor een dijktraject berekeningen uit te voeren voor verschillende faalmechanismen, waaronder macrostabiliteit en piping.} +Dit document bevat een beschrijving van de totale architectuur van \ProgramName, een User Interface applicatie die een gebruiker in staat stelt om voor een dijktraject berekeningen uit te voeren voor verschillende faalmechanismen, waaronder macrostabiliteit en piping.} \versioni{0.1} \datei{Jan 2017} @@ -102,36 +102,148 @@ \ProgramNamePlusSpace UI - User Manual \newline \citep{DAMUI_Manual} & Description of the different functionalites available in the \textit{User Interface} and background information. \\ \hline \ProgramNamePlusSpace UI - Technical documentation \newline \citep{DAMUI_TechnicalDocumentation} & Description of the arguments and usage of different software components, generated from in-line comment with Doxygen. \\ \hline \end{tabular} +\caption{\small \ProgramNamePlusSpace system documents.} +\label{tbl-Documents} \end{table} %------------------------------------------------------------------------------ \chapter{\ProgramNamePlusSpace and its components} \label{chapter2} +\ProgramNamePlusSpace contains several components. Please see Figure ~\ref{fig-DamComponents} for an overview of the components. + \begin{figure}[!h] \begin{center} - \includegraphics[width=15cm]{pictures/DamComponents.png} + \includegraphics[width=15cm]{pictures/DamComponents.pdf} \end{center} \caption{\small \ProgramNamePlusSpace and its components.} \label{fig-DamComponents} \end{figure} +\section{\ProgramNamePlusSpace clients} \label{sec:2.1} +\ProgramNamePlusSpace clients are the modules that mostly interact with the user or sometimes with another system. These can be full graphical user interfaces (like DAM UI as shown in Figure ~\ref{fig-DamUIMainForm} and DamLive Showcase ), commandline parameter tools (like KernelCompariosnRunner.exe) or a module that can be used by other systems (like DAMLive, that is to be used as a module in a FEWS system). +\begin{figure}[!h] + \begin{center} + \includegraphics[width=15cm]{pictures/DamUIMainForm.png} + \end{center} + + \caption{\small \ProgramNamePlusSpace User Interface.} + \label{fig-DamUIMainForm} +\end{figure} + +These clients interact directly with the \ProgramNamePlusSpace kernel (see next section). + + +\section{\ProgramNamePlusSpace kernel} \label{sec:2.2} + +The \ProgramNamePlusSpace kernel is the engine for the \ProgramNamePlusSpace computation. It contains several submodules, depending on which computation has to be made. +As can be seen in Figure ~\ref{fig-DamComponents} the submodules are +\begin{itemize} + \item Assessment regional dikes + \item Design primary dikes + \item Operational module (for realtime calculations) +\end{itemize} +Depending on the client, 1 or more of these submodules can be addressed by the client. +The \ProgramNamePlusSpace kernel has no knowledge of the clients that use the kernel and there will be no code dependencies from the kernel to the clients. + +\section{Failure mechanisms} \label{sec:2.3} +The failure mechanisms are completely independent and have no knowledge of the \ProgramNamePlusSpace kernel. So there will be no code dependencies from the failure mechanisms to the \ProgramNamePlusSpace kernel. + %------------------------------------------------------------------------------ \chapter{Architectural Choices} \label{chapter3} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum +\section{Moduel dependencies} \label{sec:3.1} +\section{External libraries and components} \label{sec:3.2} +\ProgramNamePlusSpace uses third-party libraries and components. Only open sources and free components, that are free to redistribute are allowed to be used. +Furthermore \ProgramNamePlusSpace uses the Delta Shell Light (DSL) library, that is developed by Deltares. +Due to choises that have been made in the past, the UI modules of DSL use DevExpress, which is a commercial library. Free redistribution of the DevExpress is allowed by the development license that is used by Deltares. +In the future the dependency on DevExpress should be removed, e.g. by using other, open source, UI libraries. + +In the next sections the libraries that are used by the components are summarized. + +\section{\ProgramNamePlusSpace UI (DSL)} \label{sec:3.3} +This client uses the full Delta Shell Light (DSL) library +\begin{itemize} + \item DSL-Core + \item DSL-Probabilistic + \item DSL-Geographic + \item DSL-Geo + \item DSL-GeoIO + \item DSL-FormsStandard + \item DSL-FormsMaps + \item DSL-FormsGeo +\end{itemize} + +Other libraries that are used are +\begin{itemize} + \item Dot Spatial + \item Commandline Parser + \item Lumenworks + \item SQLite + \item Firebird +\end{itemize} + +\section{\ProgramNamePlusSpace kernel} \label{sec:3.4} +The \ProgramNamePlusSpace kernel only uses part of the DSL library +\begin{itemize} + \item DSL-Core + \item DSL-Probabilistic + \item DSL-Geo +\end{itemize} + +Other libraries that are used are +\begin{itemize} + \item Math.Net +\end{itemize} + + %------------------------------------------------------------------------------ \chapter{Version control} \label{chapter4} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum +For the version control system, Subversion with the Tortoise client will be used. The layout of the SVN repository will reflect the components of \ProgramNamePlusSpace as shown in Figure ~\ref{fig-DamComponents}. +In figure ~\ref{fig-SVNMainLayout} the main layout is shown. +The failure mechanisms are not part of the \ProgramNamePlusSpace repository and will be stored in their own repositories +\begin{figure}[!h] + \begin{flushleft} + \includegraphics{pictures/DamSVNMainLayout.png} + \end{flushleft} + + \caption{\small \ProgramNamePlusSpace SVN main layout.} + \label{fig-SVNMainLayout} +\end{figure} + + +Each \ProgramNamePlusSpace client has its own entry in the clients map. In figure ~\ref{fig-SVNClientLayout} the layout of the \ProgramNamePlusSpace clients map is shown. + +\begin{figure}[!h] + \begin{flushleft} + \includegraphics{pictures/DamSVNClientLayout.png} + \end{flushleft} + + \caption{\small \ProgramNamePlusSpace SVN clients layout.} + \label{fig-SVNClientLayout} +\end{figure} + +Each part of the repository has its own trunk/branches/tags layout. +So the full layout of the \ProgramNamePlusSpace repository will be as shown in figure ~\ref{fig-SVNLayout}. +\begin{figure}[!h] + \begin{flushleft} + \includegraphics{pictures/DamSVNLayout.png} + \end{flushleft} + + \caption{\small \ProgramNamePlusSpace SVN layout.} + \label{fig-SVNLayout} +\end{figure} + + %------------------------------------------------------------------------------ \chapter{Literature} \label{chapter5} Index: doc/trunk/DAM - Architecture Overall/pictures/DamSVNMainLayout.png =================================================================== diff -u Binary files differ Index: doc/trunk/DAM - Architecture Overall/pictures/DamSVNClientLayout.png =================================================================== diff -u Binary files differ Index: doc/trunk/DAM - Architecture Overall/pictures/DamUIMainForm.png =================================================================== diff -u Binary files differ Index: doc/trunk/DAM - Architecture Overall/pictures/DamSVNLayout.png =================================================================== diff -u Binary files differ