\documentclass[../thesis.tex]{subfiles}

\input{subfilepreamble}

\begin{document}
\input{subfileprefixsmall}
\chapter{Samenvatting}%
\label{chp:samenvatting}
\selectlanguage{dutch}
%\begin{center}
\noindent%
\todo{lang\-uage de\-pen\-dent ac\-ro\-nyms?}
We zien een exponentiële groei in het aantal computers om ons heen.
De systemen waarvan ze onderdeel zijn worden alras complexer.
Veel van deze computers zijn zogeheten \emph{rand apparaten} die een onderdeel uitmaken van \gls{IOT} systemen.
Deze rand apparaten in het orkest van computers zijn de oren en ogen van het systeem, ze hebben interactie met de wereld.
Meestal worden deze gespecialiseerde computers door microcontrollers en hebben ze slechts weinig geheugen, kleine processoren en langzame communicatie.
Daarentegen zijn ze speciaal ontworpen voor ingebedde systemen waardoor ze goedkoop zijn, weinig energie verbruiken en veel mogelijk hebben tot het verbinden van allerhande sensoren en actuatoren.
\Gls{IOT} systemen opereren dikwijls dynamisch, interactief en gedistribueerd.
Verder zijn ze ondersteunen ze de samenwerking van meerdere gebruikers en  en voeren ze meerdere taken tegelijkertijd uit. 
In dit orkest van computers hebben alle instrumenten grote onderlinge verschillen als het gaat om de eigenschappen van de hard- en software resulterende in zogeheten \emph{semantische wrijving}.
Dit maakt dat het programmeren van deze systemen een klassiek moeilijk probleem is.

\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.

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.
Dit is een samenvatting van 350--400 woorden.

%\end{center}
\selectlanguage{british}
\end{document}
