From 95fa55e1568e302d72833ac8b0ed12187fb93df1 Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Mon, 26 Jun 2017 12:11:15 +0200 Subject: [PATCH] roy's comments: introduction --- glossaries.tex | 8 ++++---- introduction.tex | 24 ++++++++++++------------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/glossaries.tex b/glossaries.tex index 76a9d84..2707992 100644 --- a/glossaries.tex +++ b/glossaries.tex @@ -7,15 +7,15 @@ \newglossaryentry{Haskell}{name={\emph{Haskell}}, description={is a staticly typed pure lazy functional programming language}} \newglossaryentry{iTasks}{name=\emph{iTasks}, - description={is a \acrshort{TOP} implementation written as an - \acrshort{EDSL} in the \gls{Clean} programming language}} + description={is a \gls{TOP} implementation written as an + \gls{EDSL} in the \gls{Clean} programming language}} \newglossaryentry{Ivory}{name={\emph{Ivory}}, description={is a type-safe \gls{EDSL} designed to generate \gls{C}-code for high-assurance low-level systems}} \newglossaryentry{Task}{name=\emph{Task}, - description={is the basic building block of a \acrshort{TOP} system}} + description={is the basic building block of a \gls{TOP} system}} \newglossaryentry{mTask}{name=\emph{mTask}, - description={is an abstraction for \glspl{Task} living on \acrshort{IoT} + description={is an abstraction for \glspl{Task} living on \gls{IoT} devices. Moreover, it is the name of an \gls{EDSL}}} \newglossaryentry{C}{name=\textsc{C}, description={is low-level imperative programming language suitable for diff --git a/introduction.tex b/introduction.tex index 1c72858..83fca1e 100644 --- a/introduction.tex +++ b/introduction.tex @@ -1,5 +1,5 @@ \section{Introduction} -\Gls{IoT} technology is emerging very quickly. It offers myriads of solutions +\Gls{IoT} technology is emerging rapidly. It offers myriads of solutions and transforms the way we interact with technology. Initially the term was coined to describe \gls{RFID} devices and the @@ -8,8 +8,8 @@ all small devices that communicate with each other and the world. These devices are often equipped with sensors, \gls{GNSS}\footnote{e.g.\ the American \gls{GPS} or the Russian \gls{GLONASS}} and actuators% ~\cite{da_xu_internet_2014}. With these new technologies information -can be tracked very accurately using very little power and bandwidth. Moreover, -\gls{IoT} technology is coming into people's homes, clothes and +can be tracked accurately using little power and bandwidth. Moreover, \gls{IoT} +technology is coming into people's homes, clothes and healthcare~\cite{riazul_islam_internet_2015}. For example, for a few euros a consumer ready fitness tracker watch can be bought that tracks heartbeat and respiration levels. @@ -27,7 +27,7 @@ combinators. incident management~\cite{lijnse_top_2013}. Interfaces are automatically generated for the types of data which makes rapid development possible. \Glspl{Task} in the \gls{iTasks} system are modelled after real life workflow -tasks but the modelling is applied on a very high level. Therefore it is +tasks but the modelling is applied on a high level. Therefore it is difficult to connect \gls{iTasks}-\glspl{Task} to real world \glspl{Task} and allow them to interact. A lot of the actual tasks could be performed by small \gls{IoT} devices. Nevertheless, adding such devices to the current system is @@ -42,7 +42,7 @@ This forces a fixed logic in the device that is set at compile time. Many small \gls{IoT} devices have limited processing power but can still contain decision making. Oortgiese et al.\ lifted \gls{iTasks} from a single server model to a distributed server architecture that is also runnable on small -devices such as those powered by \acrshort{ARM}~\cite{% +devices such as those powered by \gls{ARM}~\cite{% oortgiese_distributed_2017}. However, this is limited to fairly high performance devices that are equipped with high speed communication channels. Devices in \gls{IoT} often have only \gls{LTN} communication with low bandwidth @@ -52,7 +52,7 @@ run an entire \gls{iTasks} core. \section{Problem statement} The updates to the \gls{mTask}-system~\cite{koopman_type-safe_nodate} will bridge this gap by introducing a new communication protocol, device application -and \glspl{Task} synchronizing the formers. The system can run on devices as +and \glspl{Task} synchronizing the two. The system can run on devices as small as \gls{Arduino} microcontrollers~\cite{noauthor_arduino_nodate} and operates via the same paradigms and patterns as regular \glspl{Task} in the \gls{TOP} paradigm. Devices in the \gls{mTask}-system can run small imperative @@ -111,7 +111,7 @@ https://leventerkok.github.io/hArduino}). [Accessed: 23-May-2017].}. \Gls{Clean} has a history of interpretation and there is a lot of research happening on the intermediate language \gls{SAPL}. \Gls{SAPL} is a purely functional intermediate language that has interpreters written in -\gls{C++}~\cite{jansen_efficient_2007} and \gls{Javascript}% +\gls{C++}~\cite{jansen_efficient_2007}, \gls{Javascript}% ~\cite{domoszlai_implementing_2011} and \gls{Clean} and \gls{Haskell} compiler backends~\cite{domoszlai_compiling_2012}. However, interpreting the resulting code is still heap-heavy and therefore not directly suitable for devices with @@ -122,11 +122,11 @@ microcontroller then would have to be reprogrammed every time a new \gls{Task} is sent to the device. \Glspl{EDSL} have often been used to generate \gls{C} code for microcontroller -environments. For starters, this work is built upon the \gls{mTask}-\gls{EDSL} -that generates \gls{C} code to run a \gls{TOP}-like system on microcontrollers% -~\cite{plasmeijer_shallow_2016}~\cite{koopman_type-safe_nodate}. -Again, this requires a reprogramming cycle every time the -\gls{Task}-specification is changed. +environments. This work uses parts of the existing \gls{mTask}-\gls{EDSL} which +generates \gls{C} code to run a \gls{TOP}-like system on microcontrollers% +~\cite{plasmeijer_shallow_2016}~\cite{koopman_type-safe_nodate}. Again, this +requires a reprogramming cycle every time the \gls{Task}-specification is +changed. Another \gls{EDSL} designed to generate low-level high-assurance programs is called \gls{Ivory} and uses \gls{Haskell} as a host language% -- 2.20.1