The ELEXIR software ecosystem is comprised of the following components
Studio
ELEXIR Studio
is our development environment and runs on your development machine. It’s a per-seat installation for each developer. It allows to configure each vehicle (analog and digital connections to the real world), develop
application code, check code against specification, compile code, simulate
and test the code. Finally, it allows to deploy the compiled and digitally signed application through our public or your private App Store.
Develop
ELEXIR Develop
is a modern Integrated Development Environment (IDE) that is used to create new projects, write code for features encapsulated in Apps
and to debug and run this code in the Simulate
or on a real car.
Simulate
ELEXIR Simulate
is a virtual machine for your vehicle’s hardare that runs your code in a physics simulation engine. This allows to test and debug new code much faster and in parallel with other developers - without occupying a physical test mule.
Cloud
The ELEXIR Cloud
is the Internet backend that provides connectivity between the development environment (Studio) and a single car or an entire fleet
.
Fleet
ELEXIR Fleet
keeps each car connected to Studio
during development and also after production and sales. It provides means to collect and analyse live sensor data, issue remote functions in the car and to deploy fleet software updates over-the-air (OTA).
App Store
Every software developed with Studio
is always validated and curated using the ELEXIR App Store
. The App Store keeps track of version history, checks the integrity of software and the compatibility with each vehicle. It uses cryptographic chains of trust to ensure that the compile-time verification against a specification is adhered to down to each ECU present in a vehicle.
Runtime
The ELEXIR Runtime
is part of the software stack present in ELEXIR ECUs in a vehicle. It provides easy access to standardised interfaces like distributed sensors and actuators and is the library to program against when using ELEXIR Studio
.
Middleware
The ELEXIR Middleware
is part of the software stack present in ELEXIR ECUs in a vehicle. It ensure trustworthy and reliable communication between each entity. It provides authenticty of messages and signals, error-recovery and error-awareness in case of failures, ensure compatibility of communication protocols at run-time and generally abstracts from low-level communication.
RTOS
The ELEXIR Real-Time Operating Sytem (RTOS
) is part of the software stack present in ELEXIR ECUs in a vehicle. It is the lowest level software running on the microcontrollers of ECUs in a vehicle and it ensures safety-critical execution of Middleware
code, Runtime
code and finally application code written in ELEXIR Studio
.