From: Mart Lubbers Date: Tue, 21 Feb 2023 15:10:44 +0000 (+0100) Subject: updates X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=382f9709a872c0dfdb86e1184d07224a47c8eff3;p=phd-thesis.git updates --- diff --git a/top/4iot.tex b/top/4iot.tex index e5399d5..9a89319 100644 --- a/top/4iot.tex +++ b/top/4iot.tex @@ -20,7 +20,7 @@ The edge layer of \gls{IOT} systems predominantly consists of microcontrollers. Microcontrollers are tiny computers designed specifically for embedded applications. -They differ significantly from regular computers in many aspects. +They differ significantly from regular computers in many aspects, and as a consequence, development for microcontrollers differs also. For example, they are much smaller; only have a fraction of the memory and processor speed; and run on different architectures. Furthermore, they have much more energy-efficient sleep modes, and support connecting and interfacing with peripherals such as sensors and actuators. To illustrate the difference in characteristics, \cref{tbl:mcu_laptop} compares the hardware properties of a typical laptop with two popular microcontrollers. @@ -212,6 +212,7 @@ blinktask = declarePin D1 PMOutput \d1-> % VimTeX: SynIgnore off \section{Conclusion and reading guide} +This chapter introduced traditional edge device programming and programming edge devices using \gls{MTASK}. The edge layer of \gls{IOT} systems is powered by microcontrollers. Microcontrollers have significantly different characteristics to regular computers. Programming them happens through compiled firmwares using low-level imperative programming languages. diff --git a/top/green.tex b/top/green.tex index 9d78a38..1670a2a 100644 --- a/top/green.tex +++ b/top/green.tex @@ -17,9 +17,9 @@ \end{itemize} \end{chapterabstract} -The edge layer of the \gls{IOT} contains small devices that sense and interact with the world. +The edge layer of the \gls{IOT} is built from energy-efficient devices that sense and interact with the world. While individual devices consume little energy, the sheer number of devices in total amounts to a lot. -Furthermore, many \gls{IOT} devices operate on batteries and higher energy consumption increases the amount of e-waste as \gls{IOT} edge devices are often hard to reach and consequently hard to replace \citep{nizetic_internet_2020}. +Furthermore, many of these devices operate on batteries and higher energy consumption increases the amount of e-waste as \gls{IOT} edge devices are often hard to reach and consequently hard to replace \citep{nizetic_internet_2020}. It is therefore crucial to lower their energy consumption. To reduce the power consumption of an \gls{IOT} edge device, the specialised low-power sleep modes of the microprocessors can be leveraged. diff --git a/top/imp.tex b/top/imp.tex index e70bc36..5d18b81 100644 --- a/top/imp.tex +++ b/top/imp.tex @@ -764,6 +764,7 @@ void print_T(void (*put)(uint8_t), struct T r, \end{lstArduino} \section{Conclusion} +This chapter showed the implementation of the \gls{MTASK} byte code compiler, the \gls{RTS}, and the internals of their communication. It is not straightforward to execute \gls{MTASK} tasks on resources-constrained \gls{IOT} edge devices. To achieve this, the terms in the \gls{DSL} are compiled to compact domain-specific byte code. This byte code is sent for interpretation to the light-weight \gls{RTS} of the edge device. diff --git a/top/int.tex b/top/int.tex index 0326c38..41e0dc7 100644 --- a/top/int.tex +++ b/top/int.tex @@ -213,7 +213,7 @@ where \end{lstClean} \section{Conclusion} -When \gls{IOT} edge devices run the \gls{MTASK} \gls{RTS}, they become little \gls{TOP} engines of their own. +This chapter explained the integration of \gls{MTASK} programs with \gls{ITASK}. Using just three \gls{ITASK} functions, \gls{MTASK} devices are integrated in \gls{ITASK} seamlessly. Devices, using any supported type of connection, are integrated in \gls{ITASK} using the \cleaninline{withDevice} function. Once connected, \gls{MTASK} tasks are sent to the device for execution using \cleaninline{liftmTask}, lifting them to full-fledged \gls{ITASK} tasks. @@ -227,7 +227,7 @@ The following section contains an elaborate example using all integration functi \vspace*{\fill} \hfill \begin{center} - \cleaninline[basewidth=.2em,columns=flexible,basicstyle=\tt\footnotesize]{let p = [['This page would be intentionally blank if I were not telling you that ']:p] in p} % chktex 10 + \cleaninline[basewidth=0pt,columns=flexible,basicstyle=\tt\footnotesize]{let p = [['This page would be intentionally blank if I were not telling you that ']:p] in p} % chktex 10 \end{center} \vspace{\fill} \newpage diff --git a/top/lang.tex b/top/lang.tex index 2dfbbaf..01e0bc1 100644 --- a/top/lang.tex +++ b/top/lang.tex @@ -681,6 +681,7 @@ The \gls{MTASK} language is based on a simply-typed $\lambda$-calculus with supp As the language is a \gls{TOP} language, it is also enriched with a task language (see \cref{sec:top}). \section{Conclusion} +This chapter gave an overview of the complete \gls{MTASK} \gls{DSL}. The \gls{MTASK} language is a rich \gls{TOP} language tailored for \gls{IOT} edge devices. The language is implemented as a class-based shallowly \gls{EDSL} in the pure functional host language \gls{CLEAN}. The language is an enriched lambda calculus as a host language. diff --git a/top/top.tex b/top/top.tex index de58f8e..ee000b0 100644 --- a/top/top.tex +++ b/top/top.tex @@ -2,10 +2,10 @@ \input{subfilepreamble} -%\let\ifSubfilesClassLoadedOld\ifSubfilesClassLoaded% -%\ifSubfilesClassLoadedOld{ -% \renewcommand{\ifSubfilesClassLoaded}[2]{#2} -%}{} +\let\ifSubfilesClassLoadedOld\ifSubfilesClassLoaded% +\ifSubfilesClassLoadedOld{ + \renewcommand{\ifSubfilesClassLoaded}[2]{#2} +}{} \begin{document} \input{subfileprefix} \part[Orchestrating the Internet of Things using Task-O\-rien\-ted Programming]{\\[2ex]\smaller{}Orchestrating the Internet of Things using Task-O\-rien\-ted Programming}% @@ -18,6 +18,6 @@ \subfile{green} % Green computing \subfile{finale} % Conclusion -%\let\ifSubfilesClassLoaded\ifSubfilesClassLoadedOld% +\let\ifSubfilesClassLoaded\ifSubfilesClassLoadedOld% \input{subfilepostamble} \end{document}