MicroDoc is introducing GraalVM to the embedded world. It is the Swiss Army knife of virtual machines. It can accelerate the startup of applications like a car’s rear view camera with more than a factor of 10. Furthermore it hosts multiple programming languages at the same time, can reduce memory usage dramatically, and frees you from taking care of complex software infrastructure issues.
According to MicroDoc, the GraalVM virtual machine will cure many of the well-known headaches caused by traditional Java virtual machines. And that’s not a small thing, because Java is the world’s most widely used programming language.
In the automotive industry for instance, many of the telematics services, connectivity services, and infotainment systems are programmed in Java. In healthcare, high-end medical machines for e.g. analysis have interfaces written in Java.
And while there are numerous good reasons for Java being so popular, it carries some significant problems as well, startup performance being one of them, memory footprint another.
GraalVM is addressing these problems, according to MicroDoc CEO Dr. Christian Kuka:
– The history of Java is a real success story. It’s a rather old language, initially invented by Sun Microsystems for embedded use. Over time it became the mainstream programming language for commercial applications, and it continues to be the most common language for serious programming. MicroDoc alone has sold 40 million Java licenses to the automotive industry.
– Some years ago, Oracle acquired Sun, and Java became an Oracle product. Oracle launched a number of internal projects to advance the technology. GraalVM was one of them, and it was built to be the programming interface of the future for the Oracle database. One of the main ideas was to give the database programmer a multilingual tool, so that he could choose the language he wanted for his programming. The approach for GraalVM was cool and it became successful, and eventually it got decoupled from the database and got a life of its own.
In the words of Dr. Kuka, there is a ”beautiful convergence of requirements”, when you look at what is currently happening on servers and compare it to the embedded space.
On big servers you have many services running in parallel. For this micro services architecture you want something, that has a fast startup, uses a minimum of resources, does its service and shuts down again. In the embedded space you have the exact same requirements for fast startup, low footprint, and high performance. With MicroDoc now introducing GraalVM to the embedded industry, customers can profit from Oracle’s significant investment in this cool, new technology, initially developed to meet the requirements in the cloud for infrastructure that supports micro services.
– Now we can take this interesting new piece of technology, which is normally available from Oracle on servers, and we can put it in your device. That means you can have the same performance and advantages that you would have in the cloud. We can run an application, that has been written for servers, desktop or mobile devices and move it to wherever we want to run it.
Taking care of complexity
Bruno Caballero, head of Virtual Machine Technologies at MicroDoc and member of the GraalVM Advisory Board, explains:
– We are working closely with Oracle to develop and enhance GraalVM as a platform for the embedded space. Our first embedded product with GraalVM is planned for release in the first quarter of 2022.
– And there will be many more, because GraalVM solves some important issues. It helps you take care of very complex system interaction. Normally, you have different languages and different virtual machines running simultaneously and communicating together on the same device. But you don’t want a lot of complicated infrastructure. What you want is to use one virtual machine that is solid and good, and that will work for every language. Now we can take GraalVM and host everything we want. We can get rid of all these independent components and have everything built on the same infrastructure and on the same virtual machine.
Setting developers free
– GraalVM gives developers freedom to use the language they find best suited for the job at hand, says Dr. Kuka.
– It allows them to try new and cool stuff, while having the consistency of a mature product. GraalVM is supported by one of the biggest IT companies on the planet, and as part of the Oracle database product it has a life cycle that is appropriate for automotive use cases and other long-term projects. If you’re a project manager or CTO that means you can give your developers the freedom they want. At the same time, you can be certain the technology will be durable and available for a very long time.
Please welcome GraalVM – the Swiss Army knife of virtual machines.
Everything On Graal VM
We illustrate how to build and debug the native image of a Java application, produced by MicroDoc GraalVM Embedded, and running on a remote embedded device. The debugging experience is illustrated inside the VSCode IDE. The embedded device runs Linux on an ARMv8-A processor (running in AArch64 mode), like a RaspberryPi 4 or 5.
For devices that are not powerful enough to run a full feature browser or Android system, MicroDoc is developing a user interface framework directly integrated with the Graal virtual machine. Why? Because the number of small devices is increasing dramatically, and although they may be small and low powered they still deserve an up-to-date user interface.
Would it be fair to say that the GraalVM is a step closer to the holy grail of polyglot programming? Yes, according to the virtual machine experts from MicroDoc. Here’s an overview of what the GraalVM can do for software developers.