--- /dev/null
+Every microcontroller will run the \emph{mTask-engine}. This engine is a
+program that has two jobs. The first job of the engine is to listen to the
+\iTasks{} server to which it is connected via one of the aforementioned
+methods. The \iTasks{} server can send task specifications and SDS
+specifications to the engine to process. Moreover the \iTasks{} server can send
+requests for termination of tasks.
+
+The second job of the engine is to run the tasks in a round robin fashion.
+Every task has a frequency of execution and when the task want a turn he will
+be executed by the engine through interpreting the bytecode. Tasks can change
+SDS's and therefore the engine also has to keep the \iTasks{} server updated
+with the changes. The specifics of this are explained in detail later on.