restructure appendices
[msc-thesis1617.git] / thesis.tex
index 218e2ee..44921a8 100644 (file)
@@ -1,4 +1,4 @@
-%&output/thesis
+%&thesis
 \usepackage[nonumberlist,acronyms]{glossaries}
 \makeglossaries%
 
 \newacronym{LTN}{LTN}{Low Throughput Network}
 \newacronym{IDE}{IDE}{Integrated Development Environment}
 \newacronym{TCP}{TCP}{Transmission Control Protocol}
+\newacronym{RFID}{RFID}{Radio-Frequency Identification}
+\newacronym{GPS}{GPS}{Global Positioning System}
+\newacronym{RTOS}{RTOS}{Real-Time Operating System}
+\newglossaryentry{Arduino}{name=Arduino,
+       description={is a cheap and popular microcontroller that is widely used for
+       rapid prototyping}}
 \newglossaryentry{Clean}{name=Clean,
-       description={is a pure lazy functional programming language based on graph
+       description={is a staticly typed pure lazy functional programming language based on graph
                rewriting}}
+\newglossaryentry{Haskell}{name=Haskell,
+       description={is a staticly typed pure lazy functional programming language}}
 \newglossaryentry{iTasks}{name=iTasks,
        description={is a \acrshort{TOP} implementation written as a \acrshort{EDSL}
        in the \gls{Clean} programming language}}
+\newglossaryentry{Ivory}{name=Ivory,
+       description={is a type-safe \gls{EDSL} designed to generate \gls{C}-code
+       for high-assurance low-level systems}}
+\newglossaryentry{Tower}{name=Tower,
+       description={is a type-safe \gls{EDSL} similar to \gls{Ivory} designed to
+       generate code for \acrlong{RTOS}}}
 \newglossaryentry{Task}{name=Task,
        description={is the basic building block of a \acrshort{TOP} system}}
 \newglossaryentry{mTask}{name=mTask,
        description={is an abstraction for \glspl{Task} living on \acrshort{IoT} devices}}
 \newglossaryentry{C}{name=C,
-       description={is low-level programming language suitable for embedded devices}}
+       description={is low-level imperative programming language suitable for
+       embedded devices}}
+\newglossaryentry{C++}{name=C++,
+       description={is low-level imperative and object-oriented programming
+       language suitable for embedded devices based on \gls{C}}}
+\newglossaryentry{SAPL}{name=SAPL,
+       description={is an intermediate purely functional programming language}}
+\newglossaryentry{Firmata}{name=Firmata,
+       description={is standardized protocol for communicating with
+       microcontrollers}}
+\newglossaryentry{Javascript}{name=Javascript,
+       description={is an imperative programming language designed to run in web
+       browsers}}
 
 \begin{document}
 \frontmatter{}
 \chapter{Introduction}\label{chp:introduction}
 \input{introduction.tex}
 
-\chapter{Methods}\label{chp:methods}
-\input{methods.tex}
+\chapter{\acrlong{TOP}}\label{chp:top}
+\input{methods.top.tex}
 
-\chapter{Results}\label{chp:results}
-\input{results.tex}
+\chapter{\acrlongpl{EDSL}}\label{chp:dsl}
+\input{methods.dsl.tex}
+
+\chapter{mTask}\label{chp:mtask}
+\input{methods.mtask.tex}
+
+\chapter{Architecture}\label{chp:arch}
+\input{results.arch.tex}
+
+\chapter{mTask continued}\label{chp:mtaskcont}
+\input{results.mtask.tex}
 
 \chapter{Conclusion \& Discussion}\label{chp:conclusion}
 \input{conclusion.tex}
 
 \appendix\label{chp:appendix}
 
-\chapter{Planning}\label{app:planning}
-\input{appendix-planning.tex}
-
 \chapter{Communication protocol}\label{app:communication-protocol}
 \input{appendix-protocol.tex}
 
 \chapter{Device client interface}\label{app:device-interface}
 \input{appendix-device-interface.tex}
 
+\cleardoublepage{}
+\phantomsection{}
+\addcontentsline{toc}{chapter}{Bibliography}
+\bibliographystyle{ieeetr}
+\bibliography{thesis}
+
 \cleardoublepage{}
 \phantomsection{}
 \addcontentsline{toc}{chapter}{Lists of \ldots}
 \endgroup
 
 \cleardoublepage{}
+\phantomsection{}
 \addcontentsline{toc}{chapter}{Glossaries \& Acronyms}
-
 \begingroup
 \let\clearpage\relax
 \let\cleardoublepage\relax
 \printglossaries%
 \endgroup
 
-\bibliographystyle{ieeetr}
-\bibliography{thesis}
 \end{document}