manuscript
[phd-thesis.git] / back / samenvatting.tex
index b8bb97f..577103a 100644 (file)
@@ -4,39 +4,35 @@
 
 \begin{document}
 \input{subfileprefixsmall}
-\chapter{Samenvatting}%
+\begin{otherlanguage}{dutch}
+\ifSubfilesClassLoaded{\chapter*{Samenvatting}}{\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.
+Het ontwikkelen van betrouwbare software voor Internet of Things (\IOT{}) systemen is moeilijk omdat ze dynamisch, interactief, gedistribueerd, samenwerkend, meerlaags en multitasking zijn.
+Ook draagt de semantische wrijving voorkomend uit de grote verscheidenheid aan hard- en software karakteristieken tussen de lagen bij aan dit probleem.
+Veel van deze computers zijn \emph{randcomputers} die onderdeel zijn van het \IOT{}.
+Randcomputers bestaan vaak uit goedkope microcontrollers, ontworpen voor geïntegreerde systemen, en ze interacteren met de buitenwereld door sensoren en actuatoren.
+Enerzijds hebben ze weinig geheugen, langzame rekenkernen en trage communicatie.
+Anderzijds zijn ze klein en hoogst energie-efficiënt.
 
-\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.
+Taakgeörienteerd programmeren (TOP) is geschikt om met de uitdagingen van \IOT{} systemen om te gaan.
+In TOP zijn abstracte representaties van werk, de taken, de bouwstenen.
+Tijdens het uitvoeren van een taak kan de huidige waarde geobserveerd worden en hierop kunnen andere taken reageren.
+Door taken te combineren of te transformeren kunnen samenwerkingsvormen uitgedrukt worden.
+Van deze beschrijving wordt een computersysteem gegenereerd dat gebruikers begeleidt in het uitvoeren van het werk.
+Randcomputers hebben ook baat bij TOP, al is niet eenvoudig om TOP-systemen erop in te zetten.
 
-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.
+Deze dissertatie laat zien hoe gehele \IOT{}-systemen georkestreerd kunnen worden met {TOP}.
+Gebruik makend van techniek kunnen alle lagen van een \IOT{}-systeem en hun samenwerking uitgedrukt worden in één hoog abstractieniveau, programmeertaal, paradigma en typesysteem.
+Allereerst laat ik enkele technieken zien om ingebedde domein-specifieke talen te maken.
+Daarna beschrijf ik mTask, een TOP-systeem voor randcomputers ingebed in iTask.
+Taken worden tijdens het uitvoeren opgebouwd, waardoor ze afgestemd kunnen worden op de huidige werkeisen.
+Vervolgens worden ze naar het apparaat gestuurd ter interpretatie.
+Na eenmalig uitgerust te worden met het domeinspecifieke besturingssysteem is een randcomputer geschikt voor mTask.
+Dit stuurprogramma voert de ontvangen taken energiezuinig uit en automatiseert tevens alle communicatie en dataverwerking.
+Alle aspecten van het mTask-systeem worden beschreven: voorbeeldprogramma's, taalontwerp, implementatiedetails, integratie met iTask en de energiezuinige functionaliteit.
 
-%\end{center}
-\selectlanguage{british}
+Het laagloos programmeren van \IOT{} systemen wordt ook vergeleken met traditioneel gelaagd programmeren.
+Laagloos programmeren leidt tot minder code en minder programmeertalen.
+Door het gebruik van één paradigma en een systeembreed typesysteem verlaagt laagloos programmeren de semantische wrijving, onderhouds- en robuustheidsproblematiek en moeizame onderlinge samenwerking.
+\end{otherlanguage}
 \end{document}