Index: dam engine/trunk/doc/Dam Engine - Technical Design/DAM Engine - Technical Design.pdf =================================================================== diff -u -r172 -r173 Binary files differ Index: doc/trunk/DAM_references/dam_references.bib =================================================================== diff -u -r172 -r173 --- doc/trunk/DAM_references/dam_references.bib (.../dam_references.bib) (revision 172) +++ doc/trunk/DAM_references/dam_references.bib (.../dam_references.bib) (revision 173) @@ -49,7 +49,7 @@ timestamp = {2016.04.12}, } -@TechReport{DAMKernel_TestPlan, +@TechReport{DAMEngine_TestPlan, author = {Trompille, V.}, title = {DAM Engine - Test Plan}, institution = {Deltares}, @@ -61,7 +61,7 @@ timestamp = {2016.04.12}, } -@TechReport{DAMKernel_TestReport, +@TechReport{DAMEngine_TestReport, author = {Trompille, V.}, title = {DAM Engine - Test Report}, institution = {Deltares}, @@ -85,7 +85,7 @@ timestamp = {2016.04.12}, } -@TechReport{DAMKernel_TechnicalDocumentation, +@TechReport{DAMEngine_TechnicalDocumentation, author = {Doxygen}, title = {DAM Engine - Technical documentation, Generated by Doxygen 1.8.10}, institution = {Deltares}, @@ -96,7 +96,7 @@ timestamp = {2016.11.01}, } -@TechReport{DAMKernel_TechnicalDesign, +@TechReport{DAMEngine_TechnicalDesign, author = {The, T.}, title = {DAM Engine - Technical Design}, institution = {Deltares}, @@ -144,7 +144,7 @@ timestamp = {2016.04.12}, } -@TechReport{DAMKernel_FunctionalDesign, +@TechReport{DAMEngine_FunctionalDesign, author = {Zwan, I. vd}, title = {DAM Engine - Functional Design}, institution = {Deltares}, Index: dam engine/trunk/doc/Dam Engine - Technical Design/DAM Engine - Technical Design.tex =================================================================== diff -u -r172 -r173 --- dam engine/trunk/doc/Dam Engine - Technical Design/DAM Engine - Technical Design.tex (.../DAM Engine - Technical Design.tex) (revision 172) +++ dam engine/trunk/doc/Dam Engine - Technical Design/DAM Engine - Technical Design.tex (.../DAM Engine - Technical Design.tex) (revision 173) @@ -47,10 +47,10 @@ \section{Purpose and scope of this document} \label{sec:PurposeAndScope} -This document contains the technical design for the \ProgramName, a calculation kernekl for the automated calculation of the strength of dikes. +This document contains the technical design for the \ProgramName, a computational engine for the automated calculation of the strength of dikes. DAM was developed by Deltares with and for STOWA for all water authorities. -This document describes the full intended architecture of the \ProgramName}. -What will actually will be implemented depends on the requirements of the clients using this \ProgramName}. +This document describes the full intended architecture of the \ProgramName. +What will actually will be implemented depends on the requirements of the clients using this \ProgramName. If some functionality is not (yet) needed, then that part does not need to be implemented. @@ -66,14 +66,14 @@ %\label{xxx} \begin{tabular}{|p{40mm}|p{\textwidth-40mm-24pt}|} \hline \textbf{Title} & \textbf{Content} \\ \hline -\ProgramNamePlusSpace - Architecture Overall \newline \citep{DAM_ArchitectureOverall} & Description of overall architecture of \ProgramNamePlusSpace and its components. \\ \hline -\ProgramNamePlusSpace- Functional Design \newline \citep{DAMKernel_FunctionalDesign} & Description of the requirements and functional design. \\ \hline -\ProgramNamePlusSpace - Technical Design (this document) \newline \citep{DAMKernel_TechnicalDesign}& Description of the implementation of the technical design of \ProgramName. \\ \hline -\ProgramNamePlusSpace - Technical documentation \newline \citep{DAMKernel_TechnicalDocumentation} & Description of the arguments and usage of different software components, generated from in-line comment with Doxygen. \\ \hline -\ProgramNamePlusSpace - Test Plan \newline \citep{DAMKernel_TestPlan} & Description of the different regression and acceptation tests, including target values. \\ \hline -\ProgramNamePlusSpace - Test Report \newline \citep{DAMKernel_TestReport} & Description of the test results (benchmarks and test scripts). \\ \hline +\ProgramName - Architecture Overall \newline \citep{DAM_ArchitectureOverall} & Description of overall architecture of the \ProgramName and its components. \\ \hline +\ProgramName- Functional Design \newline \citep{DAMEngine_FunctionalDesign} & Description of the requirements and functional design. \\ \hline +\ProgramName - Technical Design (this document) \newline \citep{DAMEngine_TechnicalDesign}& Description of the implementation of the technical design of \ProgramName. \\ \hline +\ProgramName - Technical documentation \newline \citep{DAMEngine_TechnicalDocumentation} & Description of the arguments and usage of different software components, generated from in-line comment with Doxygen. \\ \hline +\ProgramName - Test Plan \newline \citep{DAMEngine_TestPlan} & Description of the different regression and acceptation tests, including target values. \\ \hline +\ProgramName - Test Report \newline \citep{DAMEngine_TestReport} & Description of the test results (benchmarks and test scripts). \\ \hline \end{tabular} -\caption{\small \ProgramNamePlusSpace system documents.} +\caption{\small \ProgramName system documents.} \label{table-SystemDocuments} \end{table} @@ -92,7 +92,7 @@ \section{DAM components} \label{sec:DamComponents} -\ProgramNamePlusSpace is part of the whole DAM system that contains several components. +\ProgramName is part of the whole DAM system that contains several components. Please see \autoref{fig-DamComponents} for an overview of the components of DAM. In \citep{DAM_ArchitectureOverall} a description of the overall architecture of the DAM system can be found. @@ -101,16 +101,16 @@ \includegraphics[width=15cm]{pictures/DamComponents.pdf} \end{center} - \caption{\small \ProgramNamePlusSpace and its components.} + \caption{\small \ProgramName and its components.} \label{fig-DamComponents} \end{figure} The arrows illustrate the dependencies of the components. -\section{\ProgramNamePlusSpace components} \label{sec:DamKernelComponents} +\section{\ProgramName components} \label{sec:DAMEngineComponents} -The \ProgramNamePlusSpace itself also consists of several modules. -These can be seen in see \autoref{fig-DAMKernelComponents} +The \ProgramName itself also consists of several modules. +These can be seen in see \autoref{fig-DAMEngineComponents} All of the submodules inside the Main Modules are completely independent. All of the submodules inside the Supporting Modules are also independent. @@ -119,44 +119,44 @@ \begin{figure}[H] \begin{center} - \includegraphics[width=18cm]{pictures/DAMKernelComponents.pdf} + \includegraphics[width=18cm]{pictures/DAMComponents.pdf} \end{center} - \caption{\small \ProgramNamePlusSpace and its components.} - \label{fig-DAMKernelComponents} + \caption{\small \ProgramName and its components.} + \label{fig-DAMEngineComponents} \end{figure} -\section{\ProgramNamePlusSpace sequence diagrams} \label{sec:DamKernelSequenceDiagrams} +\section{\ProgramName sequence diagrams} \label{sec:DAMEngineSequenceDiagrams} In this section the sequence diagrams, showing the use of the submodules are shown. \subsection{Assessment} \begin{figure}[H] \begin{center} - \includegraphics[width=15cm]{pictures/DAMKernelSequenceAssessment.pdf} + \includegraphics[width=15cm]{pictures/DAMEngineSequenceAssessment.pdf} \end{center} - \caption{\small \ProgramNamePlusSpace Assessment sequence diagram.} - \label{fig-DAMKernelSequenceAssessment} + \caption{\small \ProgramName Assessment sequence diagram.} + \label{fig-DAMEngineSequenceAssessment} \end{figure} \subsection{Assessment Regional} \begin{figure}[H] \begin{center} - \includegraphics[width=15cm]{pictures/DAMKernelSequenceAssessmentRegional.pdf} + \includegraphics[width=15cm]{pictures/DAMEngineSequenceAssessmentRegional.pdf} \end{center} - \caption{\small \ProgramNamePlusSpace Regional assessment sequence diagram.} - \label{fig-DAMKernelSequenceAssessmentRegional} + \caption{\small \ProgramName Regional assessment sequence diagram.} + \label{fig-DAMEngineSequenceAssessmentRegional} \end{figure} \subsection{Design} \begin{figure}[H] \begin{center} - \includegraphics[width=15cm]{pictures/DAMKernelSequenceDesign.pdf} + \includegraphics[width=15cm]{pictures/DAMEngineSequenceDesign.pdf} \end{center} - \caption{\small \ProgramNamePlusSpace Design sequence diagram.} - \label{fig-DAMKernelSequenceDesign} + \caption{\small \ProgramName Design sequence diagram.} + \label{fig-DAMEngineSequenceDesign} \end{figure} %------------------------------------------------------------------------------ @@ -170,32 +170,32 @@ So do not use global variables and avoid using statics. \item Failure mechanisms will be connected through wrapper classes, which will share a common IFailureMechanism interface \item Surfaceline adapter classes will share a common ISurfacelineAdapter interface - \item The \ProgramNamePlusSpace must provide progress information of the calculation, so clients of the kernel can show a progressbar - \item The \ProgramNamePlusSpace must provide the possiblity to abort a calculation within a reasonable timespan. + \item The \ProgramName must provide progress information of the calculation, so clients of the \ProgramName can show a progressbar + \item The \ProgramName must provide the possiblity to abort a calculation within a reasonable timespan. \item There should be no User Interface elements shown anytime during the calculation. \end{itemize} \section{Programming environment} \label{sec:ProgrammingEnvironment} -The \ProgramNamePlusSpace will be developed in C\# with the .NET 4.5 framework. The development environment will be Visual Studio 2015. +The \ProgramName will be developed in C\# with the .NET 4.5 framework. The development environment will be Visual Studio 2015. \section{Error handling} \label{sec:ErrorHandling} Errors are handled through the standard exception handling of the .NET framework. Error messages must contain as much information as possible, so a user can trace back the error to the input data. \section{External libraries and components} \label{sec:ExternalLibrariesAndComponents} -\ProgramNamePlusSpace uses third-party libraries and components. Only open sources and free components, that are free to redistribute are allowed to be used. +\ProgramName 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. +Furthermore \ProgramName uses the Delta Shell Light (DSL) library, that is developed by Deltares. \section{DSL} \label{sec:DSL} -The \ProgramNamePlusSpace only uses part (the non-UI modules) of the DSL library +The \ProgramName only uses part (the non-UI modules) of the DSL library \begin{itemize} \item DSL-Core \item DSL-Probabilistic \item DSL-Geo \end{itemize} \section{Other libraries} \label{sec:OtherLibraries} -Other libraries that are used bij the \ProgramNamePlusSpace are: +Other libraries that are used bij the \ProgramName are: \begin{itemize} \item Math.Net: mathematical library \end{itemize} @@ -208,30 +208,30 @@ \section{Main Data Model} \label{sec:MainDataModel} -The main data model can be seen in see \autoref{fig-DAMKernelDataModelMain} +The main data model can be seen in see \autoref{fig-DAMEngineDataModelMain} \begin{figure}[H] \begin{center} - \includegraphics[width=15cm]{pictures/DAMKernelDataModelMain.pdf} + \includegraphics[width=15cm]{pictures/DAMEngineDataModelMain.pdf} \end{center} - \caption{\small \ProgramNamePlusSpace main data model.} - \label{fig-DAMKernelDataModelMain} + \caption{\small \ProgramName main data model.} + \label{fig-DAMEngineDataModelMain} \end{figure} \section{Location} \label{sec:Location} -The data model of the Location class can be seen in see \autoref{fig-DAMKernelDataModelLocation} +The data model of the Location class can be seen in see \autoref{fig-DAMEngineDataModelLocation} \begin{figure}[H] \begin{center} - \includegraphics[width=12cm]{pictures/DAMKernelDataModelLocation.pdf} + \includegraphics[width=12cm]{pictures/DAMEngineDataModelLocation.pdf} \end{center} - \caption{\small \ProgramNamePlusSpace kernel Location object.} - \label{fig-DAMKernelDataModelLocation} + \caption{\small \ProgramName Location object.} + \label{fig-DAMEngineDataModelLocation} \end{figure} @@ -297,7 +297,7 @@ %------------------------------------------------------------------------------ \chapter{Module Description} \label{chapterModuleDescription} -\section{\ProgramNamePlusSpace main modules} \label{sec:DamKernelMainModules} +\section{\ProgramName main modules} \label{sec:DAMEngineMainModules} \subsection{Assessment Regional Dikes} This module performs an assessment for regional dikes. @@ -325,7 +325,7 @@ This is the main submodule of the NWO calculation. This submodule contains the main loop of the calculation. -\section{\ProgramNamePlusSpace supporting modules} \label{sec:DamKernelSupportingModules} +\section{\ProgramName supporting modules} \label{sec:DAMEngineSupportingModules} \subsection{Failure mechanism wrappers} These are calculation wrappers for each kernel to be implemented for each failure mechanism that is supported by the \ProgramName. Each wrapper should implement the IFailureMechanism interface.\newline @@ -374,13 +374,13 @@ Later on new implementations can be made. E.g.\ specific for each failure mechanism, or an implementation based on a numerical model like DgFlow. \subsection{Scripting engine} -To enable advanced users to experiment with how the \ProgramNamePlusSpace works a Python scripting engine is implemented as a submodule. +To enable advanced users to experiment with how the \ProgramName works a Python scripting engine is implemented as a submodule. The scripting engine has acces to the data model and the submodules through well defined interfaces. %------------------------------------------------------------------------------ \chapter{Programing Interface} \label{chapterProgramingInterface} This is the definition of the programming interface. -The only way to communicate to the \ProgramNamePlusSpace is through this interface. +The only way to communicate to the \ProgramName is through this interface. \textbf{TO DO: Add interface description}