updates
[phd-thesis.git] / back / summary.tex
index 1345118..6527955 100644 (file)
@@ -4,34 +4,39 @@
 
 \begin{document}
 \input{subfileprefixsmall}
-\chapter*{Summary}%
-\label{chp:summary}
+\chapter{Summary}%
+\label{chp:summary}%
+\glsresetall%
 %\begin{center}
-\noindent%
-The amount of computers around us is growing exponentially.
-With it, the systems in which they operate are becoming increasingly complex.
-Many of these computers are so called \emph{edge devices}, operating in \gls{IOT} systems.
-Within these orchestras of computers, they perform the role of interacting with the outside world.
-These specialised computers are often powered by microcontrollers and therefore have little memory, small processors, and slow communication.
-On the other hand, they are designed for embedded systems and hence cheap, tiny, energy efficient, and is easily equipped with various sensors and actuators.
-Not only are \gls{IOT} systems dynamic, interactive, distributed, collaborative, multi-user, and multitasking.
-Also, the orchestra of computers has vastly different hardware and software characteristics, causing semantic friction, making programming such systems classically complex.
+%\noindent%
+The number of computers around us is growing exponentially, thus increasing the complexity of the systems in which they operate as well.
+Many of these computers are \emph{edge devices} operating in \gls{IOT} systems.
+Within these orchestras of computers, they interact with their environment using sensors and actuators.
+Edge devices usually use cheap microcontrollers designed for embedded applications, and therefore have little memory, unhurried processors, no \gls{OS}, and slow communication but are tiny and energy efficient.
+Programming \gls{IOT} systems is complex since they are dynamic, interactive, distributed, collaborative, multi-tiered, and multitasking.
+This is impeded even more by semantic friction that arises through different hardware and software characteristics between the tiers.
 
-\Gls{TOP} is a declarative programming paradigm with roots in functional programming that allows high-level interactive collaborative workflows to be specified for the work that needs to be done.
-From this specification, a ready-for-work computer program is generated supporting the user in actually performing the work.
-The main building blocks of \gls{TOP} programs are tasks, an abstract representation of work that needs to be done.
-During execution, the current value of a task is observable and other tasks can act upon it.
-Furthermore, tasks can be combined and transformed to create compound tasks, allowing the modelling of many collaboration patterns.
-Tasks running on edge devices can intuitively be built from the same \gls{TOP} concepts as the interactive collaborative applications \gls{TOP} was originally designed for, albeit with domain-specific primitives such as sensor and actuator access.
+A solution is found in \gls{TOP}, a declarative programming paradigm.
+In \gls{TOP}, the main building blocks are tasks, an abstract representation of work.
+During execution, the task's current value, is observable and other tasks can act upon it.
+Tasks can be combined and transformed to create compound tasks, allowing the modelling of many collaboration patterns.
+From this declarative description of the work, a ready-for-work computer system is generated that guides the user in doing the work.
+An example of a \gls{TOP} system is \gls{ITASK}, a language for describing interactive web applications.
+Programming edge devices would benefit from \gls{TOP} as well.
+However, it is not straightforward to run \gls{TOP} systems on resource-constrained edge devices.
 
 This dissertation shows how to orchestrate complete \gls{IOT} systems using \gls{TOP}.
-First I present advanced \gls{DSL} embedding techniques that make the creation of a \gls{DSL} such as \gls{MTASK} possible.
-Then I show \gls{MTASK}, a \gls{TOP} \gls{DSL} for \gls{IOT} edge devices.
-\Gls{MTASK} is embedded in \gls{ITASK}, a general-purpose \gls{TOP} language mostly used to program interactive web applications.
-All aspects of the \gls{MTASK} system are show: the design, implementation, integration with \gls{ITASK}, and a detailed overview of the green computing facilities.
-Using \gls{MTASK} in conjunction with \gls{ITASK}, entire \gls{IOT} systems can be programmed from a single source, in a single paradigm, and using a single high abstraction level.
-Finally, this tierless approach to \gls{IOT} systems is qualitatively and quantitatively compared to traditional tiered approaches.
-
+%
+First, I present advanced \gls{DSL} embedding techniques.
+Then \gls{MTASK} is shown, a \gls{TOP} \gls{DSL} for \gls{IOT} edge devices, embedded in \gls{ITASK}.
+Tasks are constructed and compiled at run time to allow tasks to be tailor-made for the work that needs to be done.
+The compiled task is sent to the device for interpretation.
+For a device to be used in an \gls{MTASK} system, it needs to be programmed once with a lightweight domain-specific \gls{OS}.
+This \gls{OS} executes tasks in an energy efficient way and automates all communication and data sharing.
+All aspects of the \gls{MTASK} system are shown: example applications, language design, implementation details, integration with \gls{ITASK}, and green computing facilities.
+When using \gls{MTASK} in conjunction with \gls{ITASK}, entire \gls{IOT} systems are programmed tierlessly from a single source, paradigm, high abstraction level, and type system.
+The dissertation concludes with a comparison between tierless programming and traditional tiered programming.
+We show that many problems such as semantic friction, maintainability, robustness, and interoperation safety are mitigated when using tierless programming.
 %This is a summary of 350--400 words.
 %\end{center}
 \end{document}