add system overview
[msc-thesis1617.git] / system.edsl.tex
diff --git a/system.edsl.tex b/system.edsl.tex
new file mode 100644 (file)
index 0000000..3a65f2f
--- /dev/null
@@ -0,0 +1,15 @@
+Not all \glspl{Task} are suitable to run on an \gls{IoT}-device and therefore
+an \gls{EDSL} is used to offer a constrained language to express \glspl{Task}
+for the new system in. The \gls{mTask}-\gls{EDSL} shown in
+Chapter~\ref{chp:mtask} provides a language for creating imperative programs
+that are suitable for running on microcontrollers. The \gls{EDSL}'s main view
+is a \gls{C} code generator who's code compiles for \gls{Arduino} compatible
+microcontrollers. The big downside of this approach is the stiffness of the
+system. Once the code has been generated and the microcontroller has been
+programmed, nothing can be changed to it anymore. \gls{IoT}-devices often have
+a limited amount of write cycles on their program memory available and
+therefore it is very expensive to keep recompiling and reprogramming the chips.
+To solve this problem, a new view is proposed for the \gls{mTask}-\gls{EDSL}
+which compiles the expressions not to \gls{C}-code but to a bytecode format. To
+achieve this, several classes have been added to the \gls{mTask}-\gls{EDSL}.
+Some functionality of the \gls{mTask} system is not used.