X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=back%2Fsamenvatting.tex;h=f05054486ba7bf0b2a51b04f41a627b1232876d6;hb=e38248fc07490996aee328705d7cfb1991543b7b;hp=b8bb97fa37862e58727abf0ef9b267ab4d57c4c7;hpb=86d9f915656711bcf5511a7c70cbb65afd26386c;p=phd-thesis.git diff --git a/back/samenvatting.tex b/back/samenvatting.tex index b8bb97f..f050544 100644 --- a/back/samenvatting.tex +++ b/back/samenvatting.tex @@ -4,39 +4,39 @@ \begin{document} \input{subfileprefixsmall} -\chapter{Samenvatting}% -\label{chp:samenvatting} \selectlanguage{dutch} +\ifSubfilesClassLoaded{\chapter*{Samenvatting}}{\chapter{Samenvatting}}% +\label{chp:samenvatting} %\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. +%\noindent% +Het aantal computers om ons heen groeit enorm en hiermee ook de complexiteit van de systemen waarin ze zich bevinden. +Veel van deze computers zijn \emph{randcomputers} die onderdeel zijn van het Internet of Things (IoT). +Binnen deze orkesten interacteert deze apparatuur met de buitenwereld door sensoren en actuatoren. +Randcomputers bevatten vaak goedkope microcontrollers die speciaal ontworpen zijn voor ge\"{\i}ntegreerde systemen. +Enerzijds hebben ze weinig geheugen, langzame rekenkernen en trage communicatie. +Anderzijds zijn ze klein en hoogst energie effici\"{e}nt. +Het programmeren van deze IoT systemen is complex omdat ze dynamisch, interactief, gedistribueerd, samenwerkend, meerlaags en multitasking zijn. +De complexiteit wordt verder opgestuwd door de semantische wrijving die voortkomt uit de grote verscheidenheid aan hard- en software karakteristieken tussen de lagen. -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. +Taakge\"{o}rienteerd programmeren (TOP) is hierbij een oplossing. +In TOP zijn taken, abstracte representaties van werk, de bouwstenen. +Tijdens het uitvoeren van taken kan de huidige waarde geobserveerd worden en hierop kunnen andere taken reageren. +Door taken samen te voegen of te transformeren kunnen samenwerkingsvormen uitgedrukt worden. +Vanuit deze beschrijving wordt een computer systeem gegenereerd dat gebruikers begeleid in het uitvoeren van het werk. +Een voorbeeld van een TOP-systeem is iTask, ontworpen om interactieve web toepassingen te beschrijven. +De wens is om TOP ook voor randcomputers te gebruiken, maar het is niet evident hoe TOP-systemen op dusdanig beperkte middelen in te zetten. +Deze dissertatie laat zien hoe gehele IoT systemen georkestreerd kunnen worden met {TOP}. +Allereerst laat ik een wat 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. +Een randcomputer is geschikt voor een mTask systeem als het uitgerust is met het lichtgewicht domeinspecifieke besturingssysteem. +Dit stuurprogramma voert de ontvangen taken energiezuinig uit en automatiseert alle communicatie en data verwerking. +Alle aspecten van het mTask systeem worden beschreven voorbeeldprogramma's, taalontwerp, implementatiedetails, integratie met iTask en de energiezuinige functionaliteit. +Indien samen met iTask gebruikt, kan een geheel IoT systeem laagloos geprogrammeerd worden, gebruik makend van \'e\'en broncode, programmeertaal en paradigma, abstractieniveau en typesysteem. +Eveneens worden problemen verzacht zoals semantische wrijving, onderhouds- en robuustheidsproblematiek en moeizame onderlinge samenwerking. %\end{center} +\input{subfilepostamble} \selectlanguage{british} \end{document}