X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=back%2Fsamenvatting.tex;h=b1db2c7240244744b7928750fc9d88dfe5eac8af;hb=a5b8d7509c5846d51e2f9e75d4787c7d9b90b408;hp=e34b398c3bf4242615e54d1cee51d841c7770af5;hpb=ed3041263afe2ea88dc234a46f3b00d63493b8a8;p=phd-thesis.git diff --git a/back/samenvatting.tex b/back/samenvatting.tex index e34b398..b1db2c7 100644 --- a/back/samenvatting.tex +++ b/back/samenvatting.tex @@ -4,14 +4,36 @@ \begin{document} \input{subfileprefixsmall} -\chapter{Samenvatting}% -\label{chp:samenvatting} \selectlanguage{dutch} -%\begin{center} -\noindent% -\todo{lang\-uage de\-pen\-dent ac\-ro\-nyms?} -Dit is een samenvatting van 350--400 woorden. +\ifSubfilesClassLoaded{\chapter*{Samenvatting}}{\chapter{Samenvatting}}% +\label{chp:samenvatting} +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 interacteren randcomputers 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. +Ook draagt de semantische wrijving die voortkomt uit de grote verscheidenheid aan hard- en software karakteristieken tussen de lagen verder bij aan dit probleem. + +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 computersysteem gegenereerd dat gebruikers begeleidt in het uitvoeren van het werk. +Een voorbeeld van een TOP-systeem is iTask, ontworpen om interactieve webtoepassingen 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. -%\end{center} +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 als het uitgerust is met het lichtgewicht domeinspecifieke besturingssysteem. +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. +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 wordt de semantische wrijving, onderhouds- en robuustheidsproblematiek en moeizame onderlinge samenwerking verzacht. +\input{subfilepostamble} \selectlanguage{british} \end{document}