Proofreading of final report. Fix minor gramattical mistakes only.
[matches/MCTX3420.git] / reports / final / chapters / Results.tex
1 \chapter{Conclusions and Recommendations}\label{Conclusions and Recommendations}
2
3 This report has described the work of the software team on the MCTX3420 pressurised can project during Semester 2, 2013 at UWA.
4 In summary, we have succeeded in the following goals:
5
6 \begin{enumerate}
7         \item Design and implementation of a multithreaded process for providing continuous control over real hardware in response to intermittent user actions (Section \ref{Server Program}, \ref{Hardware Interfacing})
8         \item Design and implementation of a configuration allowing this process to interface with the \emph{nginx} HTTP server (Sections \ref{Server/Client Communication}, \ref{BeagleBone Configuration})
9         \item Use of image processing both for streaming images through the API and for use as a dilatometer (Section \ref{Image Processing})
10         \item Design and implementation of a API using the HTTP protocol to allow a client process to supply user commands to the system (Section \ref{Server/Client Communication})
11         \item Design and implementation of the client process using a web browser based GUI that requires no additional software to be installed on the client PC (Section \ref{Server/Client Communication}, \ref{Human Computer Interaction and the Graphical User Interface})
12         \item Design and implementation of several alternative authentication mechanisms for the system which can be integrated with different user management solutions (Section \ref{Authentication Mechanisms})
13         \item Design and implementation of image streaming and image processing for use with a dilatometer (Section \ref{Image Processing})
14         \item Partial design and implementation of a system for managing the datafiles of different users (Section \ref{API})
15         \item Partial design and implementation of a user management system in PHP based upon UserCake (Sections \ref{Authentication Mechanisms}, \ref{Cookies})
16         \item Integration and partial testing of the software with the overall MCTX3420 2013 Exploding Cans project involving extensive collaboration with a class of over 30 students (All sections)
17 \end{enumerate}
18
19 We make the following general recommendations for further development of the system software (with more specific recommendations discussed in the relevant sections):
20 \begin{enumerate}
21         \item That the current software is built upon, rather than redesigned from scratch. The software can be adapted to run on a Raspberry Pi, or even a GNU/Linux laptop if required.
22         \item That more detailed testing and debugging of several aspects of the software are required; in particular:
23         \begin{enumerate}
24                 \item The software should be tested for memory leaks by running for an extended time period
25                 \item Any alternative image processing algorithms should be tested independently of the main system and then integrated after it is certain that no memory errors remain
26         \end{enumerate}
27         \item That work is continued on documenting all aspects of the system.
28         \item That the GitHub Issues page\cite{github_issues} is used to identify and solve future issues and/or bugs
29         \item That members of the 2013 software team are contacted if further explanation of any aspect of the software is needed.
30 \end{enumerate}
31
32 We would also like to make the following recommendations with regard to system hardware:
33 \begin{enumerate}
34         \item Care is given to protecting the BeagleBone from electrical faults (e.g.: overloading or underloading the ADC/GPIO pins, a power surge overloading the supply voltage)
35         \item A mechanism (possibly employing a high value capacitor) is included to allow a loss of power to be detected and the BeagleBone shut down safely
36 \end{enumerate}
37
38
39

UCC git Repository :: git.ucc.asn.au