ECU development

Bringing Elixir to automotive

Learn why the core of the RemotiveLabs platform is built largely on a language unseen previously in the automotive industry.

RemotiveLabs using Elixir to developer AUTOSAR E2E
December 21, 2022
RemotiveLabs
Elixir

Share

Functional programming for automotive development

The software complexity required to ensure that all devices in a vehicle work together in a stable way has increased drastically. In an otherwise locked-in and proprietary tooling segment, it may seem unexpected that we choose to build the core of our solution in Elixir. Hear the reasoning behind and learn from Erlang Solutions – experts Elixir and Erlang – on why Elixir is growing in industrial relevance.

Why RemotiveLabs core is built on Elixir

For a bit of context – automotive development is basically a giant cluster of signals that need to operate safely and securely together. Aleksandar Filipov explained in our founder interview that Elixir was a key discovery leading up to him starting RemotiveLabs. Back then, he had figured out that giving access to vehicle signals in a modern development environment will enable automotive developers to not only develop software for cars faster – but also develop code of higher quality.

RemotiveLabs business idea is to offer a development platform that enables a more modern and iterative development process. The developer-first approach is about reducing complexity to be able to iterate early and to continuously integrate code. RemotiveLabs developers Aleksandar Filipov and Martin Sandgren built the RemotiveBroker together and the main advantages they have seen so far with Elixir include:

  • Efficient signal handling: Since Erlang/Elixir originally was developed for handling phone switches and connecting various signals, it already has a toolbox for us to allow users to cleverly handle many signals in parallel – also in automotive and other industries. This contributes to us providing a very scalable solution as we can handle the data in a robust way with reduced complexity.
  • Stable architecture: Erlang OTP is known for building stable solutions, applications have been running continuously for decades without the need to start over really. Processes are built separately in an isolated state. If needed, processes will restart but it happens separately from the rest of the system without affecting other processes.
  • Speed in adding functionalities: Elixir allows us to build complex functionalities very fast which further separates us from other tooling companies in automotive. We pride ourselves with an ability to often be able to meet customers’ requests on new functionality and features rapidly.
  • Functional programming: The high-level language that Elixir is has forced us to write a very robust solution with no “garbage code” or clutter. As we continue to develop the solution, we particularly appreciate that we have an environment where we can work both on the bits and bytes level and with the high-level code. This wouldn’t have been possible had we written RemotiveBroker in programming languages more commonly used in automotive.

About Elixir, functional programming and automotive

Erlang OTP and Elixir developers have had systems running for decades in telecom and is originally sprung from Ericsson. Elixir is gaining traction and proves its wide relevance with its built-in features supporting both safety and robustness. Nowadays it is used in industries including FinTech and social apps as well as in the ML/AI field thanks to its ability to cater to large amount of processing power through smart distribution and parallelization. Elixir is the 2nd most loved programming language in Stack Overflow’s annual survey with answers from 70,000+ developers from June 2022.

Elixir Erik Schön, Functional programming

Erik Schön, Managing Director at Erlang Solution comments:

“Since concurrency and distribution is handled automatically, developers appreciate that they can put more of their energy and creativity into solving customer’s problem instead of getting stuck on implementation details”.

Besides RemotiveLabs there are few examples of use within Automotive so far, however Toyota Connect is also an early adopter for their Shared Mobility services.

Snippet of Elixir code for Autosar E2E.