summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--notFinishedCode/Report/dbClass.pngbin0 -> 31578 bytes
-rw-r--r--notFinishedCode/Report/serialPort.pngbin0 -> 16604 bytes
-rw-r--r--notFinishedCode/Report/test.aux60
-rw-r--r--notFinishedCode/Report/test.log67
-rw-r--r--notFinishedCode/Report/test.pdfbin608509 -> 667102 bytes
-rw-r--r--notFinishedCode/Report/test.tex30
-rw-r--r--notFinishedCode/Report/test.tex.backup45
-rw-r--r--notFinishedCode/Report/test.tex~29
-rw-r--r--notFinishedCode/Report/test.toc30
9 files changed, 164 insertions, 97 deletions
diff --git a/notFinishedCode/Report/dbClass.png b/notFinishedCode/Report/dbClass.png
new file mode 100644
index 0000000..8f56a59
--- /dev/null
+++ b/notFinishedCode/Report/dbClass.png
Binary files differ
diff --git a/notFinishedCode/Report/serialPort.png b/notFinishedCode/Report/serialPort.png
new file mode 100644
index 0000000..4ed398b
--- /dev/null
+++ b/notFinishedCode/Report/serialPort.png
Binary files differ
diff --git a/notFinishedCode/Report/test.aux b/notFinishedCode/Report/test.aux
index 4bb90ba..3971941 100644
--- a/notFinishedCode/Report/test.aux
+++ b/notFinishedCode/Report/test.aux
@@ -6,39 +6,45 @@
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction and Motivation}{3}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Requirements}{4}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Database design}{5}}
+\citation{mysqlManual}
+\citation{wiki}
+\citation{wiki}
\@writefile{toc}{\contentsline {section}{\numberline {4}Software design}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Database access}{6}}
+\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces }}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Controlling the cell phones}{6}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}subsection}{6}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces }}{7}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}subsection}{7}}
\citation{beagleDataSheet}
-\@writefile{toc}{\contentsline {section}{\numberline {5}Hardware design}{7}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}BeagleBoard}{7}}
-\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces }}{7}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Cell phones}{8}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Cables for the cell phones}{8}}
-\@writefile{toc}{\contentsline {section}{\numberline {6}Communication protocol}{9}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Hanlder side}{9}}
-\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces }}{9}}
-\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces }}{9}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces }}{9}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Verification of the protocol}{10}}
+\@writefile{toc}{\contentsline {section}{\numberline {5}Hardware design}{8}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}BeagleBoard}{8}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces }}{8}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Cell phones}{9}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Cables for the cell phones}{9}}
+\@writefile{toc}{\contentsline {section}{\numberline {6}Communication protocol}{10}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Hanlder side}{10}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces }}{10}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces }}{10}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces }}{10}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Verification of the protocol}{11}}
\citation{sshTunnel}
-\@writefile{toc}{\contentsline {section}{\numberline {7}Security and safety of the system}{11}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Encryption of the communication channels}{11}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces }}{11}}
+\@writefile{toc}{\contentsline {section}{\numberline {7}Security and safety of the system}{12}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Encryption of the communication channels}{12}}
+\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces }}{12}}
\citation{https}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Security on the web site}{12}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Security on the web site}{13}}
\citation{https}
\citation{https}
-\@writefile{toc}{\contentsline {section}{\numberline {8}Web page}{16}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}Communication between the web page and the test software}{16}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.2}Results on the web page}{16}}
+\@writefile{toc}{\contentsline {section}{\numberline {8}Web page}{17}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}Communication between the web page and the test software}{17}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.2}Results on the web page}{17}}
\citation{pChart}
-\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces }}{17}}
-\@writefile{toc}{\contentsline {section}{\numberline {9}Conclusion}{18}}
-\bibcite{site1}{1}
-\bibcite{sshTunnel}{2}
-\bibcite{https}{3}
-\bibcite{pChart}{4}
-\bibcite{beagleDataSheet}{5}
-\newlabel{LastPage}{{}{19}}
+\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces }}{18}}
+\@writefile{toc}{\contentsline {section}{\numberline {9}Conclusion}{19}}
+\bibcite{mysqlManual}{1}
+\bibcite{wiki}{2}
+\bibcite{sshTunnel}{3}
+\bibcite{https}{4}
+\bibcite{pChart}{5}
+\bibcite{beagleDataSheet}{6}
+\newlabel{LastPage}{{}{20}}
diff --git a/notFinishedCode/Report/test.log b/notFinishedCode/Report/test.log
index 814f81b..751d289 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) 9 OCT 2011 21:08
+This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2011.9.27) 11 OCT 2011 13:12
entering extended mode
%&-line parsing enabled.
**test.tex
@@ -299,70 +299,77 @@ Class scrartcl Info: You've told me to use the font selection of the element
\openout4 = `test.toc'.
[2] [3]
-[4] [5] [6] <bb.jpg, id=28, 521.95pt x 516.93124pt>
+[4] [5] <dbClass.png, id=24, 660.34941pt x 620.67177pt>
+File: dbClass.png Graphic file (type png)
+ <use dbClass.png>
+<serialPort.png, id=25, 518.64352pt x 371.26941pt>
+File: serialPort.png Graphic file (type png)
+ <use serialPort.png>
+[6 <./dbClass.png (PNG copy)>] [7 <./serialPort.png (PNG copy)>]
+<bb.jpg, id=35, 521.95pt x 516.93124pt>
File: bb.jpg Graphic file (type jpg)
- <use bb.jpg> [7 <./bb.jpg>] [8] <protocolCommunicationHandler.png, id=36, 2486
-.93823pt x 792.13588pt>
+ <use bb.jpg> [8 <./bb.jpg>] [9]
+<protocolCommunicationHandler.png, id=42, 2486.93823pt x 792.13588pt>
File: protocolCommunicationHandler.png Graphic file (type png)
<use protocolCommunicationHandler.png>
-<protocolCommunicationcControllerReceiver.png, id=37, 1808.16705pt x 766.62883p
+<protocolCommunicationcControllerReceiver.png, id=43, 1808.16705pt x 766.62883p
t>
File: protocolCommunicationcControllerReceiver.png Graphic file (type png)
<use protocolCommunicationcControllerReceiver.png>
-<protocolCommunicationcControllerCaller.png, id=38, 1808.16705pt x 766.62883pt>
+<protocolCommunicationcControllerCaller.png, id=44, 1808.16705pt x 766.62883pt>
File: protocolCommunicationcControllerCaller.png Graphic file (type png)
-<use protocolCommunicationcControllerCaller.png> [9
+<use protocolCommunicationcControllerCaller.png> [10
<./protocolCommunicationHandler.png (PNG copy)> <./protocolCommunicationcContr
ollerReceiver.png (PNG copy)> <./protocolCommunicationcControllerCaller.png (PN
G copy)>]
LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <9> on input line 175.
+(Font) <9> on input line 193.
LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <5> on input line 175.
- [10]
-<sshTunnel.png, id=47, 696.6025pt x 152.57pt>
+(Font) <5> on input line 193.
+ [11]
+<sshTunnel.png, id=53, 696.6025pt x 152.57pt>
File: sshTunnel.png Graphic file (type png)
- <use sshTunnel.png> [11
+ <use sshTunnel.png> [12
- <./sshTunnel.png (PNG copy)>] [12] [13]
-LaTeX Font Info: Try loading font information for OMS+cmr on input line 338.
+ <./sshTunnel.png (PNG copy)>] [13] [14]
+LaTeX Font Info: Try loading font information for OMS+cmr on input line 356.
(/usr/share/texmf-texlive/tex/latex/base/omscmr.fd
File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
)
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 338.
- [14] [15] [16]
+(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 356.
+ [15] [16] [17]
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <12> not available
-(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 410.
+(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 428.
-<resultsImage.png, id=70, 702.625pt x 431.6125pt>
+<resultsImage.png, id=75, 702.625pt x 431.6125pt>
File: resultsImage.png Graphic file (type png)
<use resultsImage.png>
-[17 <./resultsImage.png (PNG copy)>] [18]
-LaTeX Font Info: Try loading font information for T1+cmtt on input line 435.
+[18 <./resultsImage.png (PNG copy)>] [19]
+LaTeX Font Info: Try loading font information for T1+cmtt on input line 452.
(/usr/share/texmf-texlive/tex/latex/base/t1cmtt.fd
File: t1cmtt.fd 1999/05/25 v2.5h Standard LaTeX font definitions
)
-AED: lastpage setting LastPage [19] (./test.aux) )
+AED: lastpage setting LastPage [20] (./test.aux) )
Here is how much of TeX's memory you used:
- 4885 strings out of 495061
- 67574 string characters out of 1182621
- 255259 words of memory out of 3000000
- 8002 multiletter control sequences out of 15000+50000
+ 4896 strings out of 495061
+ 67749 string characters out of 1182621
+ 255263 words of memory out of 3000000
+ 8011 multiletter control sequences out of 15000+50000
18484 words of font info for 43 fonts, out of 3000000 for 9000
28 hyphenation exceptions out of 8191
36i,10n,45p,751b,1285s stack positions out of 5000i,500n,10000p,200000b,50000s
</home/refik/.texmf-var/font
s/pk/ljfour/jknappen/ec/ectt1200.600pk> </home/refik/.texmf-var/fonts/pk/ljfour
/jknappen/ec/ecrm0600.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen/e
-c/ecrm0800.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecti1200.
-600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecrm0900.600pk> </ho
+c/ecrm0800.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecrm0900.
+600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecti1200.600pk> </ho
me/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecsx1200.600pk> </home/refik/.t
exmf-var/fonts/pk/ljfour/jknappen/ec/ecrm1095.600pk> </home/refik/.texmf-var/fo
nts/pk/ljfour/jknappen/ec/ecsx1095.600pk> </home/refik/.texmf-var/fonts/pk/ljfo
@@ -371,9 +378,9 @@ ur/jknappen/ec/ecsx1440.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen
0.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecrm1728.600pk></u
sr/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/te
xmf-texlive/fonts/type1/public/amsfonts/cm/cmsy9.pfb>
-Output written on test.pdf (19 pages, 608509 bytes).
+Output written on test.pdf (20 pages, 667102 bytes).
PDF statistics:
- 587 PDF objects out of 1000 (max. 8388607)
+ 612 PDF objects out of 1000 (max. 8388607)
0 named destinations out of 1000 (max. 500000)
- 36 words of extra memory for PDF output out of 10000 (max. 10000000)
+ 46 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 e3b9cf9..4a4dcd9 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 25f0271..8998141 100644
--- a/notFinishedCode/Report/test.tex
+++ b/notFinishedCode/Report/test.tex
@@ -105,15 +105,31 @@ Gradually we implemented a bit-by-bit of the final software. Every single step w
\section{Requirements} % chapter 2
\newpage
\section{Database design}
-How we designed our database and why, explain in this section!
+How we designed our database and why, explain in this section! Our database of choice was MySQL b
\newpage
\section{Software design} % section 2.1
\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 backtrace 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.
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[width=100mm]{dbClass.png}
+ \caption[]{Class diagram for the dbClass}
+\end{figure}
+The method names are self-explanatory and do not require extra explanations. All the outputs produced by the class can be found on the project wiki page \cite{wiki}.
\subsection{Controlling the cell phones}
Our first version of the developed program code for controlling the cell phones used predefined timed values
to send commands instead of using a state controlled approach to confirm that every command was successfuly received and executed by the cell phone.
It meant we had to make an enormous number of assumptions. In comparison to our second approach, to build a state controlled cell phone control class,
our first approach was inferior and slower. The state controlled method connected two cell phones, on the same base station, up to 15 times faster than timed approach.
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[width=80mm]{serialPort.png}
+ \caption[]{GSM class diagram for controlling the cell phones}
+\end{figure}
+One can easyly apply the the class just by correctly defining the parameters: port address, baud rate and timeout. The former two are self-explanatory and the timeout parameter is used to define when the alarm function should raise a timeout exception.
+A timeout exception gets raised when the cell phone does not respond (i.e. when the cell phone enters a deadlock or delayed state.) We had used the serial port library inside of Python although we use USB cables to connect to our cell phones. One should
+be aware that our USB cables create a virtual serial port. More details on class design and an example can be found on our project wiki \cite{wiki}.
\subsection{subsection}
\newpage
\section{Hardware design}
@@ -146,7 +162,9 @@ The first one, Siemens M45, had a cable supplied with it and it was not difficul
At the start we did not have a cable supplied for the Siemens S55 phone. We controlled it over the Bluetooth port.
\subsection{Cables for the cell phones}
-
+Due to the fact that we had used 5 cell phones on a single computer, the best solution was to order 5 USB cables.
+Konrad bought 5 cables for 5 Siemens S55 cell phones. All of the cables have an USB2Serial chip converter inside of them.
+Once they were plugged into the USB port, Ubuntu automatically recognized the cables and it created properly virtual ports.
\clearpage
\section{Communication protocol}
@@ -430,9 +448,11 @@ If one of the fields is red it means the subsystem is not online or cannot be se
%bibliography start
\begin{thebibliography}{9}
-\bibitem{site1} H. Simpson, \emph{Proof of the Riemann
-Hypothesis}, preprint (2003), available at
-\url{http://www.math.drofnats.edu/riemann.ps}.
+\bibitem{mysqlManual} \emph{MySQLdb User's Guide}, accessed on 05.06.2011, available at \\
+\url{http://mysql-python.sourceforge.net/MySQLdb.html}.
+
+\bibitem{wiki} \emph{[2011] GSM Selftest - Wiki - Lehrstuhl f\"{u}r Kommunikationssysteme}, accessed on 20.09.2011, available at \\
+\url{http://lab.ks.uni-freiburg.de/projects/gsm-selftest/wiki}.
\bibitem{sshTunnel} R. Natarajan, \emph{3 Steps to perform SSH login without password using ssh-keygen \& ssh-copy-id}, accessed on 18.08.2011, available at
\url{http://goo.gl/fX68N}.
diff --git a/notFinishedCode/Report/test.tex.backup b/notFinishedCode/Report/test.tex.backup
index 28acb38..edabdf7 100644
--- a/notFinishedCode/Report/test.tex.backup
+++ b/notFinishedCode/Report/test.tex.backup
@@ -105,16 +105,29 @@ Gradually we implemented a bit-by-bit of the final software. Every single step w
\section{Requirements} % chapter 2
\newpage
\section{Database design}
-How we designed our database and why, explain in this section!
+How we designed our database and why, explain in this section! Our database of choice was MySQL b
\newpage
\section{Software design} % section 2.1
\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 backtrace 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.
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[width=100mm]{dbClass.png}
+ \caption[]{Class diagram for the dbClass}
+\end{figure}
+The method names are self-explanatory and do not require extra explanations. All the outputs produced by the class can be found on the project wiki page \cite{wiki}.
\subsection{Controlling the cell phones}
Our first version of the developed program code for controlling the cell phones used predefined timed values
to send commands instead of using a state controlled approach to confirm that every command was successfuly received and executed by the cell phone.
It meant we had to make an enormous number of assumptions. In comparison to our second approach, to build a state controlled cell phone control class,
our first approach was inferior and slower. The state controlled method connected two cell phones, on the same base station, up to 15 times faster than timed approach.
-\subsection{}
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[width=80mm]{serialPort.png}
+ \caption[]{GSM class diagram for controlling the cell phones}
+\end{figure}
+\subsection{subsection}
\newpage
\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.
@@ -132,10 +145,10 @@ It has been equipped with a minimum set of features to allow the
user to experience the power of the OMAP3530 and is not intended as a full development
platform as many of the features and interfaces supplied by the OMAP3530 are not
accessible from the BeagleBoard'' \cite{beagleDataSheet}.
-We run on it a special precompiled version of Ubuntu for the ARM processor type.
+We run on it a special precompiled version of Ubuntu for the ARM processor type. The Linux system boots up from an SD Card.
The board has an USB hub and network port attached to it. In our project it is connected to our
internal university LAN network and to a cell phone. We positioned the two BeagleBoards in rooms where
-we had LAN access and GSM signal coverage of our two local base stations.
+we had LAN access and GSM signal coverage of our two local base stations.
\subsection{Cell phones}
Our first attempt was to control a Nokia cell phone 3310 with the supplied USB connection cable.
@@ -150,27 +163,28 @@ At the start we did not have a cable supplied for the Siemens S55 phone. We cont
\clearpage
\section{Communication protocol}
-
+\subsection{Hanlder side}
\begin{figure}[ht!]
\centering
- \includegraphics[width=140mm]{protocolCommunicationHandler.png}
+ \includegraphics[width=130mm]{protocolCommunicationHandler.png}
\caption[]{Flowchart of the protocol, on the handler side}
\end{figure}
\begin{figure}[ht!]
\centering
- \includegraphics[width=140mm]{protocolCommunicationcControllerReceiver.png}
+ \includegraphics[width=130mm]{protocolCommunicationcControllerReceiver.png}
\caption[]{Flowchart of the protocol, on the controller side for the caller}
\end{figure}
\begin{figure}[ht!]
\centering
- \includegraphics[width=140mm]{protocolCommunicationcControllerCaller.png}
+ \includegraphics[width=130mm]{protocolCommunicationcControllerCaller.png}
\caption[]{Flowchart of the protocol, on the controller side for the receiver}
\end{figure}
+\subsection{Verification of the protocol}
+The verification results are listed here:
\begin{lstlisting}
-
(Spin Version 6.1.0 -- 2 May 2011)
+ Partial Order Reduction
Full statespace search for:
@@ -178,7 +192,7 @@ Full statespace search for:
assertion violations +
cycle checks - (disabled by -DSAFETY)
invalid end states +
-State-vector 44 byte, depth reached 65, ••• errors: 0 •••
+State-vector 44 byte, depth reached 65, errors: 0
40 states, stored
3 states, matched
43 transitions (= stored+matched)
@@ -192,7 +206,6 @@ unreached in proctype Server2
unreached in proctype Client
(0 of 67 states)
pan: elapsed time 0 seconds
-
\end{lstlisting}
@@ -430,9 +443,11 @@ If one of the fields is red it means the subsystem is not online or cannot be se
%bibliography start
\begin{thebibliography}{9}
-\bibitem{site1} H. Simpson, \emph{Proof of the Riemann
-Hypothesis}, preprint (2003), available at
-\url{http://www.math.drofnats.edu/riemann.ps}.
+\bibitem{mysqlManual} \emph{MySQLdb User's Guide}, accessed on 05.06.2011, available at \\
+\url{http://mysql-python.sourceforge.net/MySQLdb.html}.
+
+\bibitem{wiki} \emph{[2011] GSM Selftest - Wiki - Lehrstuhl f\"{u}r Kommunikationssysteme}, accessed on 20.09.2011, available at \\
+\url{http://lab.ks.uni-freiburg.de/projects/gsm-selftest/wiki}.
\bibitem{sshTunnel} R. Natarajan, \emph{3 Steps to perform SSH login without password using ssh-keygen \& ssh-copy-id}, accessed on 18.08.2011, available at
\url{http://goo.gl/fX68N}.
@@ -441,7 +456,7 @@ Hypothesis}, preprint (2003), available at
\url{http://www.tc.umn.edu/~brams006/selfsign.html}.
\bibitem{pChart} \emph{pChart}, accessed on 15.08.2011, available at
-\url{http://http://www.pchart.net/}.
+\url{http://www.pchart.net/}.
\bibitem{beagleDataSheet} \emph{BeagleBoard System Reference Manual}, accessed on 20.06.2011, available at
\url{http://beagleboard.org/static/BBSRM_latest.pdf}.
diff --git a/notFinishedCode/Report/test.tex~ b/notFinishedCode/Report/test.tex~
index 25f0271..c6742ce 100644
--- a/notFinishedCode/Report/test.tex~
+++ b/notFinishedCode/Report/test.tex~
@@ -105,15 +105,31 @@ Gradually we implemented a bit-by-bit of the final software. Every single step w
\section{Requirements} % chapter 2
\newpage
\section{Database design}
-How we designed our database and why, explain in this section!
+How we designed our database and why, explain in this section! Our database of choice was MySQL b
\newpage
\section{Software design} % section 2.1
\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 backtrace 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.
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[width=100mm]{dbClass.png}
+ \caption[]{Class diagram for the dbClass}
+\end{figure}
+The method names are self-explanatory and do not require extra explanations. All the outputs produced by the class can be found on the project wiki page \cite{wiki}.
\subsection{Controlling the cell phones}
Our first version of the developed program code for controlling the cell phones used predefined timed values
to send commands instead of using a state controlled approach to confirm that every command was successfuly received and executed by the cell phone.
It meant we had to make an enormous number of assumptions. In comparison to our second approach, to build a state controlled cell phone control class,
our first approach was inferior and slower. The state controlled method connected two cell phones, on the same base station, up to 15 times faster than timed approach.
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[width=80mm]{serialPort.png}
+ \caption[]{GSM class diagram for controlling the cell phones}
+\end{figure}
+One can easyly apply the the class just by correctly defining the parameters: port address, baud rate and timeout. The former two are self-explanatory and the timeout parameter is used to define when the alarm function should raise a timeout exception.
+A timeout exception gets raised when the cell phone does not respond (i.e. when the cell phone enters a deadlock or delayed state.) We had used the serial port library inside of Python although we use USB cables to connect to our cell phones. One should
+be aware that our USB cables create a virtual serial port. More details on class design and an example can be found on our project wiki \cite{wiki}.
\subsection{subsection}
\newpage
\section{Hardware design}
@@ -146,7 +162,8 @@ The first one, Siemens M45, had a cable supplied with it and it was not difficul
At the start we did not have a cable supplied for the Siemens S55 phone. We controlled it over the Bluetooth port.
\subsection{Cables for the cell phones}
-
+Due to the fact that we had used 5 cell phones on a single computer, the best solution was to buy 5 USB cables.
+Konrad ordered 5 cables for 5 Siemens S55 cell phones.
\clearpage
\section{Communication protocol}
@@ -430,9 +447,11 @@ If one of the fields is red it means the subsystem is not online or cannot be se
%bibliography start
\begin{thebibliography}{9}
-\bibitem{site1} H. Simpson, \emph{Proof of the Riemann
-Hypothesis}, preprint (2003), available at
-\url{http://www.math.drofnats.edu/riemann.ps}.
+\bibitem{mysqlManual} \emph{MySQLdb User's Guide}, accessed on 05.06.2011, available at \\
+\url{http://mysql-python.sourceforge.net/MySQLdb.html}.
+
+\bibitem{wiki} \emph{[2011] GSM Selftest - Wiki - Lehrstuhl f\"{u}r Kommunikationssysteme}, accessed on 20.09.2011, available at \\
+\url{http://lab.ks.uni-freiburg.de/projects/gsm-selftest/wiki}.
\bibitem{sshTunnel} R. Natarajan, \emph{3 Steps to perform SSH login without password using ssh-keygen \& ssh-copy-id}, accessed on 18.08.2011, available at
\url{http://goo.gl/fX68N}.
diff --git a/notFinishedCode/Report/test.toc b/notFinishedCode/Report/test.toc
index 9616a50..d1730e8 100644
--- a/notFinishedCode/Report/test.toc
+++ b/notFinishedCode/Report/test.toc
@@ -5,18 +5,18 @@
\contentsline {section}{\numberline {4}Software design}{6}
\contentsline {subsection}{\numberline {4.1}Database access}{6}
\contentsline {subsection}{\numberline {4.2}Controlling the cell phones}{6}
-\contentsline {subsection}{\numberline {4.3}subsection}{6}
-\contentsline {section}{\numberline {5}Hardware design}{7}
-\contentsline {subsection}{\numberline {5.1}BeagleBoard}{7}
-\contentsline {subsection}{\numberline {5.2}Cell phones}{8}
-\contentsline {subsection}{\numberline {5.3}Cables for the cell phones}{8}
-\contentsline {section}{\numberline {6}Communication protocol}{9}
-\contentsline {subsection}{\numberline {6.1}Hanlder side}{9}
-\contentsline {subsection}{\numberline {6.2}Verification of the protocol}{10}
-\contentsline {section}{\numberline {7}Security and safety of the system}{11}
-\contentsline {subsection}{\numberline {7.1}Encryption of the communication channels}{11}
-\contentsline {subsection}{\numberline {7.2}Security on the web site}{12}
-\contentsline {section}{\numberline {8}Web page}{16}
-\contentsline {subsection}{\numberline {8.1}Communication between the web page and the test software}{16}
-\contentsline {subsection}{\numberline {8.2}Results on the web page}{16}
-\contentsline {section}{\numberline {9}Conclusion}{18}
+\contentsline {subsection}{\numberline {4.3}subsection}{7}
+\contentsline {section}{\numberline {5}Hardware design}{8}
+\contentsline {subsection}{\numberline {5.1}BeagleBoard}{8}
+\contentsline {subsection}{\numberline {5.2}Cell phones}{9}
+\contentsline {subsection}{\numberline {5.3}Cables for the cell phones}{9}
+\contentsline {section}{\numberline {6}Communication protocol}{10}
+\contentsline {subsection}{\numberline {6.1}Hanlder side}{10}
+\contentsline {subsection}{\numberline {6.2}Verification of the protocol}{11}
+\contentsline {section}{\numberline {7}Security and safety of the system}{12}
+\contentsline {subsection}{\numberline {7.1}Encryption of the communication channels}{12}
+\contentsline {subsection}{\numberline {7.2}Security on the web site}{13}
+\contentsline {section}{\numberline {8}Web page}{17}
+\contentsline {subsection}{\numberline {8.1}Communication between the web page and the test software}{17}
+\contentsline {subsection}{\numberline {8.2}Results on the web page}{17}
+\contentsline {section}{\numberline {9}Conclusion}{19}