zusammenfassung
authorMart Lubbers <mart@martlubbers.net>
Wed, 11 Jan 2023 07:22:50 +0000 (08:22 +0100)
committerMart Lubbers <mart@martlubbers.net>
Wed, 11 Jan 2023 07:23:02 +0000 (08:23 +0100)
back/samenvatting.tex
back/summary.tex
intro/lst/sharedlist.icl
subfileprefix.tex
subfileprefixsmall.tex [new file with mode: 0644]

index 8606084..b8bb97f 100644 (file)
@@ -3,15 +3,40 @@
 \input{subfilepreamble}
 
 \begin{document}
-\input{subfileprefix}
+\input{subfileprefixsmall}
 \chapter{Samenvatting}%
 \label{chp:samenvatting}
 \selectlanguage{dutch}
 %\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.
+
+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.
 
 %\end{center}
-\input{subfilepostamble}
 \selectlanguage{british}
 \end{document}
index 1f4a1a3..1345118 100644 (file)
@@ -3,24 +3,35 @@
 \input{subfilepreamble}
 
 \begin{document}
-\input{subfileprefix}
-\chapter{Summary}%
+\input{subfileprefixsmall}
+\chapter*{Summary}%
 \label{chp:summary}
 %\begin{center}
 \noindent%
 The amount of computers around us is growing exponentially.
-With it, the systems in which they operate are becoming more and more complex.
-Many of these computers are so called \emph{edge devices}.
-For a special class of systems, \glsxtrlong{IOT} systems, they perform the interaction with the world.
-Powered by microcontrollers, these specialised computers have little memory, slow processors, and support slow communication methods.
-On the other hand, they are also cheap, tiny, consume little energy, and can easily equipped with various sensors and actuators.
+With it, the systems in which they operate are becoming increasingly complex.
+Many of these computers are so called \emph{edge devices}, operating in \gls{IOT} systems.
+Within these orchestras of computers, they perform the role of interacting with the outside world.
+These specialised computers are often powered by microcontrollers and therefore have little memory, small processors, and slow communication.
+On the other hand, they are designed for embedded systems and hence cheap, tiny, energy efficient, and is easily equipped with various sensors and actuators.
+Not only are \gls{IOT} systems dynamic, interactive, distributed, collaborative, multi-user, and multitasking.
+Also, the orchestra of computers has vastly different hardware and software characteristics, causing semantic friction, making programming such systems classically complex.
 
-There is a great variety within edge devices but also between edge devices and more conventional computers.
-However, they do have to communicate with the conventional computers.
-This results in semantic friction, an impedance mismatch.
-Developing and maintaining such systems is expensive and error prone.
+\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.
 
-This is a summary of 350--400 words.
+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.
+
+%This is a summary of 350--400 words.
 %\end{center}
-\input{subfilepostamble}
 \end{document}
index b29e8be..395cbeb 100644 (file)
@@ -17,7 +17,7 @@ upToDos :: Task [ToDo]
 upToDos = updateSharedInformation [] todos <<@ Title "My todo-list"/*\label{lst:todo_ui}\label{lst:todo_editor}*/
        >>* [ OnAction (Action "Sort") (hasValue \_->upd sort todos >-| upToDos)/*\label{lst:todo_contfro}*/
            , OnAction (Action "Clear") (always (set [] todos >-| upToDos))
-           , OnAction (Action "Quit") (always (get todos))/*\label{lst:todo_ui}\label{lst:todo_contto}*/
+           , OnAction (Action "Quit") (always (get todos))/*\label{lst:todo_contto}*/
            ]
 where sort list = sortBy (\x y->x.ToDo.date < y.ToDo.date) list
 
index f8ad885..7758d17 100644 (file)
@@ -3,6 +3,6 @@
        \frontmatter
        \frontmatterfancy%
        \tableofcontents%
-       \mainmatter%
+       \input{subfileprefixsmall}%
 }{%
 }
diff --git a/subfileprefixsmall.tex b/subfileprefixsmall.tex
new file mode 100644 (file)
index 0000000..343b77a
--- /dev/null
@@ -0,0 +1,4 @@
+\ifSubfilesClassLoaded{%
+       \mainmatter%
+}{%
+}