LEGO Mindstorms EV3 |
The virtual machine will handle the actual program execution and call into the shared libraries (Functionality device drivers). Program execution is done through byte-code execution which all will represent an abstraction of various functionalities.
To help program memory allocation within the embedded targeted and program execution speed we are targeting to implement a thin and very fast approach towards program execution. The virtual machine are represented as the blue layer under Architecture.
3rd party functionality which is needed within VM will be treated as sub-routines meaning that 3rd party can choose to implement needed functionality within the VM by implementing all this functionality as sub-routines written in byte-code.
Product shipping functionality should be implemented within the shared libraries to help program execution speed.
The VM will be implemented using memory based architecture to better match the output from the compiler.
Below is mentioned a few topics for the VM implementation:
The approach for enabling debug functionality has not been fully aligned at this point.
But in general we currently evaluate debug and normal execution as potentially being two different programs to avoid potentially slowing down program execution when debug functionality is not requested by the user.