The semantics of the \glspl{mTask} tries to resemble the \gls{iTasks} semantics
as close as possible.
-The host language has a very efficient compiler and code generator the
-\gls{mTask}-system is also relatively fast because the compilation of
+The host language has a very efficient compiler and code generator. Therefore,
+the \gls{mTask}-system is also relatively fast because the compilation of
\glspl{mTask} is nothing more than running some functions in the host language.
The dynamic nature allows the microcontroller to be programmed once and used
generating \gls{C} code are not usable for dynamic \gls{Task} environments.
The dynamic nature also allows the programmer to design fail-over mechanisms.
When a device is assigned a \gls{Task} but another device suddenly becomes
-unusable the \gls{iTasks} system can reassign a new \gls{mTask}-\gls{Task} to
+unusable, the \gls{iTasks} system can reassign a new \gls{mTask}-\gls{Task} to
the first device that possibly takes over some of the functionality of the
broken device without needing to recompile the code.
-
\section{Discussion}
\section{Future Research}
\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}