From: Mart Lubbers Date: Tue, 10 Jan 2023 15:29:23 +0000 (+0100) Subject: .. X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=af12b8953402e783a400f031acb8e0ccde4ef241;p=phd-thesis.git .. --- diff --git a/concl/concl.tex b/concl/concl.tex index 57a0cd0..8d9d294 100644 --- a/concl/concl.tex +++ b/concl/concl.tex @@ -6,7 +6,36 @@ \input{subfileprefix} \chapter{Coda}% \label{chp:conclusion} -\section{Reflection} +\begin{chapterabstract} + This chapter concludes the dissertation and reflects on the work. +\end{chapterabstract} +\section{Reflections} +Programming \gls{IOT} systems is classically complex. +The heterogeneous collection of computers requires an multi-user multi-tasking interactive distributed environment supporting multi-tasking on all levels. +\Gls{TOP} has shown to provide a programming paradigm that allows the declarative specification of exactly such systems. +However, edge devices are often to computationally restricted to be able to run traditional \gls{TOP} systems. +This thesis made an effort to shed light on orchestrating complete \gls{IOT} system using \gls{TOP}, specifically filling in the knowledge gap for edge devices. + +\Cref{prt:dsl} presented two novel techniques for embedding \glspl{DSL} in \gls{FP} languages. +The novel embedding 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 and making developing 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} diff --git a/top/finale.tex b/top/finale.tex index 1ae84ee..f786a01 100644 --- a/top/finale.tex +++ b/top/finale.tex @@ -20,6 +20,8 @@ The \gls{MTASK} system is a proof-of-concept system, though fully functioning, for integrating \gls{IOT} edge devices in \gls{TOP}. In conjunction with \gls{ITASK}, it is possible to program all layers of the \gls{IOT} from a single declarative specification. +Deep embedding. + \section{Future work} The \gls{MTASK} systems is a proof-of-concept system for integrating \gls{IOT} edge devices.