2 \usepackage[nonumberlist,acronyms
]{glossaries
}
5 \newacronym{GADT
}{GADT
}{Generalized Algebraic Datatype
}
6 \newacronym{GPIO
}{GPIO
}{General-Purpose Input/Output
}
7 \newacronym{ADT
}{ADT
}{Algebraic Datatype
}
8 \newacronym{SDS
}{SDS
}{Shared Data Source
}
9 \newacronym{IoT
}{IoT
}{Internet of Things
}
10 \newacronym{TOP
}{TOP
}{Task Oriented Programming
}
11 \newacronym{EDSL
}{(E)DSL
}{(Embedded) Design Specific Language
}
12 \newacronym{RISC
}{RISC
}{Reduced Instruction Set Computer
}
13 \newacronym{ARM
}{ARM
}{Acorn
\acrshort{RISC
} Machine
}
14 \newacronym{LTN
}{LTN
}{Low Throughput Network
}
15 \newacronym{IDE
}{IDE
}{Integrated Development Environment
}
16 \newacronym{TCP
}{TCP
}{Transmission Control Protocol
}
17 \newacronym{RFID
}{RFID
}{Radio-Frequency Identification
}
18 \newacronym{GPS
}{GPS
}{Global Positioning System
}
19 \newacronym{RTOS
}{RTOS
}{Real-Time Operating System
}
20 \newglossaryentry{Arduino
}{name=Arduino,
21 description=
{is a cheap and popular microcontroller that is widely used for
23 \newglossaryentry{Clean
}{name=Clean,
24 description=
{is a staticly typed pure lazy functional programming language based on graph
26 \newglossaryentry{Haskell
}{name=Haskell,
27 description=
{is a staticly typed pure lazy functional programming language
}}
28 \newglossaryentry{iTasks
}{name=iTasks,
29 description=
{is a
\acrshort{TOP
} implementation written as a
\acrshort{EDSL
}
30 in the
\gls{Clean
} programming language
}}
31 \newglossaryentry{Ivory
}{name=Ivory,
32 description=
{is a type-safe
\gls{EDSL
} designed to generate
\gls{C
}-code
33 for high-assurance low-level systems
}}
34 \newglossaryentry{Tower
}{name=Tower,
35 description=
{is a type-safe
\gls{EDSL
} similar to
\gls{Ivory
} designed to
36 generate code for
\acrlong{RTOS
}}}
37 \newglossaryentry{Task
}{name=Task,
38 description=
{is the basic building block of a
\acrshort{TOP
} system
}}
39 \newglossaryentry{mTask
}{name=mTask,
40 description=
{is an abstraction for
\glspl{Task
} living on
\acrshort{IoT
} devices
}}
41 \newglossaryentry{C
}{name=C,
42 description=
{is low-level imperative programming language suitable for
44 \newglossaryentry{C++
}{name=C++,
45 description=
{is low-level imperative and object-oriented programming
46 language suitable for embedded devices based on
\gls{C
}}}
47 \newglossaryentry{SAPL
}{name=SAPL,
48 description=
{is an intermediate purely functional programming language
}}
49 \newglossaryentry{Firmata
}{name=Firmata,
50 description=
{is standardized protocol for communicating with
52 \newglossaryentry{Javascript
}{name=Javascript,
53 description=
{is an imperative programming language designed to run in web
62 course=
{Master Thesis
},
63 institute=
{Radboud University Nijmegen
},
64 authorstext=
{Author:
},
65 righttextheader=
{Supervisors:
},
66 righttext=
{prof.~dr.~dr.h.c.~ir.~M.J.~Plasmeijer\
\dr.~P.W.M.~Koopman
}]
72 \chapter*
{\centering Abstract
}
78 \chapter*
{\centering Acknowledgements
}
80 \centering\it\noindent
81 \input{acknowledgements.tex
}
89 \chapter{Introduction
}\label{chp:introduction
}
90 \input{introduction.tex
}
92 \chapter{\acrlong{TOP
}}\label{chp:top
}
93 \input{methods.top.tex
}
95 \chapter{\acrlongpl{EDSL
}}\label{chp:dsl
}
96 \input{methods.dsl.tex
}
98 \chapter{mTask
}\label{chp:mtask
}
99 \input{methods.mtask.tex
}
101 \chapter{Architecture
}\label{chp:arch
}
102 \input{results.arch.tex
}
104 \chapter{mTask continued
}\label{chp:mtaskcont
}
105 \input{results.mtask.tex
}
107 \chapter{Conclusion \& Discussion
}\label{chp:conclusion
}
108 \input{conclusion.tex
}
110 \appendix\label{chp:appendix
}
112 \chapter{Planning
}\label{app:planning
}
113 \input{appendix-planning.tex
}
115 \chapter{Communication protocol
}\label{app:communication-protocol
}
116 \input{appendix-protocol.tex
}
118 \chapter{Device client interface
}\label{app:device-interface
}
119 \input{appendix-device-interface.tex
}
123 \addcontentsline{toc
}{chapter
}{Lists of
\ldots}
132 \addcontentsline{toc
}{chapter
}{Glossaries \& Acronyms
}
136 \let\cleardoublepage\relax
140 \bibliographystyle{ieeetr
}
141 \bibliography{thesis
}