It is not straightforward to execute \gls{MTASK} tasks on resources-constrained \gls{IOT} edge devices.
To achieve this, the terms in the \gls{DSL} are compiled to compact domain-specific byte code.
This byte code is sent for interpretation to the light-weight \gls{RTS} of the edge device.
The \gls{RTS} first evaluates the main expression in the interpreter.
The result of this evaluation, a run time representation of the task, is a task tree.
This task tree is rewritten according to small-step reduction rules until a stable value is observed.
It is not straightforward to execute \gls{MTASK} tasks on resources-constrained \gls{IOT} edge devices.
To achieve this, the terms in the \gls{DSL} are compiled to compact domain-specific byte code.
This byte code is sent for interpretation to the light-weight \gls{RTS} of the edge device.
The \gls{RTS} first evaluates the main expression in the interpreter.
The result of this evaluation, a run time representation of the task, is a task tree.
This task tree is rewritten according to small-step reduction rules until a stable value is observed.