A system has been researched and built and will be described in the following
chapters. This novel system provides a bridge between to gap present in the
current system explained in the introduction. It provides a framework to offer
functionality for an \gls{iTasks} server to outsource \glspl{Task} to
\gls{IoT}-devices without needing to recompile the code. The \glspl{Task}
targeted at \gls{IoT} devices are compiled at runtime to bytecode which is sent
to the device for interpretation.

The following terms will be used throughout the following chapters:
\begin{itemize}
	\item Device, Client

		These terms are used interchangeably and denote the actual device
		connected to the system. This can be a real device such as a
		microcontroller but it can also just be a program on the same machine
		as the server functioning as a client.
	\item Server, \gls{iTasks}-System

		This is the actual executable serving the \gls{iTasks} application. The
		system contains \glspl{Task} taking care of the communication with the
		clients and infrastructure to manage the clients.
	\item System

		The system describes the complete ecosystem, containing both the server
		and the clients including the communication between them.
	\item Engine

		The runtime system of the client is called the engine. This program
		handles communicating with the server and runs the interpreter for the
		\glspl{Task} on the client.
\end{itemize}

\section{EDSL for IoT Tasks}
\input{system.edsl}

\section{System Overview}
\input{system.overview}
