1345118702334bf0c0cebbac73f5ea19bb9095b8
[phd-thesis.git] / back / summary.tex
1 \documentclass[../thesis.tex]{subfiles}
2
3 \input{subfilepreamble}
4
5 \begin{document}
6 \input{subfileprefixsmall}
7 \chapter*{Summary}%
8 \label{chp:summary}
9 %\begin{center}
10 \noindent%
11 The amount of computers around us is growing exponentially.
12 With it, the systems in which they operate are becoming increasingly complex.
13 Many of these computers are so called \emph{edge devices}, operating in \gls{IOT} systems.
14 Within these orchestras of computers, they perform the role of interacting with the outside world.
15 These specialised computers are often powered by microcontrollers and therefore have little memory, small processors, and slow communication.
16 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.
17 Not only are \gls{IOT} systems dynamic, interactive, distributed, collaborative, multi-user, and multitasking.
18 Also, the orchestra of computers has vastly different hardware and software characteristics, causing semantic friction, making programming such systems classically complex.
19
20 \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.
21 From this specification, a ready-for-work computer program is generated supporting the user in actually performing the work.
22 The main building blocks of \gls{TOP} programs are tasks, an abstract representation of work that needs to be done.
23 During execution, the current value of a task is observable and other tasks can act upon it.
24 Furthermore, tasks can be combined and transformed to create compound tasks, allowing the modelling of many collaboration patterns.
25 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.
26
27 This dissertation shows how to orchestrate complete \gls{IOT} systems using \gls{TOP}.
28 First I present advanced \gls{DSL} embedding techniques that make the creation of a \gls{DSL} such as \gls{MTASK} possible.
29 Then I show \gls{MTASK}, a \gls{TOP} \gls{DSL} for \gls{IOT} edge devices.
30 \Gls{MTASK} is embedded in \gls{ITASK}, a general-purpose \gls{TOP} language mostly used to program interactive web applications.
31 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.
32 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.
33 Finally, this tierless approach to \gls{IOT} systems is qualitatively and quantitatively compared to traditional tiered approaches.
34
35 %This is a summary of 350--400 words.
36 %\end{center}
37 \end{document}