X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=back%2Fsummary.tex;fp=back%2Fsummary.tex;h=182ba8a2180e54b91c3ac4b827f0d3edd9856c77;hb=40c364b9de5d27b8afedcfd83d76499acc9e31af;hp=65279553df72c47e7ce71508438be01dd33af274;hpb=29cb219e56ad3b238d81be2f71205120f689375e;p=phd-thesis.git diff --git a/back/summary.tex b/back/summary.tex index 6527955..182ba8a 100644 --- a/back/summary.tex +++ b/back/summary.tex @@ -4,22 +4,24 @@ \begin{document} \input{subfileprefixsmall} -\chapter{Summary}% +\ifSubfilesClassLoaded{\chapter*{Summary}}{\chapter{Summary}}% \label{chp:summary}% \glsresetall% %\begin{center} %\noindent% -The number of computers around us is growing exponentially, thus increasing the complexity of the systems in which they operate as well. +The number of computers around us is growing exponentially, thus increasing the complexity of the systems in which they operate. Many of these computers are \emph{edge devices} operating in \gls{IOT} systems. Within these orchestras of computers, they interact with their environment using sensors and actuators. -Edge devices usually use cheap microcontrollers designed for embedded applications, and therefore have little memory, unhurried processors, no \gls{OS}, and slow communication but are tiny and energy efficient. -Programming \gls{IOT} systems is complex since they are dynamic, interactive, distributed, collaborative, multi-tiered, and multitasking. +Edge devices often use cheap microcontrollers designed for embedded applications. +They, therefore, have little memory, unhurried processors, and slow communication but are tiny and energy efficient. +Programming \gls{IOT} systems is complex due to their dynamic, interactive, distributed, collaborative, multi-tiered, and multitasking nature. This is impeded even more by semantic friction that arises through different hardware and software characteristics between the tiers. -A solution is found in \gls{TOP}, a declarative programming paradigm. +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 task's current value, is observable and other tasks can act upon it. -Tasks can be combined and transformed to create compound tasks, allowing the modelling of many collaboration patterns. +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. An example of a \gls{TOP} system is \gls{ITASK}, a language for describing interactive web applications. Programming edge devices would benefit from \gls{TOP} as well. @@ -29,14 +31,15 @@ This dissertation shows how to orchestrate complete \gls{IOT} systems using \gls % First, I present advanced \gls{DSL} embedding techniques. Then \gls{MTASK} is shown, a \gls{TOP} \gls{DSL} for \gls{IOT} edge devices, embedded in \gls{ITASK}. -Tasks are constructed and compiled at run time to allow tasks to be tailor-made for the work that needs to be done. +Tasks are constructed and compiled at run time. +This allows tasks to be tailor-made for the work that needs to be done. The compiled task is sent to the device for interpretation. For a device to be used in an \gls{MTASK} system, it needs to be programmed once with a lightweight domain-specific \gls{OS}. -This \gls{OS} executes tasks in an energy efficient way and automates all communication and data sharing. +This \gls{OS} executes tasks in an energy-efficient way and automates all communication 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, paradigm, high abstraction level, and type system. -The dissertation concludes with a comparison between tierless programming and traditional tiered programming. -We show that many problems such as semantic friction, maintainability, robustness, and interoperation safety are mitigated when using tierless programming. +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 shows that many problems such as semantic friction, maintainability, robustness, and interoperation safety are mitigated when using tierless programming. %This is a summary of 350--400 words. %\end{center} \end{document}