fix minor errors, split up preamble
[phd-thesis.git] / intro / intro.tex
index 6880f89..ab5a90f 100644 (file)
@@ -13,7 +13,7 @@
                \item a general introduction to the topics and research directions;
                \item a reading guide;
                \item background material on the \glsxtrlong{IOT}, \glsxtrlongpl{DSL}, \glsxtrlong{TOP}, \gls{ITASK}, and \gls{MTASK};
-               \item and a detailed overview of the scientific contributions.
+               \item and a detailed overview of the scientific contributions of this dissertation.
        \end{itemize}
 \end{chapterabstract}
 
@@ -76,7 +76,7 @@ The following sections in this prelude provide background material on the \gls{I
 \section{\texorpdfstring{\Glsxtrlong{IOT}}{Internet of things}}%
 \label{sec:back_iot}
 The \gls{IOT} is growing rapidly, and it is changing the way people and machines interact with each other and the world.
-While the term \gls{IOT} briefly gained interest around 1999 to describe the communication of \gls{RFID} devices \citep{ashton_internet_1999,ashton_that_2009}, it probably already popped up halfway the eighties in a speech by \citet{peter_t_lewis_speech_1985}:
+While the term \gls{IOT} briefly gained interest around 1999 to describe the communication of \gls{RFID} devices \citep{ashton_internet_1999,ashton_that_2009}, it probably already popped up halfway the eighties in a speech by \citet{lewis_speech_1985}:
 
 \begin{quote}
        \emph{The \glsxtrlong{IOT}, or \glsxtrshort{IOT}, is the integration of people, processes and technology with connectable devices and sensors to enable remote monitoring, status, manipulation and evaluation of trends of such devices.}
@@ -109,7 +109,7 @@ It consists of edge devices such as microcontrollers equipped with various senso
 In home automation this layer consists of all devices hosting sensors and actuators such as smart light bulbs, actuators to open doors, or temperature and humidity sensors.
 
 All layers are connected using the network layer.
-In some applications this is implemented using conventional networking techniques such as Wi-Fi or Ethernet.
+In some applications this is implemented using conventional networking techniques such as \gls{WIFI} or Ethernet.
 However, network technology that is tailored to the needs of the specific interconnection between two layers is increasingly popular.
 Examples of this are BLE, LoRa, ZigBee, and LTE-M as a communication protocol for connecting the perception layer to the application layer using \gls{IOT} transport protocols such as \gls{MQTT}.
 Protocols such as HTTP, AJAX, and WebSocket connecting the presentation layer to the application layer that are designed for the use in web applications.
@@ -244,6 +244,7 @@ The individual components in the miniature systems, the tasks, the \glspl{SDS},
 \subsection{The \texorpdfstring{\gls{ITASK}}{iTask} system}
 The concept of \gls{TOP} originated from the \gls{ITASK} framework, a declarative language and \gls{TOP} engine for defining interactive multi-user distributed web applications.
 The \gls{ITASK} system is implemented as an \gls{EDSL} in the programming language \gls{CLEAN}\footnote{\Cref{chp:clean_for_haskell_programmers} contains a guide for \gls{CLEAN} tailored to \gls{HASKELL} programmers.} \citep{plasmeijer_itasks:_2007,plasmeijer_task-oriented_2012}.
+It has been under development for over fifteen years and has proven itself through use in industry for some time now as well \citep{top_software_viia_2023}.
 From the structural properties of the data types and the current status of the work to be done, the entire \gls{UI} is automatically generated.
 Browsers are powering \gls{ITASK}'s presentation layer.
 The framework is built on top of standard web techniques such as JavaScript, HTML, and {CSS}.
@@ -344,11 +345,11 @@ intBlink :: (Shared sds Int) -> Main (MTask v Int) | mtask v & ...\end{lstClean}
 \subsection{Other \texorpdfstring{\glsxtrshort{TOP}}{TOP} languages}
 While \gls{ITASK} conceived \gls{TOP}, it is no longer the only \gls{TOP} system.
 Some \gls{TOP} languages were created to fill a gap encountered in practise.
-Toppyt \citep{lijnse_toppyt_2022} is a general purpose \gls{TOP} language written in \gls{PYTHON} used to host frameworks for modelling \emph{command \& control} systems, and hTask \citep{lubbers_htask_2022}, a vessel for experimenting with asynchronous \glspl{SDS}.
+Toppyt \citep{lijnse_toppyt_2022} is a general purpose \gls{TOP} language written in \gls{PYTHON} used to host frameworks for modelling command \& control systems, and hTask \citep{lubbers_htask_2022}, a vessel for experimenting with asynchronous \glspl{SDS}.
 Furthermore, some \gls{TOP} systems arose from Master's and Bachelor's thesis projects.
 For example, \textmu{}Task \citep{piers_task-oriented_2016}, a \gls{TOP} language for modelling non-interruptible embedded systems in \gls{HASKELL}, and LTasks \citep{van_gemert_task_2022}, a \gls{TOP} language written in the dynamically typed programming language {LUA}.
 Finally, there are \gls{TOP} languages with strong academic foundations.
-\Gls{TOPHAT} is a fully formally specified \gls{TOP} language designed to capture the essence of \gls{TOP} formally \citep{steenvoorden_tophat_2019}.
+\Gls{TOPHAT} is a fully formally specified \gls{TOP} language designed to capture the essence of \gls{TOP} \citep{steenvoorden_tophat_2019}.
 Such a formal specification allows for symbolic execution, hint generation, but also the translation to \gls{ITASK} for actually performing the work \citep{steenvoorden_tophat_2022}.
 \Citeauthor{steenvoorden_tophat_2022} distinguishes two instruments for \gls{TOP}: \gls{TOP} languages and \gls{TOP} engines.
 The language is the \emph{formal} language for specifying interactive systems.
@@ -371,14 +372,14 @@ This paper-based episode contains the following papers:
                The paper also serves as a gentle introduction to, and contains a thorough literature study on \glsxtrlong{TH}.
 \end{enumerate}
 
-\paragraph{Other publications on \texorpdfstring{\glspl{EDSL}}{eDSLs}:}
-Furthermore, I co-authored a paper that is not part of the \gls{MTASK} system yet and hence not part of the dissertation.
-
-\begin{enumerate}[resume]
-       \item \emph{Strongly-Typed Multi-\kern-2.5ptView Stack-\kern-1.25ptBased Computations} \citep{koopman_strongly-typed_2022}\label{enum:stack-based} shows how to create type-safe \glspl{EDSL} representing stack-based computations.
-               Instead of encoding the arguments to a function as arguments in the host language, stack-based approaches use a run time stack that contains the arguments.
-               By encoding the required contents of the stack in the types, such systems can be made type safe.
-\end{enumerate}
+%\paragraph{Other publications on \texorpdfstring{\glspl{EDSL}}{eDSLs}:}
+%Furthermore, I co-authored a paper that is not part of the \gls{MTASK} system yet and hence not part of the dissertation.
+%
+%\begin{enumerate}[resume]
+%      \item \emph{Strongly-Typed Multi-\kern-2.5ptView Stack-\kern-1.25ptBased Computations} \citep{koopman_strongly-typed_2022}\label{enum:stack-based} shows how to create type-safe \glspl{EDSL} representing stack-based computations.
+%              Instead of encoding the arguments to a function as arguments in the host language, stack-based approaches use a run time stack that contains the arguments.
+%              By encoding the required contents of the stack in the types, such systems can be made type safe.
+%\end{enumerate}
 
 \paragraph{Contribution:}
 The papers of which I am first author are solely written by me, there were weekly meetings with co-authors in which we discussed and refined the ideas.
@@ -433,7 +434,7 @@ I extended the language, developed the byte code interpreter, the integration wi
 The papers of which I am first author are solely written by me, there were weekly meetings with the co-authors in which we discussed and refined the ideas.
 
 \subsection{\Fullref{prt:tvt}}
-\Cref{prt:tvt} is based on a journal paper that quantitatively and qualitatively compares traditional \gls{IOT} architectures with \gls{IOT} systems using \gls{TOP}.
+\Cref{prt:tvt} is based on a journal paper that quantitatively and qualitatively compares traditional \gls{IOT} architectures with \gls{TOP} \gls{IOT} architectures.
 This chapter is based on the conference paper and a journal paper extending it:
 \begin{enumerate}[resume]
        \item \emph{Tiered versus Tierless \glsxtrshort{IOT} Stacks: Comparing Smart Campus Software Architectures} \citep{lubbers_tiered_2020}\footnote{This work was partly funded by the 2019 Radboud-Glasgow Collaboration Fund.}\label{enum:iot20} compares traditional tiered programming to tierless architectures by comparing two implementations of a smart-campus application.