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.

Perfect fit

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.

Beautiful convergence

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.

Many languages

It’s hard to underestimate the importance of GraalVM being multilingual. It runs applications written in languages like JavaScript, Python, Ruby, and R, and it even supports the execution of C and C++ in a safe, virtualized environment. It runs any language with an LLVM compiler, including FORTRAN, together with the entire Java universe, including Scala, Kotlin, and Java itself.

Not only does this help you reduce complexity on your device. It also makes GraalVM innovative and attractive for developers, and every CTO or project manager knows how important that is. If you want to attract young programmers, you have to give them the opportunity to do cool stuff. Java has been around for very long, and it continues to be the most common language for serious programming. But if you want to attract young developer talent you should allow them to use languages that are new and innovative, although they might not yet be widely used or well adopted by big companies. The multilingualism of GraalVM makes that possible. You can mix Java with JavaScript and Python, and you can use existing libraries and frameworks available in those languages and use them in one single programme.

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.