%&thesis
-\usepackage[xindy{encoding=utf-8},nonumberlist,acronyms]{glossaries} % Acronyms
+\usepackage[nonumberlist,acronyms]{glossaries}
\makeglossaries%
-\newacronym{sds}{SDS}{Shared Data Source}
-\newacronym{iot}{IoT}{Internet of Things}
-\newacronym{top}{TOP}{Task Oriented Programming}
+
+\newacronym{GADT}{GADT}{Generalized Algebraic Datatype}
+\newacronym{GPIO}{GPIO}{General-Purpose Input/Output}
+\newacronym{ADT}{ADT}{Algebraic Datatype}
+\newacronym{SDS}{SDS}{Shared Data Source}
+\newacronym{IoT}{IoT}{Internet of Things}
+\newacronym{TOP}{TOP}{Task Oriented Programming}
+\newacronym{EDSL}{(E)DSL}{(Embedded) Design Specific Language}
+\newacronym{RISC}{RISC}{Reduced Instruction Set Computer}
+\newacronym{ARM}{ARM}{Acorn \acrshort{RISC} Machine}
+\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 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 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{}
righttext={prof.~dr.~dr.h.c.~ir.~M.J.~Plasmeijer\\dr.~P.W.M.~Koopman}]
\listoftodos[Todo]
+\glsaddall{}
+
%Abstract
\chapter*{\centering Abstract}
\begin{quotation}
- \centering\it\noindent
+ \centering\noindent
\input{abstract.tex}
\end{quotation}
+\chapter*{\centering Acknowledgements}
+\begin{quotation}
+ \centering\it\noindent
+ \input{acknowledgements.tex}
+\end{quotation}
+
%Table of contents
\tableofcontents
-%Glossaries
-\glsaddall{}
-\printglossaries%
-
\mainmatter{}
-\chapter{Introduction}
+\glsresetall{}
+\chapter{Introduction}\label{chp:introduction}
\input{introduction.tex}
-\chapter{Methods}
-\input{methods.tex}
+\chapter{\acrlong{TOP}}\label{chp:top}
+\input{methods.top.tex}
-\chapter{Results}
-\chapter{Conclusion \& Discussion}
+\chapter{\acrlongpl{EDSL}}\label{chp:dsl}
+\input{methods.dsl.tex}
-\appendix
-\chapter{Communication protocol}
+\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}{Lists of \ldots}
+\begingroup
+\let\clearpage\relax
+\listoffigures
+\listoftables
+\lstlistoflistings{}
+\endgroup
+
+\cleardoublepage{}
+\addcontentsline{toc}{chapter}{Glossaries \& Acronyms}
+
+\begingroup
+\let\clearpage\relax
+\let\cleardoublepage\relax
+\printglossaries%
+\endgroup
+
\bibliographystyle{ieeetr}
\bibliography{thesis}
\end{document}