Index: dam kernel/trunk/doc/Dam kernel - Technical Design/DAM kernel - Technical Design.tex =================================================================== diff -u -r115 -r146 --- dam kernel/trunk/doc/Dam kernel - Technical Design/DAM kernel - Technical Design.tex (.../DAM kernel - Technical Design.tex) (revision 115) +++ dam kernel/trunk/doc/Dam kernel - Technical Design/DAM kernel - Technical Design.tex (.../DAM kernel - Technical Design.tex) (revision 146) @@ -79,7 +79,9 @@ \section{DAM components} \label{sec:DamComponents} -\ProgramNamePlusSpace 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. +\ProgramNamePlusSpace 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. \begin{figure}[H] \begin{center} @@ -98,7 +100,9 @@ These can be seen in see \autoref{fig-DAMKernelComponents} All of the submodules inside the Main Modules are completely independent. -All of the submodules inside the Supporting Modules are also independent. But all these submodules can be used by each of the main modules. +All of the submodules inside the Supporting Modules are also independent. +But all these submodules can be used by each of the main modules. +The arrows show the allowed dependencies. \begin{figure}[H] \begin{center} @@ -114,8 +118,10 @@ \section{Design principles} \label{sec:DesignPrinciples} \begin{itemize} - \item No circular references between objects. When it is really unavoidable, then do it through a generic interface (e.g.\ IParentObject) - \item The calculation will support parallellization. So do not use global variables and avoid using statics. + \item No circular references between objects. + When it is really unavoidable, then do it through a generic interface (e.g.\ IParentObject) + \item The calculation will support parallellization. + 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 @@ -178,7 +184,7 @@ \includegraphics[width=12cm]{pictures/DAMKernelDataModelLocation.pdf} \end{center} - \caption{\small \ProgramNamePlusSpace kerenl Location object.} + \caption{\small \ProgramNamePlusSpace kernel Location object.} \label{fig-DAMKernelDataModelLocation} \end{figure} @@ -287,21 +293,56 @@ Adapts the surfaceline by adding a shoulder or enlarging the shouldeer on the inside of the dike. \paragraph*{Surfaceline Adapter NWO} Adapts the surfaceline by adding a NWO on a specifi place in the surfaceline. -\subsection{Failure mechanism Calculation Runner} +\subsection{Calculation Runner} +\paragraph*{Failure mechanism Calculation Runner} This submodule calculates a specific failure mechanism by calling the IFailureMechanism interface of the wrapper implementation. -\subsection{Design Calculation Runner} +\paragraph*{Design Calculation Runner} This submodule performs a design calculation for a specific failure mechanism by calling the IFailureMechanism interface and several surfaceline adapters through their ISurfacelineAdaptert interface. -\subsection{Operational Calculation Runner} +\paragraph*{Operational Calculation Runner} This submodule can perform a calculation based on sensor readings (as time-series). The load on the systems (the waternet) will be based on those sensor readings. This can be used in operational systems like DamLive. -\subsection{Probabilistic Calculation Runner} +\paragraph*{Probabilistic Calculation Runner} This submodule performs a probabilistic calculation for a specific location and failure mechanism. The outcome is a failure probability for that location and failure mechanism. -\subsection{Geometry creator} +\subsection{General submodules} +\paragraph*{Geometry creator} This submodule combines a surfaceline with a subsoil scenario. The output is a gemetry that can be used by the failure mechanisms to perform a calculation. -\subsection{Waternet creator} +\paragraph*{Waternet creator} This submodule determines the waternet that will be used by the failure mechanisms. At first only the DAM implementation will be used as a waternet creator. 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. The scripting engine has acces to the data model and the submodules through well defined interfaces. +\section{\ProgramNamePlusSpace sequence diagrams} \label{sec:DamKernelSequenceDiagrams} +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} + \end{center} + + \caption{\small \ProgramNamePlusSpace Assessment sequence diagram.} + \label{fig-DAMKernelSequenceAssessment} +\end{figure} + +\subsection{Assessment Regional} +\begin{figure}[H] + \begin{center} + \includegraphics[width=15cm]{pictures/DAMKernelSequenceAssessmentRegional.pdf} + \end{center} + + \caption{\small \ProgramNamePlusSpace Regional assessment sequence diagram.} + \label{fig-DAMKernelSequenceAssessmentRegional} +\end{figure} + +\subsection{Design} +\begin{figure}[H] + \begin{center} + \includegraphics[width=15cm]{pictures/DAMKernelSequenceDesign.pdf} + \end{center} + + \caption{\small \ProgramNamePlusSpace Design sequence diagram.} + \label{fig-DAMKernelSequenceDesign} +\end{figure} + %------------------------------------------------------------------------------ \chapter{Literature} \label{chapterLiterature}