4d629dde5d680330ab8ec93850411a1f3680ab19
[phd-thesis.git] / thesis.tex
1 \documentclass[twoside,10pt]{book}
2
3 \def\mytitle{Orchestrating the Internet of Things\texorpdfstring{\\}{ }with Task-Oriented Programming}
4 \def\mysubtitle{a purely functional rhapsody}
5 \def\myauthor{Mart Lubbers}
6 \def\mydate{\formatdate{1}{2}{2023}}
7
8 \input{preamble}
9
10 % To show hboxes even when in non-draft mode
11 %\overfullrule=1pt
12 %\showboxdepth=\maxdimen%
13 %\showboxbreadth=\maxdimen%
14 % \showboxdepth=5
15 % \showboxbreadth=5
16 \setlength{\overfullrule}{20pt}
17
18 % Just for the todonotes, can go when it's finished
19 \usepackage{todonotes}
20 \setuptodonotes{
21 backgroundcolor=white,
22 linecolor=black,
23 % size=tiny,
24 }
25
26 % Document info
27 \title{\mytitle\texorpdfstring{\\[2ex]}{---}\smaller\mysubtitle}
28 \author{Mart Lubbers}
29 \date{\mydate}
30
31 \begin{document}
32 \selectlanguage{british}
33
34 \frontmatter%
35 \frontmatterfancy%
36
37 %Titlepage
38 \hypertarget{titlepage}{}
39 \bookmark[level=section,dest=titlepage]{Titlepage}
40 \subfile{front/titlepage}
41 \newpage%
42
43 % Epigraph/motto
44 \hypertarget{motto}{}
45 \bookmark[level=section,dest=motto]{Motto}
46 \subfile{front/motto}
47
48 % Table of contents
49 \setcounter{tocdepth}{1}
50 \hypertarget{contents}{}
51 \bookmark[level=section,dest=contents]{Contents}
52 \tableofcontents
53 \newpage%
54
55 % Dedication
56 \hypertarget{dedication}{}
57 \bookmark[level=section,dest=dedication]{Dedication}
58 \subfile{front/dedication}
59
60 % Reset glossary and thus the acronyms
61 \glsresetall{}
62
63 % The actual document
64 \mainmatter%
65 \mainmatterfancy%
66 \setcounter{chapter}{-1}
67
68 % Introduction
69 \subfile{intro/intro}
70
71 \part[\'Etude --- Domain-Specific Languages]{\'Etude\\[2ex]\smaller{}Domain-Specific Languages}%
72 \label{prt:dsl}
73 \subfile{dsl/class} % Deep embedding with class
74 \subfile{dsl/first} % First-class data types
75
76 \part[\hspace{-8.28992pt}Orchestrating the Internet of Things using Task-Oriented Programming]{\\[2ex]\smaller{}Orchestrating the Internet of Things using Task-Oriented Programming}%
77 \label{prt:top}
78 \subfile{top/4iot} % TOP for the IoT
79 \subfile{top/lang} % mTask DSL
80 \subfile{top/imp} % Implementation
81 \subfile{top/int} % Integration with iTask
82 \subfile{top/green} % Green computing
83 \subfile{top/finale} % Conclusion
84
85 \part[Tiered versus Tierless Programming]{\\[2ex]\smaller{}Tiered versus Tierless Programming}%
86 \label{prt:tvt}
87 \subfile{tvt/tvt} % Could Tierless Languages Reduce IoT Development Grief?
88
89 % Conclusion
90 \bookmarksetup{startatroot} % descend back out of the previous part
91 \addtocontents{toc}{\bigskip}% Insert some whitespace to make the TOC better
92 \subfile{concl/concl}
93
94 % Start appendix
95 \appendix%
96 \label{chp:appendix}
97 \addcontentsline{toc}{part}{Appendix}
98
99 \subfile{appx/c4hp}
100 \subfile{appx/mtask_aux}
101 \subfile{appx/bytecode}
102
103 \backmatter%
104 \backmatterfancy%
105 \bookmarksetup{startatroot} % descend back out of the appendix
106
107 % Bibliography
108 \phantomsection{}%
109 \label{chp:bibliography}
110 \addcontentsline{toc}{chapter}{Bibliography}
111 \bibliography{other,self,tiot}
112
113 % Summary
114 \subfile{back/summary}
115
116 % Samenvatting
117 \subfile{back/samenvatting}
118
119 % Acknowledgements
120 \subfile{back/acknowledgements}
121
122 % Research data management
123 \subfile{back/research_data_management}
124
125 % Curriculum vitæ
126 \subfile{back/curriculum_vitae}
127
128 % Glossary
129 \printglossary[style=mcolindex]%
130 \printglossary[type=\acronymtype,style=mcolindex]%
131
132 %% Lists of
133 %\cleardoublepage{}
134 %\phantomsection{}%
135 %\label{chp:listsof...}
136 %\addcontentsline{toc}{chapter}{Lists of \ldots}
137 %\begingroup
138 %\let\clearpage\relax
139 %\let\cleardoublepage\relax
140 %\listoffigures%
141 %\listoftables%
142 %\listofalgorithms%
143 %\lstlistoflistings%
144 %\endgroup
145
146 % Index
147 %\addcontentsline{toc}{chapter}{Index}%
148 %\label{chp:index}
149 %\printindex
150
151 \end{document}