process many comments
[phd-thesis.git] / coda / coda.tex
index c05becb..4edce6b 100644 (file)
@@ -20,7 +20,7 @@ The edge, or perception, layer of an \gls{IOT} system is often powered by microc
 These small and cheap computers do not have powerful hardware but are energy efficient and support many sensors and actuators.
 While the term \gls{IOT} has already been known for almost thirty years, only recently, the exponential growth of the number of \gls{IOT} edge devices is really ramping up.
 Programming \gls{IOT} systems is very complex because each layer of the system is built with different computers, hardware architectures, programming languages, programming paradigms, and abstraction levels.
-This generates a lot of semantic friction.\todo[inline]{benoem ook de andere problemen. Geen over all type check om correcte samenwerking te garanderen.}
+This generates a lot of semantic friction and interoperation issues.
 Furthermore, \gls{IOT} systems become convoluted because they are dynamic, multi-tiered, multi-user, multitasking, interactive, distributed, and collaborative in nature.
 \Gls{TOP} proves a suitable programming paradigm that allows the declarative specification of exactly such systems.
 However, edge devices are often too computationally restricted to be able to run a full-fledged \gls{TOP} system such as \gls{ITASK}.
@@ -34,6 +34,7 @@ Finally, in \cref{prt:tvt} it compares how this approach compares to existing ap
 \subsection{\nameref{prt:dsl}}
 \Cref{prt:dsl} presents some tool crafting techniques that are useful for creating \gls{TOP} languages for \gls{IOT} edge devices.
 It presents two novel techniques for embedding \glspl{DSL} in \gls{FP} languages.
+Both technique make it easier for \gls{DSL} developers to create rich and extensible \glspl{DSL}.
 
 Classy deep embedding is a novel \gls{EDSL} embedding technique.
 When embedding \glspl{DSL}, one always has to make concessions.
@@ -49,8 +50,6 @@ They are not automatically useable in the \gls{DSL} because the interfaces such
 I show how to automatically generate the required boilerplate for shallowly embedded \glspl{DSL} in order to make data types from the host language first-class citizens in the \gls{DSL}.
 The scaffolding is generated using template metaprogramming and quasiquotation is used to alleviate the programmer from the syntax burden and support pattern matching.
 
-\todo[inline]{Paar zinnen over het nut van deze tool crafts: het maakt het voor DSL-developpers in het algemeen makkelijker om uitbreidbare DSLs te maken.}
-
 \subsection{\nameref{prt:top}}
 General-purpose \gls{TOP} systems cannot run on edge devices due to their significant hardware requirements.
 However, with the right techniques, \glspl{DSL} can be created that can be executed on edge devices while maintaining the high abstraction level.
@@ -62,11 +61,9 @@ The \gls{MTASK} system is fully integrated with the \gls{ITASK} system, a \gls{T
 In the \gls{ITASK} system, there are abstractions for details such as user interfaces, data storage, client-side platforms, and persistent workflows.
 The \gls{MTASK} language abstracts away from edge device specific details such as sensor and actuator access, heterogeneity in hardware, and multitasking and scheduling.
 Tasks in the \gls{MTASK} system are compiled at run time and sent to the device dynamically in order to support create dynamic systems where tasks are tailor-made for the current work requirements.
-This tight integration makes programming full \gls{IOT} systems using \gls{TOP} possible without major compromises.
 Using only three simple functions, devices are connected to \gls{ITASK} servers, \gls{MTASK} tasks are integrated in \gls{ITASK}, and \gls{ITASK} \glspl{SDS} accessed from within \gls{MTASK} tasks.
 Its design, integration with \gls{ITASK}, implementation, and green computing facilities are shown.
-
-\todo[inline]{Paar zinnen over het nut}
+This tight integration makes programming full \gls{IOT} systems using \gls{TOP} possible without major compromises.
 
 \subsection{\nameref{prt:tvt}}
 Using tierless programming, many issues that arise with tiered programming are mitigated.