X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=thesis.tex;h=63d3f92b022f9ac0d4deeed21d27d15eb8272ef9;hb=4bb4ae51e1199aa618d8765b0bc429fba9055140;hp=44921a83da145b6726613b3e525b7f5915d29497;hpb=39e5c7164ac094a81343033b923ba6936106dc31;p=msc-thesis1617.git diff --git a/thesis.tex b/thesis.tex index 44921a8..63d3f92 100644 --- a/thesis.tex +++ b/thesis.tex @@ -1,143 +1,99 @@ %&thesis -\usepackage[nonumberlist,acronyms]{glossaries} -\makeglossaries% +\usepackage[nonumberlist]{glossaries} % Glossaries and acronyms +\usepackage[algochapter]{algorithm2e} % Pseudocode + +% Fix the algorithm font +\renewcommand\AlCapFnt{\normalfont} -\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}} +% Initialize the glossaries +\makeglossaries% +\input{glossaries} \begin{document} \frontmatter{} %Titlepage -\maketitleru[ - pagenr=1, - course={Master Thesis}, - institute={Radboud University Nijmegen}, - authorstext={Author:}, - righttextheader={Supervisors:}, - righttext={prof.~dr.~dr.h.c.~ir.~M.J.~Plasmeijer\\dr.~P.W.M.~Koopman}] -\listoftodos[Todo] - -\glsaddall{} +\input{titlepage} %Abstract \chapter*{\centering Abstract} +\addcontentsline{toc}{chapter}{Abstract} \begin{quotation} \centering\noindent - \input{abstract.tex} + \input{abstract} \end{quotation} +%Acknowledgements \chapter*{\centering Acknowledgements} +\addcontentsline{toc}{chapter}{Acknowledgements} \begin{quotation} \centering\it\noindent - \input{acknowledgements.tex} + \input{acknowledgements} \end{quotation} %Table of contents \tableofcontents \mainmatter{} + +%Reset glossary and thus the acronyms \glsresetall{} + \chapter{Introduction}\label{chp:introduction} -\input{introduction.tex} +\input{intro} -\chapter{\acrlong{TOP}}\label{chp:top} -\input{methods.top.tex} +\chapter{Task Oriented Programming}\label{chp:top} +\input{top} -\chapter{\acrlongpl{EDSL}}\label{chp:dsl} -\input{methods.dsl.tex} +\chapter{Embedded Domain Specific Languages}\label{chp:dsl} +\input{edsl} -\chapter{mTask}\label{chp:mtask} -\input{methods.mtask.tex} +\chapter[The mTask-EDSL]{The \gls{mTask}-\gls{EDSL}}\label{chp:mtask} +\input{mtask} -\chapter{Architecture}\label{chp:arch} -\input{results.arch.tex} +\chapter[System Overview]{System Overview}\label{chp:system} +\input{system} -\chapter{mTask continued}\label{chp:mtaskcont} -\input{results.mtask.tex} +\chapter[Extending the mTask EDSL]% + {Extending the \gls{mTask} {EDSL}}\label{chp:mtaskcont} +\input{mtaskext} -\chapter{Conclusion \& Discussion}\label{chp:conclusion} -\input{conclusion.tex} +\chapter{System Considerations \& Implementation}\label{chp:arch} +\input{arch} -\appendix\label{chp:appendix} +\chapter{Discussion \& Conclusion}\label{chp:conclusion} +\input{conclusion} -\chapter{Communication protocol}\label{app:communication-protocol} -\input{appendix-protocol.tex} +\appendix% +\label{chp:appendix} -\chapter{Device client interface}\label{app:device-interface} -\input{appendix-device-interface.tex} +\chapter{Communication Protocol}\label{app:communication-protocol} +\input{appendix-protocol} -\cleardoublepage{} +\chapter{Device Client Interface}\label{app:device-interface} +\input{appendix-device-interface} + +% Bibliography \phantomsection{} \addcontentsline{toc}{chapter}{Bibliography} \bibliographystyle{ieeetr} \bibliography{thesis} -\cleardoublepage{} -\phantomsection{} -\addcontentsline{toc}{chapter}{Lists of \ldots} -\begingroup -\let\clearpage\relax -\listoffigures -\listoftables -\lstlistoflistings{} -\endgroup +% Glossary +\addcontentsline{toc}{chapter}{Glossary} +\printglossaries% +% Lists of \cleardoublepage{} \phantomsection{} -\addcontentsline{toc}{chapter}{Glossaries \& Acronyms} +\addcontentsline{toc}{chapter}{Lists of \ldots} \begingroup \let\clearpage\relax \let\cleardoublepage\relax -\printglossaries% +\listoffigures% +\listoftables% +\listofalgorithms% +\lstlistoflistings% \endgroup \end{document}