A new class of embedded devices is emerging that has a mixture of traditional firmware (written in C/C++) with an embedded virtual machine (e.g., Java). For these devices, the main part of the application is usually writ- ten in C/C++ for efficiency and extensible features can be added on the virtual machine (even after product shipment). These late bound features need access to the C/C++ code and may in fact replace or extend functionality that was originally deployed in ROM. This paper describes the JeCOM bridge that dra- matically simplifies development and deployment of such add-on features for the embedded devices and allows the features to be added without requiring the firmware to be reburned or reflashed. After being dynamically loaded onto the device's Java virtual machine, the JeCOM bridge facilitates transparent bi- directional communication between the Java application and the underlying firmware. Our bridging approach focuses on embedded applications develop- ment and deployment, and makes several significant advances over traditional Java Native Interface or other fixed stub/skeleton COM/CORBA/RMI ap- proaches. In particular, we address object discovery, object lifecycle manage- ment, and memory management for parameter passing. While the paper focuses on the specific elements and experiences with an HP proprietary infrastructure, the techniques developed are applicable to a wide range of mixed language and mixed distributed object-based systems.
['Jun Li', 'Keith Moore']
Enabling Rapid Feature Deployment on Embedded Platforms with JeCOM Bridge