X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=thesis.tex;h=cd0ccd6d038085045ba28fb32b3b1ab2f713fbfe;hb=d118ff9d857683084065145df45135ef6fa06711;hp=2123c65fb29940a30771576a4310e1448feec43b;hpb=6ee111e09a76e74ba5d55492df62702a364216fd;p=msc-thesis1617.git diff --git a/thesis.tex b/thesis.tex index 2123c65..cd0ccd6 100644 --- a/thesis.tex +++ b/thesis.tex @@ -1,9 +1,64 @@ %&thesis -\usepackage[xindy={codepage=utf-8},nonumberlist,acronyms]{glossaries} % Acronyms +\usepackage[nonumberlist,acronyms]{glossaries} \makeglossaries% -\newacronym{sds}{SDS}{Shared Data Source} + +\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{} + +%Titlepage \maketitleru[ + pagenr=1, course={Master Thesis}, institute={Radboud University Nijmegen}, authorstext={Author:}, @@ -11,20 +66,76 @@ righttext={prof.~dr.~dr.h.c.~ir.~M.J.~Plasmeijer\\dr.~P.W.M.~Koopman}] \listoftodos[Todo] -\input{abstract.tex} +\glsaddall{} + +%Abstract +\chapter*{\centering Abstract} +\begin{quotation} + \centering\noindent + \input{abstract.tex} +\end{quotation} + +\chapter*{\centering Acknowledgements} +\begin{quotation} + \centering\it\noindent + \input{acknowledgements.tex} +\end{quotation} +%Table of contents \tableofcontents +\mainmatter{} +\glsresetall{} +\chapter{Introduction}\label{chp:introduction} +\input{introduction.tex} + +\chapter{\acrlong{TOP}}\label{chp:top} +\input{methods.top.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}{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% -\chapter{Introduction} -\chapter{Methods} -\chapter{Results} -\chapter{Conclusion \& Discussion} - -\begin{appendices} - \chapter{Communication protocol} - \input{appendix-protocol.tex} -\end{appendices} +\endgroup \bibliographystyle{ieeetr} \bibliography{thesis}