X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=top%2Ffinale.tex;h=5a6776ffa9c6b0ee6cb113815da224a48cba4614;hb=c1e9f44c6c6537823e7c84f8bfa60078c562e50f;hp=bfd691791de16712d806475f0b0d54e9d8cf9cd4;hpb=5c7ffbabc8f4fe9d21b4ab0095155ee87e32ed6e;p=phd-thesis.git diff --git a/top/finale.tex b/top/finale.tex index bfd6917..5a6776f 100644 --- a/top/finale.tex +++ b/top/finale.tex @@ -33,8 +33,7 @@ Besides the usual \gls{FP} constructs, it contains basic tasks, task combinators It integrates seamlessly into \gls{ITASK}, a \gls{TOP} system for interactive web applications. In \gls{ITASK}, abstractions are available for the gritty details of interactive web applications such as program distribution, web applications, data storage, and user management. The \gls{MTASK} system abstracts away all technicalities specific to edge devices such as communication, abstractions for sensors and actuators, interrupts and (multi) task scheduling. -When \gls{MTASK} is used together with \gls{ITASK}, all layers of the \gls{IOT} application are programmed from a single declarative specification.\todo{is this demonstrated anywhere in the thesis? -Could you point to an example (perhaps in a paper not in the thesis)} +When \gls{MTASK} is used together with \gls{ITASK}, all layers of the \gls{IOT} application are programmed from a single declarative specification (see e.g.\ \cref{sec:home_automation}). Any device equipped with the \gls{MTASK} \gls{RTS} can be used in the system and dynamically receive tasks for execution. This domain-specific \gls{OS} only is uploaded once, hence saving precious write cycles on the program memory. @@ -253,7 +252,7 @@ Recent approaches in interactive editors for programming language source code su If the editor produces correct \gls{MTASK} code by construction, much of the problems could be avoided. In the same respect, as \gls{MTASK} is a tagless-final \gls{EDSL} and uses \gls{HOAS}, the error messages are complex and larded with host language features. Much research has gone into simplifying these error messages by translating them to the \gls{DSL} domain, see for example the work by \citep{serrano_type_2018}. -De Roos briefly investigated these methods in their research internship.\todo{cite? but how} +\Citet{de_roos_2020} briefly investigated these methods in their research internship. A future directions could be to extend these findings and apply more \gls{EDSL} error message techniques on \gls{MTASK} as well. \subsection{Language features} @@ -269,7 +268,7 @@ However, it should be possible to make abstractions over an increasing number of For example, the pin mode could be made a type parameter of the \gls{GPIO} pins, or interrupt handling could be made safer by incorporating the capabilities of the devices in order to reduce run-time errors. \subsection{Scheduling} -The scheduling in \gls{MTASK} works quite well, but it is not real time.\todo{mention evaluation} +The scheduling in \gls{MTASK} works quite well, but it is not real time. There is a variant of \gls{FRP} called \gls{PFRP} that allows for real-time operation \citep{belwal_variable_2013}. Furthermore, an alternative to reducing the energy consumption by going to sleep is stepping down the processor frequency. So called \gls{DVFS} is a scheduling technique that slows down the processor in order to reach the goals as late as possible, reducing the power consumption.