summaryrefslogtreecommitdiffstats
path: root/notFinishedCode/Report
diff options
context:
space:
mode:
authorRefik Hadzialic2011-10-23 15:25:48 +0200
committerRefik Hadzialic2011-10-23 15:25:48 +0200
commit818d2f8ff5aa092c218a574378c014319f5bbeb4 (patch)
tree21fee4fb1085f5d062e31c7e81257a1d2a318426 /notFinishedCode/Report
parentReport writing (diff)
downloadgsm-selftest-818d2f8ff5aa092c218a574378c014319f5bbeb4.tar.gz
gsm-selftest-818d2f8ff5aa092c218a574378c014319f5bbeb4.tar.xz
gsm-selftest-818d2f8ff5aa092c218a574378c014319f5bbeb4.zip
Report writing
Diffstat (limited to 'notFinishedCode/Report')
-rw-r--r--notFinishedCode/Report/test.aux21
-rw-r--r--notFinishedCode/Report/test.log53
-rw-r--r--notFinishedCode/Report/test.pdfbin1483992 -> 1486249 bytes
-rw-r--r--notFinishedCode/Report/test.tex24
-rw-r--r--notFinishedCode/Report/test.tex.backup25
-rw-r--r--notFinishedCode/Report/test.tex~25
-rw-r--r--notFinishedCode/Report/test.toc8
7 files changed, 106 insertions, 50 deletions
diff --git a/notFinishedCode/Report/test.aux b/notFinishedCode/Report/test.aux
index 1b65d17..2bc478e 100644
--- a/notFinishedCode/Report/test.aux
+++ b/notFinishedCode/Report/test.aux
@@ -16,28 +16,29 @@
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Hardware requirements}{7}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Database design}{8}}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces }}{8}}
+\citation{wiki}
\@writefile{toc}{\contentsline {section}{\numberline {4}Software design}{10}}
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces }}{10}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces }}{11}}
\citation{mysqlManual}
\citation{wiki}
\citation{wiki}
-\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces }}{11}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Database access}{11}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Controlling the cell phones}{11}}
-\citation{socket}
-\citation{wiki}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Database access}{12}}
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces }}{12}}
-\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces }}{12}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Controlling the cell phones}{12}}
+\citation{socket}
\citation{wiki}
+\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces }}{13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Client and Server class}{13}}
-\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces }}{13}}
\citation{wiki}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Ping class}{14}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Data logging}{14}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}SSH Class}{14}}
+\citation{wiki}
+\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces }}{14}}
\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces }}{14}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Ping class}{14}}
\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces }}{15}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Data logging}{15}}
\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces }}{15}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}SSH Class}{15}}
\citation{beagleDataSheet}
\@writefile{toc}{\contentsline {section}{\numberline {5}Hardware design}{16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}BeagleBoard}{16}}
diff --git a/notFinishedCode/Report/test.log b/notFinishedCode/Report/test.log
index fe4c093..6ebe4b4 100644
--- a/notFinishedCode/Report/test.log
+++ b/notFinishedCode/Report/test.log
@@ -1,4 +1,4 @@
-This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2011.9.27) 23 OCT 2011 14:27
+This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2011.9.27) 23 OCT 2011 15:25
entering extended mode
%&-line parsing enabled.
**test.tex
@@ -339,45 +339,44 @@ LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
File: activityControllerEdited.png Graphic file (type png)
<use activityControllerEdited.png>
-<classDiagram.png, id=49, 1027.84pt x 558.085pt>
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <9> on input line 222.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line 222.
+ [10 <./activityControllerEdited.png>]
+<classDiagram.png, id=54, 1027.84pt x 558.085pt>
File: classDiagram.png Graphic file (type png)
<use classDiagram.png>
-[10 <./activityControllerEdited.png>]
-<dbClass.png, id=55, 660.34941pt x 620.67177pt>
+[11 <./classDiagram.png (PNG copy)>]
+<dbClass.png, id=61, 660.34941pt x 620.67177pt>
File: dbClass.png Graphic file (type png)
<use dbClass.png>
-<serialPort.png, id=56, 518.64352pt x 371.26941pt>
+<serialPort.png, id=62, 518.64352pt x 371.26941pt>
File: serialPort.png Graphic file (type png)
<use serialPort.png>
-[11 <./classDiagram.png (PNG copy)>]
-LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <9> on input line 247.
-LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <5> on input line 247.
-
-<serverClass.png, id=60, 302.12875pt x 181.67876pt>
+[12 <./dbClass.png (PNG copy)>]
+<serverClass.png, id=66, 302.12875pt x 181.67876pt>
File: serverClass.png Graphic file (type png)
<use serverClass.png>
-<ClientClass.png, id=61, 507.30705pt x 256.48764pt>
+<ClientClass.png, id=67, 507.30705pt x 256.48764pt>
File: ClientClass.png Graphic file (type png)
<use ClientClass.png>
-[12 <./dbClass.png (PNG copy)> <./serialPort.png (PNG copy)>]
-<ping.png, id=65, 419.44942pt x 97.77705pt>
+[13 <./serialPort.png (PNG copy)>] <ping.png, id=72, 419.44942pt x 97.77705pt>
File: ping.png Graphic file (type png)
- <use ping.png> [13 <./serverClass.png (PNG copy)>] <logging.png, id=73, 333.00
-882pt x 167.21294pt>
+
+<use ping.png> <logging.png, id=73, 333.00882pt x 167.21294pt>
File: logging.png Graphic file (type png)
-<use logging.png> [14 <./ClientClass.png (PNG copy)>] [15 <./ping.png (PNG copy
-)> <./logging.png (PNG copy)>] <bb.jpg, id=80, 521.95pt x 516.93124pt>
+<use logging.png> [14 <./serverClass.png (PNG copy)> <./ClientClass.png (PNG co
+py)>] [15 <./ping.png (PNG copy)> <./logging.png (PNG copy)>]
+<bb.jpg, id=80, 521.95pt x 516.93124pt>
File: bb.jpg Graphic file (type jpg)
+ <use bb.jpg> [16
-<use bb.jpg> [16
+ <./bb.jpg>] [17]
+[18
- <./bb.jpg>] [17] [18
-
-]
-<protocolCommunicationHandler.png, id=91, 2486.93823pt x 792.13588pt>
+] <protocolCommunicationHandler.png, id=91, 2486.93823pt x 792.13588pt>
File: protocolCommunicationHandler.png Graphic file (type png)
<use protocolCommunicationHandler.png>
@@ -396,7 +395,7 @@ File: sshTunnel.png Graphic file (type png)
<./sshTunnel.png (PNG copy)>] [23] [24]
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <9> not available
-(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 574.
+(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 594.
[25] [26] [27]
<resultsImage.png, id=125, 702.625pt x 431.6125pt>
File: resultsImage.png Graphic file (type png)
@@ -425,9 +424,9 @@ r/fonts/pk/ljfour/jknappen/ec/ecrm1728.600pk></usr/share/texmf-texlive/fonts/ty
pe1/public/amsfonts/cm/cmmi10.pfb></usr/share/texmf-texlive/fonts/type1/public/
amsfonts/cm/cmsy10.pfb></usr/share/texmf-texlive/fonts/type1/public/amsfonts/cm
/cmsy9.pfb>
-Output written on test.pdf (31 pages, 1483992 bytes).
+Output written on test.pdf (31 pages, 1486249 bytes).
PDF statistics:
- 708 PDF objects out of 1000 (max. 8388607)
+ 711 PDF objects out of 1000 (max. 8388607)
0 named destinations out of 1000 (max. 500000)
96 words of extra memory for PDF output out of 10000 (max. 10000000)
diff --git a/notFinishedCode/Report/test.pdf b/notFinishedCode/Report/test.pdf
index 529c449..cf763a5 100644
--- a/notFinishedCode/Report/test.pdf
+++ b/notFinishedCode/Report/test.pdf
Binary files differ
diff --git a/notFinishedCode/Report/test.tex b/notFinishedCode/Report/test.tex
index ab8fb8e..1a58a79 100644
--- a/notFinishedCode/Report/test.tex
+++ b/notFinishedCode/Report/test.tex
@@ -211,7 +211,24 @@ The software engineering design concepts were achieved following way:
\end{figure}
\par The basic principle how the test software works can be seen in figure 5. The test software is
-started either manually from the terminal or using the web site.
+started either manually from the terminal or using the web site. When the test software
+is started manually it is not database dependent and thefore could be used if the
+database is being maintained or not working. If it is started from the web site it
+connects to the database to get its tasks which have to be performed. After receiving
+the tasks it makes a simple network test by pinging all the servers. The ping results
+are stored in the database (in case the test was started from the web site). Then it
+proceeds with the tests by connecting itself to the handlers and sending them commands
+to perform the tests\footnote{Before it connects to the handlers, it uses the ping
+results to see is the service/device physically connected to the network.}.
+At the higher level, these commands can be seen as requests for being the
+callee and caller. Meanwhile the handlers send their test results to the main
+test software which in return decides if the test result was successful or not.
+The result is written to the database (in case the software was started from the website),
+otherwise the results are displayed in the terminal window and the user who started
+it manually can see the test results. We will proceed with introducing the classes.
+The software class diagram can be seen in the following figure. More details for the
+classes, like the input/output can be found on our project's wiki page \cite{wiki}.
+
\begin{figure}[ht!]
\centering
@@ -219,6 +236,7 @@ started either manually from the terminal or using the web site.
\caption[]{Class diagram (some classes were excluded)}
\end{figure}
+\newpage
\subsection{Database access} % subsection 2.1.1
Accessing the database is of critical value to our project, therefore we had developed our own class that limits the access to the database. In the process of developing our own class we used the MySQLdb library in Python \cite{mysqlManual}.
The database class has two working modes, a normal working mode and a debugging mode. The difference between these two modes is in the output information. In case the error handling function raises an error and it is unknown, if the debug mode is set a complete back-trace of the error will be printed out. A developer can change the mode by setting the variable \emph{debugMode=1}. The class diagram can be seen in the following figure.
@@ -275,7 +293,8 @@ A ping timeout response was set up to 2 seconds. For more details and insights,
\caption[]{Ping class, used by test software}
\end{figure}
\subsection{Data logging}
-If bugs appear it is important to reconstruct the case. One of the best ways to reconstruct the case was to log every single step part of code gets executed.
+If errors appear it is important to reconstruct the events that led to the misbehaviour of the software. One of the best ways to reconstruct the events was to log
+events for different blocks of programming code.
We had used the logging class to follow our handler code run on the BeagleBoard. In case there is an error we could look inside of the log files and track the error.
How the class works and what kind of outputs it produces can be found on our project wiki page \cite{wiki}.
\begin{figure}[ht!]
@@ -284,6 +303,7 @@ How the class works and what kind of outputs it produces can be found on our pro
\caption[]{Logging class}
\end{figure}
\subsection{SSH Class}
+
\clearpage
\section{Hardware design}
In our team project we had the option to choose all the required hardware ourself beside the two BeagleBoards, which we were supplied by Konrad and Dennis.
diff --git a/notFinishedCode/Report/test.tex.backup b/notFinishedCode/Report/test.tex.backup
index e3068a8..acf4885 100644
--- a/notFinishedCode/Report/test.tex.backup
+++ b/notFinishedCode/Report/test.tex.backup
@@ -196,20 +196,35 @@ The software engineering design concepts were achieved following way:
\begin{itemize}
\item Compatibility - we used Python and MySQL which are multiplatform and work on major OS
\item Extensibility - new parts of code can be easily added by just modifying the classes
-\item Maintability - the test software can recognize new added cell phones to the system and dynamically
+\item Maintability - the test software can recognize new added cell phones to the system and dynamically perform tests if new BTS stations are added
\item Mudalarity - the components are independent black boxes, they are tested and validated independently
\item Reliability - we use mutex locks to perform tests and database transaction operations to insert data into the database
-\item Security - all communication channels are encrypted with asymmetric key cryptography
-\item Fault-tolerance - the classes were designed to continue operating even if error events appear and handlers are logging everything
+\item Security - all communication channels, as well as the access to the web site, are encrypted with asymmetric key cryptography
+\item Fault-tolerance - the classes were designed to continue operating even if error events appear and handlers are logging all events
+\item Usability - we tried to create a simple user interface and easily to use for everyone
\end{itemize}
-
\begin{figure}[ht!]
\centering
\includegraphics[width=140mm]{activityControllerEdited.png}
- \caption[]{Class diagram for the dbClass}
+ \caption[]{Working principle of the test software}
\end{figure}
+\par The basic principle how the test software works can be seen in figure 5. The test software is
+started either manually from the terminal or using the web site. When the test software
+is started manually it is not database dependent and thefore could be used if the
+database is being maintained or not working. If it is started from the web site it
+connects to the database to get its tasks which have to be performed. After receiving
+the tasks it makes a simple network test by pinging all the servers. The ping results
+are stored in the database (in case the test was started from the web site). Then it
+proceeds with the tests by connecting itself to the handlers and sending them commands
+to perform the tests\footnote{Before it connects to the handlers, it uses the ping
+results to see is the service/device physically connected to the network.}.
+At the higher level, these commands can be seen as requests for being the
+callee and caller. Meanwhile the handlers send their test result to the main
+test software which
+
+
\begin{figure}[ht!]
\centering
\includegraphics[width=140mm]{classDiagram.png}
diff --git a/notFinishedCode/Report/test.tex~ b/notFinishedCode/Report/test.tex~
index aba7830..aee1a2c 100644
--- a/notFinishedCode/Report/test.tex~
+++ b/notFinishedCode/Report/test.tex~
@@ -209,14 +209,34 @@ The software engineering design concepts were achieved following way:
\includegraphics[width=140mm]{activityControllerEdited.png}
\caption[]{Working principle of the test software}
\end{figure}
+
\par The basic principle how the test software works can be seen in figure 5. The test software is
-started either manually from the terminal or using the web site using
+started either manually from the terminal or using the web site. When the test software
+is started manually it is not database dependent and thefore could be used if the
+database is being maintained or not working. If it is started from the web site it
+connects to the database to get its tasks which have to be performed. After receiving
+the tasks it makes a simple network test by pinging all the servers. The ping results
+are stored in the database (in case the test was started from the web site). Then it
+proceeds with the tests by connecting itself to the handlers and sending them commands
+to perform the tests\footnote{Before it connects to the handlers, it uses the ping
+results to see is the service/device physically connected to the network.}.
+At the higher level, these commands can be seen as requests for being the
+callee and caller. Meanwhile the handlers send their test results to the main
+test software which in return decides if the test result was successful or not.
+The result is written to the database (in case the software was started from the website),
+otherwise the results are displayed in the terminal window and the user who started
+it manually can see the test results. We will proceed with introducing the classes.
+The software class diagram can be seen in the following figure. More details for the
+classes, like the input/output can be found on our project's wiki page \cite{wiki}.
+
+
\begin{figure}[ht!]
\centering
\includegraphics[width=140mm]{classDiagram.png}
\caption[]{Class diagram (some classes were excluded)}
\end{figure}
+\newpage
\subsection{Database access} % subsection 2.1.1
Accessing the database is of critical value to our project, therefore we had developed our own class that limits the access to the database. In the process of developing our own class we used the MySQLdb library in Python \cite{mysqlManual}.
The database class has two working modes, a normal working mode and a debugging mode. The difference between these two modes is in the output information. In case the error handling function raises an error and it is unknown, if the debug mode is set a complete back-trace of the error will be printed out. A developer can change the mode by setting the variable \emph{debugMode=1}. The class diagram can be seen in the following figure.
@@ -273,7 +293,7 @@ A ping timeout response was set up to 2 seconds. For more details and insights,
\caption[]{Ping class, used by test software}
\end{figure}
\subsection{Data logging}
-If bugs appear it is important to reconstruct the case. One of the best ways to reconstruct the case was to log every single step part of code gets executed.
+If bugs appear it is important to reconstruct the events that led to the misbehaviour of the software. One of the best ways to reconstruct the case was to log every single step part of code gets executed.
We had used the logging class to follow our handler code run on the BeagleBoard. In case there is an error we could look inside of the log files and track the error.
How the class works and what kind of outputs it produces can be found on our project wiki page \cite{wiki}.
\begin{figure}[ht!]
@@ -282,6 +302,7 @@ How the class works and what kind of outputs it produces can be found on our pro
\caption[]{Logging class}
\end{figure}
\subsection{SSH Class}
+
\clearpage
\section{Hardware design}
In our team project we had the option to choose all the required hardware ourself beside the two BeagleBoards, which we were supplied by Konrad and Dennis.
diff --git a/notFinishedCode/Report/test.toc b/notFinishedCode/Report/test.toc
index 69b75cb..759c6d7 100644
--- a/notFinishedCode/Report/test.toc
+++ b/notFinishedCode/Report/test.toc
@@ -6,12 +6,12 @@
\contentsline {subsection}{\numberline {2.3}Hardware requirements}{7}
\contentsline {section}{\numberline {3}Database design}{8}
\contentsline {section}{\numberline {4}Software design}{10}
-\contentsline {subsection}{\numberline {4.1}Database access}{11}
-\contentsline {subsection}{\numberline {4.2}Controlling the cell phones}{11}
+\contentsline {subsection}{\numberline {4.1}Database access}{12}
+\contentsline {subsection}{\numberline {4.2}Controlling the cell phones}{12}
\contentsline {subsection}{\numberline {4.3}Client and Server class}{13}
\contentsline {subsection}{\numberline {4.4}Ping class}{14}
-\contentsline {subsection}{\numberline {4.5}Data logging}{14}
-\contentsline {subsection}{\numberline {4.6}SSH Class}{14}
+\contentsline {subsection}{\numberline {4.5}Data logging}{15}
+\contentsline {subsection}{\numberline {4.6}SSH Class}{15}
\contentsline {section}{\numberline {5}Hardware design}{16}
\contentsline {subsection}{\numberline {5.1}BeagleBoard}{16}
\contentsline {subsection}{\numberline {5.2}Cell phones}{17}