Many of these computers are \emph{edge devices} operating in \gls{IOT} systems.
Within these orchestrations of computers, they interact with the environment using sensors and actuators.
Edge devices often use low-cost microcontrollers designed for embedded applications.
-They have little memory, unhurried processors, and are slow in communication.
-Yet they are small and energy efficient.
+They have little memory, unhurried processors, and are slow in communication but are also small and energy efficient.
Programming \gls{IOT} systems is complex since they are dynamic, interactive, distributed, collaborative, multi-tiered, and multitasking in nature.
-This is impeded more so by semantic friction that arises through different hardware and software characteristics between tiers.
+The complexity is increased further by semantic friction that arises through different hardware and software characteristics between tiers.
A solution is found in \gls{TOP}.
%A solution is found in the declarative programming paradigm \gls{TOP}.%, a declarative programming paradigm.
In \gls{TOP}, the main building blocks are tasks, an abstract representation of work.
During execution, the current value of the task is observable, and other tasks can act upon it.
-Collaboration patterns can be modelled by combinding and transforming tasks into compound tasks.
-From this declarative description of the work, a ready-for-work computer system is generated that guides the user in doing the work.
+Collaboration patterns can be modelled by combining and transforming tasks into compound tasks.
+From this declarative description of the work, a ready-for-work computer system is generated that guides all operators in doing the work.
An example of a \gls{TOP} system is \gls{ITASK}, a language which describes interactive web applications.
-Programming edge devices would benefit from \gls{TOP} as well.
+Programming edge devices benefits from \gls{TOP} as well.
However, it is not straightforward to run \gls{TOP} systems on resource-constrained edge devices.
This dissertation demonstrates how to orchestrate complete \gls{IOT} systems using \gls{TOP}.
This \gls{OS} executes tasks in an energy-efficient way and automates all communications 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, language, paradigm, high abstraction level, and type system.
-The dissertation concludes with a comparison between tierless programming, in particular in \gls{MTASK}, and traditional tiered programming.
-It demonstrates that many problems such as semantic friction, maintainability, robustness, and interoperation safety are mitigated when using tierless programming.
+Many problems such as semantic friction; maintainability and robustness issues; and interoperation safety are mitigated when using tierless programming.
%This is a summary of 350--400 words.
%\end{center}
\end{document}