process rinus' comments
[phd-thesis.git] / intro / intro.tex
index 8ecfbd0..e71c221 100644 (file)
@@ -245,11 +245,13 @@ Some concepts from the \gls{TOSD} model can be mapped upon the \gls{IOT} archite
 Firstly, edge devices can be seen as simple resources, thus accessed through \glspl{SDS}.
 The second view is that edge devices contain miniature \gls{TOP} systems in itself.
 The individual components in the miniature systems, the tasks, the \glspl{SDS}, are, in the eventual execution, connected to the main system.
+\todo{hier plaatje uit 6?: nee}
 
 \subsection{The 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}.
+It has been under development for over fifteen years and has proven itself through use in industry for some time now as well.
+For example, it is the main language of VIIA, an advanced application for monitoring coasts \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}.
@@ -318,6 +320,7 @@ Using \cleaninline{enterInformation}, the connection specification of the \gls{T
 The \gls{MTASK} device is connected using \cleaninline{withDevice} at \cref{lst:intro_withdevice}.
 Once connected, the \cleaninline{intBlink} task is sent to the device (\cref{lst:intro_liftmtask}) and, in parallel, a web editor is shown that updates the value of the interval \gls{SDS} (\cref{lst:intro_editor,fig:intro_blink_int}).
 To allow terminating of the task, the \gls{ITASK} task ends with a sequential operation that returns a constant value when the button is pressed, making the task stable.
+\todo{foto device+led?}
 
 \cleaninputlisting[float={!ht},firstline=10,lastline=18,numbers=left,caption={The \gls{ITASK} code for the interactive blinking application.},label={lst:intro_blink}]{lst/blink.icl}
 
@@ -365,6 +368,7 @@ This section provides a thorough overview of the relation between the scientific
 \subsection{\Fullref{prt:dsl}}
 The \gls{MTASK} system is an \gls{EDSL} and during the development of it, several novel basal techniques for embedding \glspl{DSL} in \gls{FP} languages have been found.
 This paper-based episode contains the following papers:
+\todo{papers met bibitem doen? of conferentie noemen.}
 \begin{enumerate}
        \item \emph{Deep Embedding with Class} \citep*{lubbers_deep_2022} is the basis for \cref{chp:classy_deep_embedding}.
                It shows a novel deep embedding technique for \glspl{DSL} where the resulting language is extendible both in constructs and in interpretation just using type classes and existential data types.
@@ -372,7 +376,7 @@ This paper-based episode contains the following papers:
                \Cref{sec:classy_reprise} was added after publication and contains a (yet) unpublished extension of the embedding technique for reducing the required boilerplate at the cost of requiring some advanced type system extensions.
        \item \emph{First-\kern-1ptClass Data Types in Shallow Embedded Domain-Specific Languages} \citep*{lubbers_first-class_2022}\label{enum:first-class} is the basis for \cref{chp:first-class_datatypes}.
                It shows how to inherit data types from the host language in \glspl{EDSL} using metaprogramming by providing a proof-of-concept implementation using \gls{HASKELL}'s metaprogramming system: \glsxtrlong{TH}.
-               The paper also serves as a gentle introduction to, and contains a thorough literature study on \glsxtrlong{TH}.
+               The chapter also serves as a gentle introduction to, and contains a thorough literature study on \glsxtrlong{TH}.
 \end{enumerate}
 
 %\paragraph{In preparation}
@@ -446,12 +450,11 @@ The papers of which I am first author are solely written by me, there were weekl
 
 \subsection{\Fullref{prt:tvt}}
 \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.
        \item \emph{Could Tierless Programming Reduce IoT Development Grief?} \citep*{lubbers_could_2022}
                is an extended version of paper~\ref{enum:iot20}.
                It compares programming traditional tiered architectures to tierless architectures by illustrating a qualitative and a quantitative four-way comparison of a smart-campus application.
+       \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.
 \end{enumerate}
 
 \paragraph{Contribution:}