Bringing runtime measurement CI/CD to Embedded Automotive Development

In modern software development, Continuous Integration and Continuous Deployment (CI/CD) pipelines are essential for maintaining high code quality and accelerating release cycles. However, applying these principles to embedded systems, particularly in the automotive domain, poses unique challenges due to hardware dependencies and limited runtime environments. This article introduces TwinSpace, a research project designed to bridge this gap by integrating CI practices into the embedded software development process. TwinSpace enables early performance evaluation through automated measurement workflows that function even before executable code is available. By incorporating TwinSpace tools into CI pipelines, the framework allows for continuous performance monitoring and data-driven hardware selection. This approach not only enhances transparency regarding performance behavior during development but also helps detect inefficient implementations early, paving the way for more efficient and reliable embedded software systems in the automotive industry.

Accelerating Validation with Digital Twins

Automotive software still follows long V-Model cycles where key design choices are validated late, causing slow feedback and costly rework. Rapid prototyping shortens this loop by evaluating algorithms and load behavior early – ideally across multiple target platforms. The proposed “TwinSpace” enables this via digital twins described by a Load Profile Description Language (LPDL), letting teams virtualize components and run realistic execution profiles without full system integration. This makes it easy to compare platform options, assess performance implications, and optimize resources upfront. TwinSpace is process-agnostic, but in the V-Model it specifically closes the left-to-right feedback gap, enabling faster, safer iterations. Bottom line: earlier validation, platform-independent virtual prototyping, and greater confidence – bringing agility to otherwise rigid development frameworks.

Complex, but not complicated: TwinSpace at System Level

To evaluate the non-functional characteristics of software systems, individual software components must be integrated into a complete system. This is comparatively easy in the TwinSpace universe – the twins are functionally independent and available as integrable C code. However, to approximate the original system closely enough, the OS and middleware layers need to be reconstructed.

Exploring functional and non-functional aspects in automotive software to drive digital twin-based HW/SW co-design for early estimation and resource optimization

PhD candidate Muhammet USLU, part of the TwinSpace consortium and working with industry partner CARIAD SE, focuses on automotive software. His research explores how to separate functional and non-functional aspects of automotive software. The goal is to improve runtime performance, increase energy efficiency, and streamline the development process.

Extracting and Generating Resource Twins

In previous blog posts, we had given the ideas and goals of the TwinSpace project where we presented the technical building blocks: the LPDL as a modelling language and the extractors and generators to obtain LPDL models and resource twins. The LPDL allows to specify the non-functional properties of software components and software systems (e.g., the execution time, the number and kinds of used operations, memory usage, communication behaviour, …) without disclosing concrete algorithms. These models can either be automatically extracted from existing software components or manually written by the engineers. The twin generators use the information from the LPDL models to produce suitable resource twins which can then be used to assess different hardware platforms or compilers.

Today, we want to show the conversion of a software component to a resource twin with the help of a small example. Later blog posts will describe our work on the system level and on metrics for the assessment of the twins as well as the embedding into an automotive development process.

Extractors: From Program to LPDL

This article introduces the various TwinSpace extractors used to generate load profiles for programs. The extractors work on different abstraction levels, such as source code, object files, and trace data, each offering specific advantages in analyzing non-functional properties like energy consumption and runtime. Analysis at the source code level allows consideration of high-level language features, while object files provide a more accurate estimate of the compiled program. Hardware-related analysis using trace data ultimately offers the highest accuracy. By combining these approaches, a comprehensive picture of a program’s non-functional properties can be obtained, which is crucial for planning and efficiency improvement in various applications.

Ready for the future: A new paradigm of continuous resource optimization via TwinSpace

Today, industrial products are often based on a rapid series of innovations that frequently make hardware obsolete prematurely, even though the real added value for the customer results almost exclusively from software innovations. Hardware that would often remain technically functional for years is being prematurely phased out due to inefficient software development and the pressure to bring new products to market. The solution to this problem lies in optimizing the software itself so that the hardware can be used for as long as possible. This is where the TwinSpace approach comes in, using the Load Profile Description Language (LPDL) to enable continuous resource optimization integrated into the development process, which minimizes the software’s footprint.

LPDL: A customised language to document load profiles

Digital twins not only reflect the current state, but also anticipate future developments, simulate scenarios and offer valuable insights for the optimisation of real development processes. In order to design these complex digital models efficiently and precisely, however, we need powerful tools that fulfil the special requirements of these virtual worlds. This is precisely where the ‘Load Profile Description Language’, or LPDL for short, developed in TwinSpace comes in.

Using resource twins for efficient software development – the TwinSpace approach

Resource twins are specialised models that describe the non-functional behaviour of software – such as memory usage, runtime, processor load and power consumption – without disclosing their functional behaviour.
This methodology opens a wide range of possibilities: Developers can estimate the resource requirements of software before it is fully developed or delivered. This not only protects intellectual property but also promotes efficient use of resources. The creation of these twins takes place automatically by innovative twin generators that are being developed as part of the TwinSpace project.