.
[phd-thesis.git] / back / summary.tex
index 1345118..96f77a9 100644 (file)
@@ -4,33 +4,35 @@
 
 \begin{document}
 \input{subfileprefixsmall}
 
 \begin{document}
 \input{subfileprefixsmall}
-\chapter*{Summary}%
-\label{chp:summary}
+\chapter{Summary}%
+\label{chp:summary}%
 %\begin{center}
 %\begin{center}
-\noindent%
-The amount of computers around us is growing exponentially.
+%\noindent%
+The number of computers around us is growing exponentially.
 With it, the systems in which they operate are becoming increasingly complex.
 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.
+Many of these computers are so called \emph{edge devices}, operating in \glsxtrfull{IOT} systems.
+Within these orchestras of computers, they perform the role of interacting with the outside world using sensors and actuators.
+These specialised computers designed for embedded applications are often powered by microcontrollers and therefore have little memory, unhurried processors, no \glsxtrshort{OS} and slow communication.
+On the other hand, they are cheap, tiny, and energy efficient.
+Programming \glsxtrshort{IOT} systems is complex because they are dynamic, interactive, distributed, collaborative, multi-user, multi-tiered, and multitasking.
+This is impeded even more due to the computers in each tier having vastly different hardware and software characteristics; using different programming languages; and operating in different abstraction levels, causing semantic friction.
 
 
-\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.
+\Glsxtrfull{TOP} is a declarative programming paradigm %with roots in functional programming
+that allows interactive collaborative workflows to be specified for the work that needs to be done.
+From this declarative specification, a ready-for-work computer program the interoperation is generated.
+The main building blocks of \glsxtrshort{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.
 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.
+Tasks are 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 \glsxtrshort{TOP} concepts as the interactive collaborative applications \glsxtrshort{TOP} was originally designed for, albeit with domain-specific primitives such as sensor and actuator access.
+However, it is not straightforward to run \glsxtrshort{TOP} systems on edge devices due to the severe hardware constraints.
 
 
-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.
+In this dissertation I show how to orchestrate complete \glsxtrshort{IOT} systems using \glsxtrshort{TOP}.
+First, I present advanced \glsxtrfull{DSL} embedding techniques that make the creation of a \glsxtrshort{DSL} such as \gls{MTASK} possible.
+Then \glsxtrshort{MTASK} is shown, a \glsxtrshort{TOP} \glsxtrshort{DSL} for \glsxtrshort{IOT} edge devices.
+\gls{MTASK} is embedded in \gls{ITASK}, a general-purpose \glsxtrshort{TOP} language mostly used to program interactive web applications.
+All aspects of the \gls{MTASK} system are shown: the design of the language, details on the implementation, the integration with \gls{ITASK}, and a detailed overview of the green computing facilities.
+Using \gls{MTASK} in conjunction with \gls{ITASK}, entire \glsxtrshort{IOT} systems are programmed from a single source, paradigm, high abstraction level, and type system.
+Consequently, many problems such as semantic friction, maintainability, robustness, interoperation safety are mitigated.
 
 %This is a summary of 350--400 words.
 %\end{center}
 
 %This is a summary of 350--400 words.
 %\end{center}