.
[phd-thesis.git] / concl / concl.tex
index 79e18f2..372ef50 100644 (file)
@@ -1,14 +1,43 @@
 \documentclass[../thesis.tex]{subfiles}
 
-\include{subfilepreamble}
+\input{subfilepreamble}
 
 \begin{document}
+\input{subfileprefix}
 \chapter{Coda}%
 \label{chp:conclusion}
-\todo{Or finale}
-\section{Conclusion}
+\begin{chapterabstract}
+       This chapter concludes the dissertation and reflects on the work.
+\end{chapterabstract}
+\section{Reflections}
+Programming \gls{IOT} systems is classically complex.\todo{chap\-ter\-ab\-stract weg?}
+Traditionally, on each layer of the system, different computers, hardware architectures, programming languages, programming paradigms, and abstraction levels are required.
+All these factiors generating a lot of semantic friction.
+Furthermore, \gls{IOT} systems are very convoluted because they are dynamic, multi-tiered, multi-user, multitasking, interactive, distributed, and collaborative.
+\Gls{TOP} has shown to provide 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 traditional \gls{TOP} systems.
+This thesis sheds light on orchestrating complete \gls{IOT} system using \gls{TOP}, specifically filling in the knowledge gap for edge devices in three episodes.
 
-\section{Future work}
+\Cref{prt:dsl} presented two novel techniques for embedding \glspl{DSL} in \gls{FP} languages.
+The novel classy deep embedding technique allows extension of a deeply embedded \gls{DSL} both in language constructs and in language interpretations.
+Furthermore, by using the structural information available at compile time, a lot of the boilerplate required to develop an interoperating \gls{IOT} system can be automatically and hence safely generated.
+
+\Cref{prt:top} gave an overview of the \gls{MTASK} system, it's design, integration with \gls{ITASK}, implementation, and green computing facilities.
+It shows that when the \gls{DSL} is carefully designed, and domain-specific knowledge is embedded in the execution platform, it is possible to create a language that offers the same abstraction level as \gls{ITASK} provides on the server.
+Using advanced \gls{DSL} embedding technique, a \gls{TOP} \gls{DSL} for the \gls{IOT} edge devices can be created that allows programming the small microcomputers according to the same high abstraction level as on the server.
+The \gls{MTASK} \gls{DSL} is set up in such a way that it is possible to create high-level \gls{TOP} programs performing common \gls{IOT} edge devices work dynamically and send them to the edge device at run time.
+
+\Cref{prt:tvt} qualitatively and quantitatively compared traditional \gls{IOT} system programming, tiered programming, to the tierless programming.
+We have shown that programming such complex systems using a tierless approach such as using \gls{MTASK} or even \gls{ITASK} reduces the development effort required to making these systems.
+Concretely, it results in fewer \gls{SLOC}, files, programming languages and programming paradigms.
+
+However, it is not a silver bullet.
+Tierless languages are novel, and hence lacking tooling and community support.
+They contain many high-level tierless abstractions that the programmer has to master.
+The low-level specific semantics of the final application may become more difficult to destill from the specification.
+Finally, the system is quite monolithic.
+Changing a components within the system is easy if it already exists in the host language.
+Adding new components to the system requires the programmer to add it to all complex components of the languages such as the compiler, and \gls{RTS}.
 
 \input{subfilepostamble}
 \end{document}