start with outline and fill in some data
authorMart Lubbers <mart@martlubbers.net>
Tue, 18 May 2021 14:25:45 +0000 (16:25 +0200)
committerMart Lubbers <mart@martlubbers.net>
Tue, 18 May 2021 14:25:45 +0000 (16:25 +0200)
13 files changed:
.latexmkrc
curriculum_vitae.tex
dsl.tex [new file with mode: 0644]
example.tex [deleted file]
glossaries.tex
introduction.tex [new file with mode: 0644]
iot.tex [new file with mode: 0644]
preamble.tex
research_data_management.tex
thesis.bib
thesis.tex
titlepage.tex
top.tex [new file with mode: 0644]

index 89ffd60..05037d2 100644 (file)
@@ -18,6 +18,15 @@ push @generated_exts, 'brf';
 # Clean thumbs file
 push @generated_exts, 'tmb';
 
+# Clean todo file
+push @generated_exts, 'tdo';
+
+# Clean list of listings file
+push @generated_exts, 'lol';
+
+# Clean list of algorithms file
+push @generated_exts, 'loa';
+
 # Clean bbl file as well
 $bibtex_use = 2;
 
index e69de29..5d38ea1 100644 (file)
@@ -0,0 +1,15 @@
+Mart Lubbers
+
+\vspace{1\baselineskip}
+
+\begin{tabular}{rp{.75\linewidth}}
+       1992         & Born on the 27th of May, Oldenzaal\\
+       2004{--}2011 & VWO at the Twents Carmelcollege De Thij, Oldenzaal\\
+       2011{--}2015 & Bachelor's Degree Artificial Intelligence at the Radboud University, Nijmegen\\
+       2013{--}2015 & Research Assistant at the Max Planck Institute for Psycholinguistics\\
+       2015{--}2017 & Master's Degree Computing Science (Software Science track) at the Radboud University, Nijmegen\\
+       2015{--}2017 & Entrepeneur as IT Lubbers, Nijmegen\\
+       2017         & Researcher at the Netherlands Defense Academy, Den Helder in the faculty of Military Sciences (fMIL).\\
+       2018         & Researcher at the Radboud University, Nijmegen in the Institute for Computing and Information Sciences (iCIS).\\
+       2018{--}2023 & PhD Candidate at the Radboud University, Nijmegen in the Institute for Computing and Information Sciences (iCIS).
+\end{tabular}
diff --git a/dsl.tex b/dsl.tex
new file mode 100644 (file)
index 0000000..29749f2
--- /dev/null
+++ b/dsl.tex
@@ -0,0 +1,8 @@
+\chapter{Tagless final embedding}
+Dit kan ook een section zijn in de volgende chapter, maar toch lijkt het mij nuttig.
+
+\chapter{Class based deed embedding}
+Pearl
+
+\chapter{The \gls{MTASK} language}
+RWDSL paper
diff --git a/example.tex b/example.tex
deleted file mode 100644 (file)
index 4239efd..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: indexTest\index{indexTest}.
-
-Glossary: \gls{glossaryTest}.
-
-Acronym: \gls{acronymTest} and \gls{acronymTest}.
-
-Cite: cite~\cite{citeTest}.
-
-\lipsum{}
-
-\lipsum{}
-
-\lipsum{}
index 424c665..35dc916 100644 (file)
@@ -1,8 +1,15 @@
 % Acronyms
-\newacronym{acronymTest}{ACR}{Acronym}
+\newacronym{IOT}{IoT}{internet of things}
+\newacronym{DSL}{DSL}{domain specific language}
+\newacronym{EDSL}{eDSL}{embedded \acrshort{DSL}}
+\newacronym{TOP}{TOP}{task oriented programming}
 
 % Glossaries
