process rinus' comments
[phd-thesis.git] / top / 4iot.tex
index b864f14..435a8c5 100644 (file)
@@ -188,7 +188,9 @@ void loop() {
 }\end{lstArduino}
 
 \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.
+In \gls{MTASK}, expressions are eagerly evaluated in an interpreter and tasks are executed by small-step rewrite rules.
+In between these rewrite steps, other tasks are be executed and communication is handled.
+Consequently, and in contrast to \gls{ARDUINO}, the \cleaninline{delay} task in \gls{MTASK} does not block the execution.
 It has no observable value until the target waiting time has passed, and is thence \emph{stable}.
 As there is no global state, the function is parametrised with the current status, the pin to blink and the waiting time.
 With a parallel combinator, tasks are executed at the same time.
@@ -218,8 +220,11 @@ Microcontrollers have significantly different characteristics to regular compute
 Programming them happens through compiled firmwares using low-level imperative programming languages.
 Due to the lack of an \gls{OS}, writing applications that perform multiple tasks at the same time is error-prone, becomes complex, and requires a lot of boilerplate such as manual scheduling code.
 With the \gls{MTASK} system, a \gls{TOP} programming language for \gls{IOT} edge devices, this limitation can be overcome.
-Since much domain-specific knowledge is built into the language and \gls{RTS}, the hardware requirements can be kept relatively low while maintaining a high abstraction level.
+Since a lot domain-specific knowledge is built into the language and \gls{RTS}, the hardware requirements can be kept relatively low while maintaining a high abstraction level.
 Furthermore, the programs are automatically integrated with \gls{ITASK}, a \gls{TOP} system for creating interactive distributed web applications, allowing for data sharing, task coordination, and dynamic construction of tasks.
+\todo[inline]{
+This makes it easy to create interactive applications modelling collaboration between end-users and edge devices.
+}
 
 The following chapters of this monograph thoroughly introduce all aspects of the \gls{MTASK} system.
 First the language setup and interface are shown in \cref{chp:mtask_dsl}.