-\section{Discussion}
-
-\section{Future Research}
-Future improvements of the system could be:
-\begin{itemize}
- \item Add an additional simulation view to the \gls{mTask}-\gls{EDSL} that
- simulates the bytecode interpreter and possibly functions as a full
- fledged device, thus handling all communication through the existing
- system.
- \item Add true multitasking to the client software allowing
- \gls{mTask}-\glspl{Task} to run truly parallel. This does require
- separate stacks for each task and therefore increases the system
- requirements of the client software. However, it could be implemented
- as a compile-time option and exchanged during the handshake so that the
- server knows the multithreading capabilities of the client.
- \item Resource analysis during compilation can be useful to determine if an
- \gls{mTask}-\gls{Task} is suitable for a specific device. If the device
- does not contain the correct peripherals such as an \gls{LCD} then the
- \gls{mTask}-\gls{Task} should be rejected and feedback to the user must
- be given. This could also be extended to minimum stack size needed to
- run the task and memory requirements for storing the \gls{Task}.
- \item Implement more \gls{Task} combinators such as the step combinator to
- allow for more fine-grained control flow between
- \gls{mTask}-\glspl{Task}. This could be extended to a similar system
- as in the \gls{C}-code generation view. The \glspl{Task} can launch
- other \glspl{Task} and compose \glspl{Task} of subtasks.
- \item Implement other classes from the \gls{mTask}-\gls{EDSL} such as the
- \CI{mtask} class that allows tasks launching new tasks.
-\end{itemize}