Cars are quickly converting into cyber centres on wheels, and buyers expect new features to be introduced just as fast as in their smartphones and consumer electronics. That puts tremendous pressure on car manufacturers. To relieve some of the pressure MicroDoc is now introducing GraalVM embedded, a virtual machine allowing for faster development cycles while retaining the stability and longevity required by the auto industry.

A significant amount of telematics services, connectivity services, and infotainment systems in the automotive industry are programmed in Java. But while there are many good reasons for Java being the most widely used programming language in the world, it has a few shortcomings as well, startup performance being one of them, memory footprint another. GraalVM remedies these shortcomings. It accelerates startup time by a factor of up to 10, can reduce resource consumption, and can host multiple programming languages and run different software on the same infrastructure.

Solving a challenge

Initially developed by Oracle to be the programming interface of the future for the Oracle database, GraalVM is now being introduced to the embedded world. Especially in the automotive industry GraalVM will make a huge difference, says MicroDoc CEO Dr. Christian Kuka.

– It’s well known that the largest part of development costs for a new model goes into software. Essentially, a modern car is a big rolling smartphone, and that is a huge challenge to the auto industry. Why? Because, on one hand you have your costumers. They expect to be offered new features as fast as they’re used to from smartphones and other consumer electronics. On the other hand, car manufacturers have strict safety and warranty obligations. That means you want software that’s extremely stable and reliable, and therefore you have to focus very much on certifications, testing etc. Thus, you can end up with very long development cycles for new complex applications.

Long lifecycle

According to Dr. Christian Kuka the GraalVM can help narrow this gap between customer expectation and industry requirements. It allows you to reuse existing components and legacy code already tested and approved. Also, as GraalVM is hardware independent, you can use your existing infrastructure instead of having to introduce a new one. In addition to that, GraalVM fits the auto life cycle. It’s supported by one of the biggest IT companies on the planet, and as part of the Oracle database it has a life cycle that is appropriate for automotive use cases.

Accordingly, MicroDoc offers its customers long term contracts, so that they still can get GraalVM updates and security fixes during the usual automotive product lifecycle. This means that car manufacturers using the GraalVM will be able to quickly integrate new features into their platform, and at the same time guaranteeing the availability of those features throughout the car’s lifetime. And GraalVM allows manufacturers to use the same infrastructure for new features while also using it for long-running, stable functionality without the need for frequent updates.

Addressing restrictions

As mentioned, GraalVM was initially developed to meet the requirements in the cloud for infrastructure supporting micro services. In the automotive industry you have similar restrictions of resources in regards to memory, CPU power etc.

GraalVM addresses these restrictions and allows developers to do much more with the limited resources at hand. Instead of having different languages and different virtual machines run simultaneously and interacting on the same device, GraalVM can run everything. It will work for every language, and allows you to get rid of independent components and have everything built on the same infrastructure, and on the same virtual machine.

GraalVM 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 SWIFT and Rust, together with the entire Java universe, including Scala, Kotlin, and Java itself. Moreover, 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.

General-purpose backbone

According to Dr. Christian Kuka, these features allow GraalVM to function as a general-purpose backbone that can host basically everything in a car, with the exception of features with hard realtime requirements.

– GraalVM will make a significant difference in regards to everything that relates to interaction with users, infrastructure, network and cloud services. It allows for faster start-up time, and quicker response to any kind of user input. As an example, in today’s telematic applications you have to wait until the application has loaded all resources and is completely up and running before it can operate, and i.e. transmit your current position to a backend service. By that time you’re already back on the street and the first kilometres are missing in the records. With GraalVM, the application is up and running nearly instantly and able to record your position with the beginning of your trip.

– Due to the fact that GraalVM supports different programming models and languages, it is suited for many different types of applications in a car. That goes in particular for applications relying on connectivity with backends. These backends can be for the OEMs themselves, for instance for predictive maintenance, or it can be connections to 3rd party applications like insurance apps.

For instance, in Italy you can save a lot of money if you install an application that gives you pay-as-you-drive auto insurance. That’s big business in Italy, and you can basically cut your insurance costs in half if you have this feature in your car.

The connected car

Looking into the future, cars will connect to a great number of services, be it advanced navigation services, special points of interest, weather services, radar control warnings and the like. That trend has started already. As an example, the head unit in a state-of-the-art car has up to 50 concurrent web connections open to all kinds of services that are not hosted by the OEM. And that number will increase. Just like a smartphone, a car will connect to any number of services, and the GraalVM will be its crucial switchboard.

The GraalVM can host not only OEM applications. It offers a standardized programming model for any kind of 3rd party application in a car. This allows 3rd parties to add software and to rely on a proven programming mode to do so, be it Java, JavaScript or something else. Just write the code and with GraalVM it’s encapsulated and put in the car. Execution of 3rd party code in a VM also separates it form vital internal functions and enhances the overall system robustness and security.

Apart from future-proofing, GraalVM also allows for updating of existing systems. Its ability to reduce memory footprint and resource consumption makes it possible to add new features to older systems currently in the field, despite of their limitations.

Furthermore, you can update a car during runtime, which is important, when you need to quickly address emerging vulnerabilities by installing software updates while the car is operating.

License and open source

In addition to this, as Dr. Christian Kuka points out, GraalVM has the advantage of coming in both an open source version and within a commercial licensing model.

– If you’re a developer it gives you the freedom to try out the technology and get familiar with it without up-front investment. Afterwards, when you’re ready to integrate it into a vehicle’s system you can choose the security of a commercial model. And while the open source world is full of IP traps, a license shields you from e.g. patent trolls on the Virgin Islands, who make a living suing companies that use open source software. MicroDoc has a commercial model that gives you all the necessary IP rights, and it’s done under EU legislation, which is very different from buying software from the US.

So, to sum it all up, while our cars are quickly converting into giant smartphones on wheels, GraalVM will be their new virtual engine, taking care of the increasing complexity, while at the same time narrowing the gap between demanding customers and the auto industry’s own demand for stable and reliable systems.