X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=back%2Fsummary.tex;h=1345118702334bf0c0cebbac73f5ea19bb9095b8;hb=86d9f915656711bcf5511a7c70cbb65afd26386c;hp=38db72d5de27f343d22c02ec397ae6fa9c6e2041;hpb=0c4686b70dcb071a6537cdb52beb6bf4183334a1;p=phd-thesis.git diff --git a/back/summary.tex b/back/summary.tex index 38db72d..1345118 100644 --- a/back/summary.tex +++ b/back/summary.tex @@ -1,16 +1,37 @@ \documentclass[../thesis.tex]{subfiles} -\include{subfilepreamble} +\input{subfilepreamble} \begin{document} -\chapter{Summary}% +\input{subfileprefixsmall} +\chapter*{Summary}% \label{chp:summary} -\begin{center} - +%\begin{center} \noindent% -This is a summary of 350--400 words. +The amount of computers around us is growing exponentially. +With it, the systems in which they operate are becoming increasingly complex. +Many of these computers are so called \emph{edge devices}, operating in \gls{IOT} systems. +Within these orchestras of computers, they perform the role of interacting with the outside world. +These specialised computers are often powered by microcontrollers and therefore have little memory, small processors, and slow communication. +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. +Not only are \gls{IOT} systems dynamic, interactive, distributed, collaborative, multi-user, and multitasking. +Also, the orchestra of computers has vastly different hardware and software characteristics, causing semantic friction, making programming such systems classically complex. + +\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. +From this specification, a ready-for-work computer program is generated supporting the user in actually performing the work. +The main building blocks of \gls{TOP} programs are tasks, an abstract representation of work that needs to be done. +During execution, the current value of a task is observable and other tasks can act upon it. +Furthermore, tasks can be combined and transformed to create compound tasks, allowing the modelling of many collaboration patterns. +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. -\end{center} +This dissertation shows how to orchestrate complete \gls{IOT} systems using \gls{TOP}. +First I present advanced \gls{DSL} embedding techniques that make the creation of a \gls{DSL} such as \gls{MTASK} possible. +Then I show \gls{MTASK}, a \gls{TOP} \gls{DSL} for \gls{IOT} edge devices. +\Gls{MTASK} is embedded in \gls{ITASK}, a general-purpose \gls{TOP} language mostly used to program interactive web applications. +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. +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. +Finally, this tierless approach to \gls{IOT} systems is qualitatively and quantitatively compared to traditional tiered approaches. -\input{subfilepostamble} +%This is a summary of 350--400 words. +%\end{center} \end{document}