Contact

New virtual machine for the cars of tomorrow

New virtual machine for the cars of tomorrow

Cars are quickly converting into cyber centers 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 although Java’s popularity is well deserved, it does come with some drawbacks, notably slower startup performance and a larger memory footprint. GraalVM remedies these shortcomings. It can accelerate startup time by up to a factor of ten, reduce resource consumption, and support multiple programming languages while running 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.” - Dr. Christian Kuka, CEO at MicroDoc

It’s well known that the largest cost of development 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 the software must be extremely stable and reliable and therefore a great focus must be placed on certifications, testing, etc. As a result, development cycles for complex new applications tend to be lengthy.

Long lifecycle

According to Dr. Christian Kuka the GraalVM can help narrow the gap between customer expectation and industry requirements. It allows for the reuse of existing components and legacy code already tested and approved. Also, as GraalVM is hardware independent, it can be used in 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 larggest 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 resource restrictions 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 supports any language with an LLVM compiler—such as Swift and Rust—alongside the entire Java ecosystem—Scala, Kotlin, and Java included. Moreover, you can mix Java with JavaScript and Python and use any existing libraries and frameworks available in those languages, all in one single program.

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 real-time requirements.

GraalVM will make a significant difference in regards to everything related to user interactions, infrastructure, network and cloud services. It allows for faster start-up times, and quicker responses to any kind of user input. As an example, in today’s telematic applications, the system must load all resources and fully start before it can before it can perform tasks such as transmitting the user’s current position to a backend service. In that time the user may already be back on the street with the first kilometers missing from the record. 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 may serve the OEMs themselves — for example, for predictive maintenance — or connect to third-party applications, such as insurance platforms.

In Italy, for instance, 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 third-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 from vital internal functions and enhances the overall system robustness and security.

Apart from futureproofing, GraalVM also allows for updating existing systems. Its ability to reduce memory footprints and resource consumption makes it possible to add new features to older systems currently in the field, despite 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 pitfalls, a license shields you from patent trolls, who profit from 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.


Related articles:

Ready to integrate GraalVM into your automotive platform? Contact us to discuss your embedded Java needs.