-There are at least 13.4 billion devices connected to the internet at the time of writing\footnote{\url{https://transformainsights.com/research/tam/market}, accessed on: \formatdate{13}{10}{2022}}.
-Each and every one of those devices senses, acts, or otherwise interacts with people, other computers, and the environment surrounding us.
-Even though there is a substantial variety among these devices, they all have one thing in common: they are all computers and hence require software to operate.
-
-An increasing amount of these connected devices are so-called \emph{edge devices} that operate in the \gls{IOT}.
-Typically, these edge devices are powered by microcontrollers.
-These miniature computers contain integrated circuits accommodating a microprocessor designed for use in embedded applications.
-Typical edge devices are therefore tiny in size; have little memory; contain a slow, but energy-efficient processor; and allow for a lot of connectivity to connect peripherals such as sensors and actuators in order to interact with their surroundings.
-%
-%\begin{figure}[ht]
-% \centering
-% \includegraphics[width=.4\linewidth]{esp}
-% \caption{A typical ESP32 microcontroller prototyping board.}%
-% \label{fig:esp_prototype}
-%\end{figure}
-
-Programming and maintaining \gls{IOT} systems is a complex and error-prone process.
-An \gls{IOT} programmer has to program each device and their interoperation using different programming paradigms, programming languages, and abstraction levels resulting in semantic friction.
-
-This thesis describes the research carried out around orchestrating these complex \gls{IOT} systems using \gls{TOP}.
-\Gls{TOP} is an innovative tierless programming paradigm for interactive multi-tier systems.
-By utilising advanced compiler technologies, much of the internals, communication, and interoperation of the applications is automatically generated.
-From a single declarative specification of the work that needs to be done, the compiler makes a ready-for-work application.
-For example, the \gls{TOP} system \gls{ITASK} can be used to program all layers of a multi-user distributed web applications from a single source specification.
-Unfortunately, because the abstraction level is so high, the hardware requirements are too excessive for \gls{TOP} systems such as \gls{ITASK} to be suitable for the average \gls{IOT} edge device.
-
-This is where \glspl{DSL} are brought into play.
-\Glspl{DSL} are programming languages created with a specific domain in mind.
-Consequently, jargon does not have to be expressed in the language itself, but they can be built-in features.
-As a result, the hardware requirements can be drastically lower, even with high levels of abstraction for the specified domain.
-
-To incorporate the plethora of edge devices in the orchestra of an \gls{IOT} system, the \gls{MTASK} system is used.
-\Gls{MTASK} is a novel programming language for programming \gls{IOT} edge devices using \gls{TOP}.
-Where \gls{ITASK} abstracts away from the gritty details of multi-tier web applications, \gls{MTASK} has domain-specific abstractions for \gls{IOT} edge devices, maintaining the high abstraction level that \gls{TOP} generally offers.
+This dissertation is about orchestrating \gls{IOT} systems safely and efficiently.
+There are at least 13.4 billion devices connected to the internet at the time of writing \citep{transforma_insights_current_2023}.
+Each of these devices sense, act, or otherwise, interact with people, computers, and the environment.
+Despite their immense diversity, they are all computers and they all require software to operate.
+
+An increasing number of these connected devices are so-called edge devices that operate in the \gls{IOT}.
+Edge devices are the leaves of the \gls{IOT} systems.
+They perform the interaction with the physical world.
+It is not uncommon for edge devices to be physically embedded in the fabric itself.
+Typically, they reside in hard-to-reach places such as light bulbs, clothing, smart electricity meters, buildings, or even farm animals.
+The majority of edge devices are powered by microcontrollers.
+Microcontrollers are equipped with a lot of connectivity for integrating peripherals such as sensors and actuators.
+The connectivity makes them very suitable to interact with their surroundings.
+These miniature computers contain integrated circuits that accommodate a microprocessor designed for use in embedded applications.
+As a consequence, microcontrollers are cheap, tiny, have little memory, and contain a slow, but energy-efficient processor.
+
+When coordinating an orchestra of edge devices, there is room for little error.
+Edge devices come and go, perform their own pieces, or are sometimes instructed to perform a certain piece, they might even operate without a central authority.
+In a traditional setting, an \gls{IOT} engineer has to program each device and their interoperation using different programming paradigms, programming languages, and abstraction levels.
+This results in semantic friction, which makes programming and maintaining \gls{IOT} systems a complex and error-prone process.
+
+This dissertation describes the research carried out around orchestrating these complex \gls{IOT} systems using \gls{TOP}.
+\Gls{TOP} is an innovative tierless programming paradigm for interactive multi-layered systems.
+By utilising advanced compiler technologies, much of the internals, communication, and interoperation between the tiers or layers of the applications are automatically generated.
+The compiler generates an application controlling all interconnected components from a single declarative specification of the required work.
+For example, the \gls{TOP} system \gls{ITASK} is used to program all layers of multi-user distributed web applications from a single source specification.
+It is implemented in the general-purpose lazy functional programming language \gls{CLEAN}, and therefore requires relatively powerful hardware.
+The inflated hardware requirements are no problem for regular computers but impractical for the average edge device.
+
+This is where an additional \glspl{DSL} must play its part.
+\Glspl{DSL} are programming languages tailored to a specific domain.
+Consequently, jargon is not expressed in terms of the language itself, but is built into the language.
+Furthermore, the \gls{DSL} can eschew language or system features that are irrelevant for the domain.
+Using \glspl{DSL}, hardware requirements can be drastically lowered, even while maintaining a high abstraction level for the specified domain.
+
+To incorporate the plethora of edge devices in the orchestra of a \gls{TOP} system, the \gls{MTASK} system is used.
+The \gls{MTASK} language is a novel programming language for programming \gls{IOT} edge devices using \gls{TOP}.
+Where \gls{ITASK} abstracts away from the gritty details of multi-tier web applications, \gls{MTASK} has domain-specific abstractions for \gls{IOT} edge devices, maintaining the high abstraction level that \gls{TOP} offers.