many updates
[phd-thesis.git] / top / 4iot.tex
index 378497a..afdbb92 100644 (file)
@@ -6,7 +6,7 @@
 
 \begin{document}
 \input{subfileprefix}
-\chapter{\texorpdfstring{\Glsxtrlong{TOP} for the \glsxtrlong{IOT}}{Task-oriented programming for the internet of things}}%
+\chapter{Task-oriented programming for the internet of things}%
 \label{chp:top4iot}
 \begin{chapterabstract}
        This chapter introduces the monograph. It compares traditional edge device programming to \gls{TOP} by:
@@ -57,7 +57,7 @@ The popular \gls{ARDUINO} \ccpp{} dialect and accompanying libraries provide an
 Originally it was designed for the in-house developed open-source hardware with the same name but the setup allows porting to many architectures by vendor-provided \emph{cores}.
 It provides an \gls{IDE} and toolchain automation to easily run code with a single press of a button.
 
-\section{\texorpdfstring{\Glsxtrshort{TOP} for the \glsxtrshort{IOT}}{TOP for the IoT}}
+\section{TOP for the IoT}
 \Gls{TOP} is a programming paradigm that allows multi-tier interactive systems to be generated from a single declarative source (see \cref{sec:back_top}).
 An example of a \gls{TOP} system is \gls{ITASK}, a general-purpose \gls{TOP} language for programming interactive distributed web applications.
 Such web applications often form the core of the top two layers of an \gls{IOT} application.
@@ -94,7 +94,7 @@ void loop() {
        delay(500);
 }\end{lstArduino}
 
-\subsection{Blinking the \texorpdfstring{\glsxtrshort{LED}}{LED} in \texorpdfstring{\gls{MTASK}}{mTask}.}
+\subsection{Blinking the LED in mTask}
 Naively translating the traditional blink program to \gls{MTASK} can be done by simply substituting some syntax as seen in \cref{lst:blinkImp}.
 E.g.\ \arduinoinline{digitalWrite} becomes \cleaninline{writeD}, literals are prefixed with \cleaninline{lit}, and \arduinoinline{pinMode} becomes \arduinoinline{declarePin}.
 In contrast to the imperative \gls{CPP} dialect, \gls{MTASK} is a \gls{TOP} language and therefore there is no such thing as a loop, only task combinators to combine tasks.
@@ -183,7 +183,7 @@ void loop() {
        blink(D3, 800, &led3, &st1);
 }\end{lstArduino}
 
-\subsection{Multitasking in \texorpdfstring{\gls{MTASK}}{mTask}}
+\subsection{Multitasking in mTask}
 In contrast to the \arduinoinline{delay} function in \gls{ARDUINO}, \gls{MTASK}'s \cleaninline{delay} \emph{task} does not block the execution.
 It has no observable value until the target waiting time has passed, and thence is \emph{stable}.
 To make code reuse possible and make the implementation more intuitive, the blinking behaviour is lifted to a recursive function as well instead of using the imperatively looking \cleaninline{rpeat} task combinator.
@@ -219,8 +219,8 @@ Furthermore, the programs are automatically integrated with \gls{ITASK}, allowin
 
 The following chapters thoroughly introduce all aspects of the \gls{MTASK} system.
 First the language setup and interface is shown in \cref{chp:mtask_dsl}.
-Then, \cref{chp:implementation} provides the implementation of the \gls{DSL}, the compilation schemes, instruction set and details on the interpreter.
 \Cref{chp:integration_with_itask} shows the integration of \gls{MTASK} and \gls{ITASK}.
+Then, \cref{chp:implementation} provides the implementation of the \gls{DSL}, the compilation schemes, instruction set and details on the interpreter.
 \Cref{chp:green_computing_mtask} explains all green computing aspects of \gls{MTASK}, i.e.\ task scheduling and processor interrupts.
 Finally, \cref{chp:finale} concludes and shows related work together with a short history of \gls{MTASK}.