-\newglossaryentry{glossaryTest}{%
-       name=test,
-       description={is a test glossary.},
+\newglossaryentry{MTASK}{%
+       name=mTask,
+       description={is a \acrshort{TOP} \acrshort{EDSL} for microcontrollers integrated with the \gls{ITASK} system.},
+}
+\newglossaryentry{ITASK}{%
+       name=iTask,
+       description={is a \acrshort{TOP} \acrshort{EDSL} for creating distributed multi-user collaborative web applications.},
 }
diff --git a/introduction.tex b/introduction.tex
new file mode 100644 (file)
index 0000000..26973d0
--- /dev/null
@@ -0,0 +1,26 @@
+\section{Background}
+\subsection{\Acrlong{IOT}}
+The \gls{IOT} is \ldots
+
+\subsection{Functional programming}
+Functional programming is \ldots
+
+\subsection{\Acrlong{TOP}}
+\Gls{TOP} is \ldots
+
+\subsection{\Acrlongpl{DSL}}
+\Glspl{DSL} are \ldots
+
+\section{Thesis Outline}
+
+Chapters 0 and 0 are based on the paper \emph{A Task-Based \acrshort{DSL} for Microcomputers}~\cite{koopman_task-based_2018}.
+
+Chapters 0 and 0 are based on the Master's thesis and paper \emph{\glst{TOP} and the \glst{IOT}}~\cite{lubbers_task_2017,lubbers_task_2018}.
+
+Chapters 0 and 0 are based on the paper \emph{Multitasking on Microcontrollers using \glst{TOP}}~\cite{lubbers_multitasking_2019}.
+
+Chapters 0 and 0 are based on the paper \emph{Tiered versus Tierless \acrshort{IOT} Stacks: Comparing Smart Campus Software Architectures}~\cite{lubbers_tiered_2020}.
+
+Chapters 0 and 0 are based on the paper \emph{Interpreting \glst{TOP} Programs on Tiny Computers}~\cite{lubbers_interpreting_2019}.
+
+Chapters 0 and 0 are based on the paper \emph{Writing \glst{IOT} applications with \glst{TOP}}~\cite{lubbers_writing_2019}.
diff --git a/iot.tex b/iot.tex
new file mode 100644 (file)
index 0000000..1d8d03d
--- /dev/null
+++ b/iot.tex
@@ -0,0 +1,9 @@
+\chapter{\acrshort{TOP} versus traditional \acrshort{IOT} architectures}
+IOT2020 paper met Glasgow.
+
+TOPLAS paper met Glasgow.
+
+\chapter{Rapid prototyping and modelling naval scenaries using \acrshort{TOP} and \acrshort{IOT}}
+Arjan's werk NLARMS?
+
+
index 5c88b98..49722c2 100644 (file)
@@ -1,4 +1,6 @@
-\usepackage[
+% Papersize
+\usepackage{geometry}
+\geometry{
        inner=25mm,
        outer=20mm,
        marginparsep=3mm,
@@ -6,47 +8,67 @@
        top=25mm,
        bottom=20mm,
        paperwidth=17cm,
-       paperheight=24cm]{geometry}               % Papersize
-
-\usepackage[british]{babel}                   % Internationalization
-\usepackage[titletoc]{appendix}               % Appendices
-\usepackage[pagebackref,hidelinks]{hyperref}  % Hyperlinks
-\usepackage{graphicx}                         % Graphics
-\usepackage{booktabs}                         % Better looking tables
-\usepackage{etoolbox}                         % Patch chapter command
-\usepackage[nodayofweek]{datetime}            % Use a fixed document date
-\usepackage{listings}                         % Code
-\usepackage[acronym,nonumberlist]{glossaries} % Glossaries and acronyms
-\usepackage[algochapter]{algorithm2e}         % Pseudocode
-\usepackage{makeidx}                          % Index
-\usepackage[inline,shortlabels]{enumitem}     % Customized enumerations
-\setlist{noitemsep}
-\setlist[description]{leftmargin=\parindent}
-\usepackage{epigraph}
+       paperheight=24cm,
+}
 
-\usepackage[
-       height={1.5cm},
-       width={12mm},
-       distance={1.55cm},
-       topthumbmargin={auto},
-       bottomthumbmargin={auto},
-       eventxtindent={.5cm},
-       oddtxtexdent={.3cm}]{thumbs}
+% Font encoding
+\usepackage[T1]{fontenc}
 
-\usepackage{lipsum}
+% Internationalisation
+\usepackage[british]{babel}
 
-\usepackage{fancyhdr}
-\pagestyle{fancy}
+% Appendices
+% TODO is this necessary?
+\usepackage[titletoc]{appendix}
 
-% Have better page numbering in chapters
-\patchcmd{\chapter}{plain}{headings}{}{}
+% Hyperlinks
+\usepackage{hyperref}
+% Setup pdf parameters: TODO
+\hypersetup{%
+       pdftitle={},
+       pdfauthor={M. Lubbers},
+       pdfsubject={},
+%      pdfcreator={},
+%      pdfproducer={},
+       pdfkeywords={},
+       pagebackref,
+       hidelinks,
+}
 
+% Graphics
+\usepackage{graphicx}
 % Images directory
 \graphicspath{{img/}}
 
+% Nice tables
+\usepackage{booktabs}
+
+% Automatically wrapping tables
+\usepackage{tabularx}
+
+% Use a fixed document date
+\usepackage[nodayofweek]{datetime}
+
+% Code
+\usepackage{listings}
+% General listings settings
+\lstset{%
+       breakatwhitespace=false,
+       breaklines=true,
+       captionpos=b,
+       keepspaces=true,
+       basicstyle=\ttfamily\fontseries{l}\footnotesize,
+       commentstyle=\slshape\fontseries{m},
+       keywordstyle=\bfseries\fontseries{b},
+       stringstyle=\ttfamily,
+       showspaces=false,
+       showstringspaces=false,
+       showtabs=false,
+       tabsize=4,
+       frame=L,
+}
 % Fix list of listings title
 \renewcommand{\lstlistlistingname}{List of Listings}
-
 % Fix list of listings chapter separator
 \makeatletter
 \let\my@chapter\@chapter%
   \my@chapter}
 \makeatother
 
