.
[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 number 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 \glsxtrfull{IOT} systems.
14 Within these orchestras of computers, they perform the role of interacting with the outside world using sensors and actuators.
15 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.
16 On the other hand, they are cheap, tiny, and energy efficient.
17 Programming \glsxtrshort{IOT} systems is complex because they are dynamic, interactive, distributed, collaborative, multi-user, multi-tiered, and multitasking.
18 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.
19
20 \Glsxtrfull{TOP} is a declarative programming paradigm %with roots in functional programming
21 that allows interactive collaborative workflows to be specified for the work that needs to be done.
22 From this declarative specification, a ready-for-work computer program the interoperation is generated.
23 The main building blocks of \glsxtrshort{TOP} programs are tasks, an abstract representation of work that needs to be done.
24 During execution, the current value of a task is observable and other tasks can act upon it.
25 Tasks are combined and transformed to create compound tasks, allowing the modelling of many collaboration patterns.
26 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.
27 However, it is not straightforward to run \glsxtrshort{TOP} systems on edge devices due to the severe hardware constraints.
28
29 In this dissertation I show how to orchestrate complete \glsxtrshort{IOT} systems using \glsxtrshort{TOP}.
30 First, I present advanced \glsxtrfull{DSL} embedding techniques that make the creation of a \glsxtrshort{DSL} such as \gls{MTASK} possible.
31 Then \glsxtrshort{MTASK} is shown, a \glsxtrshort{TOP} \glsxtrshort{DSL} for \glsxtrshort{IOT} edge devices.
32 \gls{MTASK} is embedded in \gls{ITASK}, a general-purpose \glsxtrshort{TOP} language mostly used to program interactive web applications.
33 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.
34 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.
35 Consequently, many problems such as semantic friction, maintainability, robustness, interoperation safety are mitigated.
36
37 %This is a summary of 350--400 words.
38 %\end{center}
39 \end{document}