Earlier this month, Brussels-based telematics software/hardware specialist ACUNIA NV, announced the availability of Wonka, a Java-compatible virtual machine (VM) designed specifically for embedded devices, available under open source license.
ACUNIA developed Wonka to meet the requirements of automotive telematics applications. According to Steven Buytaert, co-CEO of ACUNIA and creator of Wonka, “the telematics market lacked a Java platform that met the stringent requirements of the automotive market, where system resources are limited and rebooting is not an option.”
“Wonka is a virtual machine implementation to run Java code, designed from the start for resource-constrained embedded systems,” continued Buytaert. “Wonka is extremely portable and applicable for a variety of markets and does not require a host operating system.”
“Through the development cycles of the ACUNIA Open Telematics Framework (OTF), we realized that existing VMs did not meet all the requirements for OTF-enabled telematics terminals, or telematics terminals in general,” Buytaert added. “Originally born out of necessity, we now want to use the Wonka open source project to extend the boundaries of telematics, boost the market for next generation telematics.”
“Wonka is still under active development by ACUNIA,” Buytaert added, “but it is now at the point where it can be evaluated by others and built upon.”
Embedded Linux support
According to Wonka architect Chris Gray, “the main target for us at the moment is ARM Linux (Familiar distro), because that's what XINGU (ACUNIA's miniature single-board computer) ships with. On our website we have prebuilt binaries for that and for Linux-x86, the latter being mainly for test purposes. Plus the sources, of course.”
“As to the license, it's basically the Apache license. We thought GPL could be problematic for embedded devices that need to be able to run proprietary code.”
The following information about Wonka was provided by ACUNIA. Also refer to the Wonka product listing.
The Wonka virtual machine is ACUNIA's cleanroom implementation of the Java Virtual Machine Specification. It is extremely portable and self-contained, and as an option, can be used with its own real-time operating system (RTOS — called OSwald) to provide a complete solution for embedded devices. All Java2 language features will be supported, and the class libraries will meet all the requirements for a platform to support the Open Service Gateway Initiative (OSGi) framework and ACUNIA's Open Telematics Framework.
Wonka comes with a high-performance lightweight Abstract Window Toolkit (AWT), named Rudolph, a large collection of classes for building graphic user interfaces suitable for any memory-mapped or frame buffer display. Developers can plug in their own implementation, or run with no AWT at all (e.g., in a “headless” system). The choice is open. With extensive knowledge in embedded devices, ACUNIA now provides another solution to the open source community with the release of the Wonka VM. With Wonka, ACUNIA presents one of the top performing embedded VMs, setting new industry standards for the embedded market.
Wonka has a variety of features that allow it to function extremely well in embedded systems:
- Efficient use of limited resources: Wonka is designed specifically for devices with limited memory and resources, and is being re-engineered to reduce consumption even more.
- Exact & Concurrent Garbage Collection (GC): This feature contributes directly to Wonka's efficient use of resources and high availability.
- Persistent Object Store (POS): This is a unique feature of Wonka that enables objects to retain their state while the system is shutdown, without requiring them to be serialised to a file. In fact, no file system is required. Wonka maximises the advantages of a POS and requires no modification to existing classes or development tools.
- Easily Portable: OSwald, Wonka's own RTOS, significantly eases the effort required to port Wonka to additional hardware and software platforms.
- High Availability: Wonka effectively utilises memory (GC algorithm is exact) and delivers consistent performance by implementing internal data structures and by keeping fragmentation to a minimum. This is an overall requirement for telematics devices, and a must in automotive environments.
- A VM for Real-Time: A telematics device needs to be responsive to user input, and to be able to meet the timing constraints of communications protocols. Therefore, Wonka comes with a fully concurrent GC mechanism. The GC runs parallel with other applications, giving them priority. Finally, the Wonka scheduler takes priorities (and priority inversion avoidance) seriously.
This article was originally published on LinuxDevices and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.