-% Setup pdf parameters
-\hypersetup{%
-       pdftitle={},
-       pdfauthor={},
-       pdfsubject={},
-       pdfcreator={},
-       pdfproducer={},
-       pdfkeywords={},
-}
-
+% Glossaries and acronyms
+\usepackage[acronym,nonumberlist]{glossaries}
 % Fix gls in hyperlink errors
 \pdfstringdefDisableCommands{%
        \def\acrlong#1{}%
        \def\glspl#1{}%
        \def\Gls#1{}%
        \def\Glspl#1{}%
+       \def\titlecap#1{}%
 }
 
-% General listings settings
-\lstset{%
-       breakatwhitespace=false,
-       breaklines=true,
-       captionpos=b,
-       keepspaces=true,
-       basicstyle=\ttfamily\fontseries{l}\footnotesize,
-       commentstyle=\slshape\fontseries{m},
-       keywordstyle=\bfseries\fontseries{b},
-       stringstyle=\ttfamily,
-       showspaces=false,
-       showstringspaces=false,
-       showtabs=false,
-       tabsize=4,
-       frame=L,
-}
-
-% Increase the depth for the table of contenst
-\setcounter{secnumdepth}{3}
+% Titlecase commands
+\usepackage{titlecaps}
+\Addlcwords{of}
+% Titlecase glossary command
+\newcommand{\glst}[1]{\titlecap{\glsentrylong{#1}}}
+\newcommand{\Glst}[1]{\glst{#1}}
 
+% Pseudocode
+\usepackage[algochapter]{algorithm2e}
 % Fix the algorithm font
 \renewcommand\AlCapFnt{\normalfont}
 
+% Index
+\usepackage{makeidx}
+% Enable the index
+\makeindex%
+
+% Custom enumerations
+\usepackage[inline,shortlabels]{enumitem}
+\setlist{noitemsep}
+\setlist[description]{leftmargin=\parindent}
+
+% Epigraph (lovecraft)
+\usepackage{epigraph}
+
+% Thumb marks on the page
+\usepackage[
+       height={1.5cm},
+       width={12mm},
+       distance={1.55cm},
+       topthumbmargin={auto},
+       bottomthumbmargin={auto},
+       eventxtindent={.5cm},
+       oddtxtexdent={.3cm}]{thumbs}
+
+% Custom headers and footers
+\usepackage{fancyhdr}
+\pagestyle{fancy}
+
+% To patch the chapter command
+\usepackage{etoolbox}
+% Have better page numbering in chapters
+\patchcmd{\chapter}{plain}{headings}{}{}
+
+% Increase the depth for the table of contents
+\setcounter{secnumdepth}{3}
 \renewcommand{\contentsname}{Table of Contents} % change the name of the TOC
 \AtBeginDocument{\addtocontents{toc}{\protect\thispagestyle{empty}}} % to remove page numbering from the TOC
 
 % Initialize the glossaries
 \makeglossaries%
 \input{glossaries}
-
-% Enable the index
-\makeindex%
index 8300588..f73175a 100644 (file)
@@ -1,8 +1,10 @@
-This thesis research has been carried out under the research data management policy of the Institute for Computing and Information Science of Radboud University, The Netherlands.\footnote{\href{https://www.ru.nl/icis/research-data-management/}{ru.nl/icis/research-data-management/}, last accessed January 20th, 2020.}
+This thesis research has been carried out under the research data management policy of the Institute for Computing and Information Science of Radboud University, The Netherlands\footnote{\href{https://www.ru.nl/icis/research-data-management/}{ru.nl/icis/research-data-management/}, last accessed \formatdate{20}{1}{2020}.}.
 
 The following research datasets have been produced during this PhD research:
 \begin{itemize}
-       \item Chapter 1: \ldots. DANS.\ \href{10.17026/dans-28m-mwht}{https://doi.org/10.17026/dans-28m-mwht}
-       \item Chapter 1: Verberne, dr.~S.\ (RU Radboud University); Vries, prof.~dr.~ir.\ A.P. de (RU Radboud University); Kraaij, prof.~dr.~ir.\ W. (RU Radboud University) (2016): Longitudinal navigation log data on the Radboud University web domain. DANS.\ \href{10.17026/dans-28m-mwht}{https://doi.org/10.17026/dans-28m-mwht}
+       \item Chapter 0: Koopman, dr.\ P.\ (Radboud University); Lubbers, M.\ (Radboud University); Plasmeijer, prof.~dr.~ir.\ R.\ (Radboud University) (2020): Source code for the mTask language. DANS.\ \href{https://doi.org/10.17026/dans-xx4-8zs9}{10.17026/dans-xx4-8zs9}
+       \item Chapter 0: Lubbers, M.\ (Radboud University); Koopman, dr.\ P.\ (Radboud University); Plasmeijer, prof.~dr.~ir.\ R.\ (Radboud University) (2020): Source code for a simplified mTask language integrated with the iTask system. DANS.\ \href{https://doi.org/10.17026/dans-xv6-fvxd}{10.17026/dans-xv6-fvxd}
+       \item Chapter 0: Lubbers, M.\ (Radboud University); Koopman, dr.\ P.\ (Radboud University); Plasmeijer, prof.~dr.~ir.\ R.\ (Radboud University) (2020): Source code for the multitasking mTask language integrated with the iTask system. DANS.\ \href{https://doi.org/10.17026/dans-x2y-rtxx}{10.17026/dans-x2y-rtxx}
+       \item Chapter 0: Lubbers, M.\ (Radboud University); Koopman, dr.\ P.\ (Radboud University); Ramsingh, A.\ (University of Glasgow); Singer, dr.\ J.\ (University of Glasgow); Trinder, prof.~dr.\ P.\ (University of Glasgow) (2021): Source code of the PRSS and CWSS applications. DANS.\ \href{https://doi.org/10.17026/dans-zvf-4p9m}{10.17026/dans-zvf-4p9m}
        \item \ldots
 \end{itemize}
index 1145a9e..8127713 100644 (file)
@@ -1,5 +1,102 @@
-@article{citeTest,
-  title={Test citation},
-  author={Some Author},
-  year={2015},
+
+@inproceedings{lubbers_multitasking_2019,
+       address = {Opatija, Croatia},
+       title = {Multitasking on {Microcontrollers} using {Task} {Oriented} {Programming}},
+       copyright = {All rights reserved},
+       shorttitle = {Multitasking on {Microcontrollers} using {TOP}},
+       doi = {10.23919/MIPRO.2019.8756711},
+       booktitle = {2019 42nd {International} {Convention} on {Information} and {Communication} {Technology}, {Electronics} and {Microelectronics} ({MIPRO})},
+       author = {Lubbers, M. and Koopman, P. and Plasmeijer, R.},
+       month = may,
+       year = {2019},
+       pages = {1587--1592},
+       file = {08756711.pdf:/home/mrl/.local/share/zotero/storage/4S44JZPK/08756711.pdf:application/pdf;mipro_2019_proceedings.pdf:/home/mrl/.local/share/zotero/storage/5FFJLMTG/mipro_2019_proceedings.pdf:application/pdf;03_4cows_5338.pdf:/home/mrl/.local/share/zotero/storage/3QJTF5HT/03_4cows_5338.pdf:application/pdf}
+}
+
+@inproceedings{lubbers_task_2018,
+       address = {Lowell, MA},
+       title = {Task {Oriented} {Programming} and the {Internet} of {Things}},
+       copyright = {All rights reserved},
+       isbn = {978-1-4503-7143-8},
+       doi = {10.1145/3310232.3310239},
+       abstract = {In the omnipresent Internet of Things (IoT), tiny devices sense and alter the environment, process information and communicate with the world. These devices have limited amounts of processing power and memory. This imposes severe restrictions on their software and communication protocols. As a result, applications are composed of parts written in various programming languages that communicate in many different ways. This impedance mismatch hampers development and maintenance. In previous work we have shown how an IoT device can be programmed by defining an embedded Domain Specific Language (eDSL). In this paper we show how IoT tasks can be seemlessly integrated with a Task Oriented Programming (TOP) server such as iTasks. It allows the specification on a high-level of abstraction of arbitrary collaborations between human beings, large systems, and now also IoT devices. The implementation is made in three steps. First, there is an interface to connect devices dynamically to an iTasks server using various communication protocols. Next, we solve the communication problem between IoT devices and the server by porting Shared Data Sources (SDSs) from TOP. As a result, data can be shared, viewed and updated from the server or IoT device. Finally, we crack the maintenance problem by switching from generating fixed code for the IoT devices to dynamically shipping code. It makes it possible to run multiple tasks on an IoT device and to decide at runtime what tasks that should be.},
+       language = {en},
+       booktitle = {Proceedings of the 30th {Symposium} on the {Implementation} and {Application} of {Functional} {Programming} {Languages}},
+       publisher = {ACM},
+       author = {Lubbers, Mart and Koopman, Pieter and Plasmeijer, Rinus},
+       year = {2018},
+       pages = {83--94},
+       file = {Lubbers et al. - 2018 - Task Oriented Programming and the Internet of Thin.pdf:/home/mrl/.local/share/zotero/storage/3E5KLI5V/Lubbers et al. - 2018 - Task Oriented Programming and the Internet of Thin.pdf:application/pdf}
+}
+
+@mastersthesis{lubbers_task_2017,
+       address = {Nijmegen},
+       title = {Task {Oriented} {Programming} and the {Internet} of {Things}},
+       copyright = {All rights reserved},
+       shorttitle = {{TOP} and the {IoT}},
+       school = {Radboud University},
+       author = {Lubbers, Mart},
+       year = {2017},
+       file = {thesis.pdf:/home/mrl/.local/share/zotero/storage/M49MWHPX/thesis.pdf:application/pdf}
+}
+
+@incollection{lubbers_writing_2019,
+       address = {Cham},
+       title = {Writing {Internet} of {Things} applications with {Task} {Oriented} {Programming}},
+       abstract = {The Internet of Things (IOT) is growing fast. In 2018, there was approximately one connected device per person on earth and the number has been growing ever since. The devices interact with the environment via different modalities at the same time using sensors and actuators making the programs parallel. Yet, writing this type of programs is difficult because the devices have little computation power and memory, the platforms are heterogeneous and the languages are low level. Task Oriented Programming (TOP) is a novel declarative programming language paradigm that is used to express coordination of work, collaboration of users and systems, the distribution of shared data and the human computer interaction. The mTask language is a specialized, yet full-fledged, multi-backend TOP language for IOT devices. With the bytecode interpretation backend and the integration with iTasks, tasks can be executed on the device dynamically. This means that —according to the current state of affairs— tasks can be tailor-made at run time, compiled to device-agnostic bytecode and shipped to the device for interpretation. Tasks sent to the device are fully integrated in iTasks to allow every form of interaction with the tasks such as observation of the task value and interaction with Shared Data Sources (SDSs). The application is —server and devices— are programmed in a single language, albeit using two embedded Domain Specific Languages (EDSLs).},
+       language = {en},
+       booktitle = {Central {European} {Functional} {Programming} {School}: 8th {Summer} {School}, {CEFP} 2019, {Budapest}, {Hungary}, {July} 17–21, 2019, {Revised} {Selected} {Papers}},
+       publisher = {Springer International Publishing},
+       author = {Lubbers, Mart and Koopman, Pieter and Plasmeijer, Rinus},
+       year = {2019},
+       pages = {51},
+       file = {Lubbers - Writing Internet of Things applications with Task .pdf:/home/mrl/.local/share/zotero/storage/ILZIBYW5/Lubbers - Writing Internet of Things applications with Task .pdf:application/pdf}
+}
+
+@inproceedings{lubbers_interpreting_2019,
+       address = {Singapore},
+       title = {Interpreting {Task} {Oriented} {Programs} on {Tiny} {Computers}},
+       copyright = {All rights reserved},
+       language = {en},
+       booktitle = {Proceedings of the 31th {Symposium} on the {Implementation} and {Application} of {Functional} {Programming} {Languages}},
+       publisher = {ACM},
+       author = {Lubbers, Mart and Koopman, Pieter and Plasmeijer, Rinus},
+       year = {2019},
+       pages = {12},
+       file = {pre-conference-proceedings.pdf:/home/mrl/.local/share/zotero/storage/E4R53TGR/pre-conference-proceedings.pdf:application/pdf;Lubbers et al. - 2020 - Interpreting Task Oriented Programs on Tiny Comput.pdf:/home/mrl/.local/share/zotero/storage/8QXYMUIX/Lubbers et al. - 2020 - Interpreting Task Oriented Programs on Tiny Comput.pdf:application/pdf}
+}
+
+@inproceedings{koopman_task-based_2018,
+       address = {Vienna, Austria},
+       title = {A {Task}-{Based} {DSL} for {Microcomputers}},
+       copyright = {All rights reserved},
+       isbn = {978-1-4503-6355-6},
+       url = {http://dl.acm.org/citation.cfm?doid=3183895.3183902},
+       doi = {10.1145/3183895.3183902},
+       abstract = {The Internet of Things, IoT, makes small connected computing devices almost omnipresent. These devices have typically very limited computing power and severe memory restrictions to make them cheap and power efficient. These devices can interact with the environment via special sensors and actuators. Since each device controls several peripherals running interleaved, the control software is quite complicated and hard to maintain. Task Oriented Programming, TOP, offers lightweight communicating threads that can inspect each other’s intermediate results. This makes it well suited for the IoT. In this paper presents a functional task-based domain specific language for these IoT devices. We show that it yields concise control programs. By restricting the datatypes and using strict evaluation these programs fit within the restrictions of microcontrollers.},
+       language = {en},
+       urldate = {2019-01-14},
+       booktitle = {Proceedings of the {Real} {World} {Domain} {Specific} {Languages} {Workshop} 2018 on   - {RWDSL2018}},
+       publisher = {ACM Press},
+       author = {Koopman, Pieter and Lubbers, Mart and Plasmeijer, Rinus},
+       year = {2018},
+       pages = {1--11},
+       file = {a4-Koopman.pdf:/home/mrl/.local/share/zotero/storage/TXZD529C/a4-Koopman.pdf:application/pdf;Koopman et al. - 2018 - A Task-Based DSL for Microcomputers.pdf:/home/mrl/.local/share/zotero/storage/9ETMTMX2/Koopman et al. - 2018 - A Task-Based DSL for Microcomputers.pdf:application/pdf}
+}
+
+@inproceedings{lubbers_tiered_2020,
+       address = {Malmö},
+       series = {{IoT} '20},
+       title = {Tiered versus {Tierless} {IoT} {Stacks}: {Comparing} {Smart} {Campus} {Software} {Architectures}},
+       isbn = {978-1-4503-8758-3},
+       url = {https://doi.org/10.1145/3410992.3411002},
+       doi = {10.1145/3410992.3411002},
+       abstract = {Internet of Things (IoT) software stacks are notoriously complex, conventionally comprising multiple tiers/components and requiring that the developer not only uses multiple programming languages, but also correctly interoperate the components. A novel alternative is to use a single tierless language with a compiler that generates the code for each component, and for their correct interoperation.We report the first ever systematic comparison of tiered and tierless IoT software architectures. The comparison is based on two implementations of a non-trivial smart campus application. PRSS has a conventional tiered Python-based architecture, and Clean Wemos Super Sensors (CWSS) has a novel tierless architecture based on Clean and the iTask and mTask embedded DSLs. An operational comparison of CWSS and PRSS demonstrates that they have equivalent functionality, and that both meet the University of Glasgow (UoG) smart campus requirements.Crucially, the tierless CWSS stack requires 70\% less code than the tiered PRSS stack. We analyse the impact of the following three main factors. (1) Tierless developers need to manage less interoperation: CWSS uses two DSLs in a single paradigm where PRSS uses five languages and three paradigms. (2) Tierless developers benefit from automatically generated, and hence correct, communication. (3) Tierless developers can exploit the powerful high-level abstractions such as Task Oriented Programming (TOP) in CWSS. A far smaller and single paradigm codebase improves software quality, dramatically reduces development time, and improves the maintainability of tierless stacks.},
+       booktitle = {Proceedings of the 10th {International} {Conference} on the {Internet} of {Things}},
+       publisher = {Association for Computing Machinery},
+       author = {Lubbers, Mart and Koopman, Pieter and Ramsingh, Adrian and Singer, Jeremy and Trinder, Phil},
+       year = {2020},
+       note = {event-place: Malmö, Sweden},
+       keywords = {domain specific languages, internet of things, network reliability, software architectures},
+       file = {Lubbers et al. - 2020 - Tiered versus Tierless IoT Stacks Comparing Smart.pdf:/home/mrl/.local/share/zotero/storage/YY3MJRZ6/Lubbers et al. - 2020 - Tiered versus Tierless IoT Stacks Comparing Smart.pdf:application/pdf}
 }
index a80f5ce..2c70e28 100644 (file)
@@ -2,28 +2,44 @@
 
 \input{preamble}
 
+% Just for the blind text, can go when it's finished
+\usepackage{lipsum}
+
+% Just for the todonotes, can go when it's finished
+\usepackage{todonotes}
+\setuptodonotes{
+       backgroundcolor=white,
+       linecolor=black,
+       size=scriptsize,
+       inline,
+}
+
 % Document info
 \title{Some title}
 \author{Some author}
 
-% If you want to fix the date: \formatdate{10}{7}{2017}}
-\date{\today}
+\date{\formatdate{1}{6}{2023}}
 
 \begin{document}
-\frontmatter{}
+\frontmatter%
 %\addtitlethumb{Frontmatter}{}{white}{gray}{pagesLTS.0}
 
 %Titlepage
 \input{titlepage}
 \newpage%
+
+% Epigraph/motto
 \input{motto}
 
 % Table of contents
 \tableofcontents
 \newpage%
 
+% Dedication
 \input{dedication}
 
+\listoftodos%
+
 % Reset glossary and thus the acronyms
 \glsresetall{}
 
 \mainmatter%
 \addthumb{Chapters}{\arabic{chapter}}{white}{gray}
 
-\chapter{Example}%
-\label{chp:example}
-\input{example}
+\chapter{Introduction}%
+\label{chp:introduction}
+\input{introduction}
+
+\part{\glst{DSL}}%
+\label{prt:dsl}
+\input{dsl}
+
+\part{\glst{TOP}}%
+\label{prt:top}
+\input{top}
+
+\part{\glst{IOT}}%
+\label{prt:iot}
+\input{iot}
 
 % Start appendix
 \appendix%
@@ -46,6 +74,7 @@
 
 \backmatter%
 \stopthumb% chktex 9
+\addtitlethumb{Backmatter}{}{white}{gray}{pagesLTS.0}
 
 % Bibliography
 \phantomsection{}%
 \bibliographystyle{plain}
 \bibliography{thesis}
 
-%% Lists of
-%\cleardoublepage{}
-%\phantomsection{}%
-%\label{chp:listsof...}
-%\addcontentsline{toc}{chapter}{Lists of \ldots}
-%\begingroup
-%\let\clearpage\relax
-%\let\cleardoublepage\relax
-%\listoffigures%
-%\listoftables%
-%\listofalgorithms%
-%\lstlistoflistings%
-%\endgroup
-
 % Abstract
 \chapter{Summary}%
 \label{chp:summary}
 \label{chp:glossaries}
 \printglossaries%
 
+% Lists of
+\cleardoublepage{}
+\phantomsection{}%
+\label{chp:listsof...}
+\addcontentsline{toc}{chapter}{Lists of \ldots}
+\begingroup
+\let\clearpage\relax
+\let\cleardoublepage\relax
+\listoffigures%
+\listoftables%
+\listofalgorithms%
+\lstlistoflistings%
+\endgroup
+
 % Index
 \addcontentsline{toc}{chapter}{Index}%
 \label{chp:index}
index 2100763..d655558 100644 (file)
@@ -3,7 +3,7 @@
        \begin{center}
            \vspace*{3.5cm}
 
-               \LARGE{\textsc{Title}}
+               \LARGE{\textsc{\glst{TOP} for the \glst{IOT}}}
 
            \vspace*{15pt}
 
@@ -11,7 +11,7 @@
 
            \vspace*{5pt}
 
-           \large{\textsc{More subtitle}}
+%          \large{\textsc{More subtitle}}
            \normalsize
 
            \vspace{2.0cm}
 
            ter verkrijging van de graad van doctor\\
            aan de Radboud Universiteit Nijmegen\\
-           op gezag van de rector magnificus prof.~dr.~J.H.J.M.~van~Krieken,\\
+           op gezag van de rector magnificus prof.~dr.~J.H.J.M.\ van\ Krieken,\\
            volgens besluit van het college van decanen\\
            in het openbaar te verdedigen
 
            \vspace{0.5cm}
 
-           op moodag 37 moocember 2020 \\
-           om 23:55 uur precies
+           op donderdag 1 juni 2023 \\
+           om 12:00 uur precies
 
            \vspace{0.5cm}
 
@@ -37,9 +37,9 @@
 
            \vspace{0.5cm}
 
-           Voornaam Achternaam\\
+           Mart Lubbers\\
 
-           geboren op 32 mei 1969 te Woonplaats, Land
+           geboren op 27 mei 1992 te Oldenzal, Nederland
        \end{center}
 \end{titlepage}
 
 \begin{itemize}[leftmargin=*]
        \item[] Promotor:
                \begin{itemize}
-                       \item[] Person Y
+                       \item[] prof.~dr.~dr.h.c.~ir.\ M.J.\ Plasmeijer
                \end{itemize}
 \end{itemize}
 
 \begin{itemize}[leftmargin=*]
        \item[] Copromotor:
                \begin{itemize}
-                       \item[] \makebox[4.2cm]{Person X\hfill} (Affiliation)
+                       \item[] dr.\ P.W.M.\ Koopman
                \end{itemize}
 \end{itemize}
 
@@ -76,7 +76,7 @@
 \begin{minipage}[b][][b]{0.8\textwidth}% adapt widths of minipages to your needs
        {
                \setlength{\parindent}{0cm}%
-               Dit onderzoek is gefinancierd door dit en dit bedrijf of deze en deze beurs.
+               This research was funded by the Royal Netherlands Navy.
        }
        
        \vspace{0.25cm}
 
                Typeset using \LaTeX\\
 
-               ISBN:~111-11-11111-11-1\\ % chktex 8
+               ISBN:111-11-11111-11-1\\ % chktex 8
 
-               Copyright \copyright{} Mart Lubbers, 2022\\
+               Copyright \copyright{} Mart Lubbers, 2023\\
 
-               \url{www.martlubbers.net}
+               \href{https://martlubbers.net}{martlubbers.net}
        }
 \end{minipage}%
 %\hypersetup{pageanchor=true}
diff --git a/top.tex b/top.tex
new file mode 100644 (file)
index 0000000..5661611
--- /dev/null
+++ b/top.tex
@@ -0,0 +1,13 @@
+\chapter{Interpreting \acrlong{TOP} programs on microcontrollers}
+IFL19 paper
+
+4COWS paper
+
+\chapter{Integrating \gls{MTASK} with \gls{ITASK}}
+IFL18 paper
+
+\chapter{Energy aware TOP programming}
+Paper van Sjoerds thesis
+
+\chapter{mTask tutorial}
+CEFP19 lecture notes. Dit evt.\ ook gecombineerd met energy aware TOP programming en CEFP22 lecture notes.