LEGO Mindstorms EV3 |
The system will consist of multiple shared libraries which individually will handle the various relevant functionalities. These libraries are represented as the green layer under Architecture.
These shared libraries will be implemented as “Asynchrony driver model” which therefore also mean that some sort of polling or signaling are needed between the shared library and VM.
The functionality implemented within the shared libraries will be accessed from the VM through system calls from the VM into the shared libraries. These system calls may not be blocking in anyway. Please refer to Wait for Completion.
The shared libraries will be implemented in C and compiled into native code. The approach for adding functionality to the firmware through shared libraries needs to support the possibility for adding new shared libraries to the system without having to recompiling the LINUX kernel.
This of course raises the questions towards how we want to control this possibility and that have not been fully investigated and agreed upon at this stage.