The development of modern systems presents engineers and developers with ever greater challenges: How can it be ensured that a system runs resource-efficiently without risking bottlenecks?
Using resource twins, the TwinSpace approach provides a precise and flexible solution that enables developers to realistically simulate the extra-functional behaviour of software and thus to answer important development questions.
What are resource twins?
A resource twin is an abstracted model of a program that only maps the extra-functional behaviour of the original – for example, processor load, memory usage or energy consumption. Unlike a direct copy of the software, a resource twin does not contain any information about or insights in the functional behaviour of the original program. This means that sensitive data and algorithms remain securely concealed. TwinSpace technology is based on the Load Profile Description Language (LPDL). This language is used to describe the load profile of the original program. This profile is used to automatically generate C code that replicates the desired extra-functional behaviour as accurately as possible – regardless of specific platforms or processor architectures. The generated code is completely independent and can be executed directly on any processor.
How do twin generators work?
The twin generators take on the task of automatically creating a compilable resource twin from an LPDL-based load profile. This twin:
- Is free of library calls or processor-specific commands, unless they are explicitly required,
- Is portable to any processor and therefore platform-independent,
- Allows tests and measurements without specification of input data,
- Behaves like the original program in terms of resource requirements and system load.
This significantly simplifies system integration, as the twins can replace the real software in the development process. The more detailed the load profile, the more accurately the extra-functional behaviour can be simulated.
What are the possible applications of resource twins?
There are many possible applications for this technology. Some of the most important applications are
- Resource planning and system design
The twins can provide valuable insights as early as the planning phase of a system. Developers can check whether existing processors and memory resources are sufficient to run the software or whether additional capacity is required. - Processor and hardware selection
Different applications have different processor and hardware requirements. With resource twins, developers can test the system on different platforms to find the optimal combination of performance, cost and energy consumption. - System integration and load tests
In the integration phase, the resource twin helps to identify bottlenecks in the system at an early stage. For example, developers can assess whether it is possible to integrate additional software without overloading the system. - Energy efficiency and sustainability
By simulating energy consumption during the development process, systems can be optimised before they go into production. This leads to an economical use of resources and a reduction in environmental impact.
What are the advantages of TwinSpace twin generators?
The resource twins can be used in a variety of ways. During system development, the twins are used to answer crucial questions: Will my resources, such as memory and processor capacity, be sufficient to run the software? Which processors are best suited to my applications? Can I integrate additional software on my system without it reaching its limits?
The result is more efficient systems and better, more economical use of resources. In addition, shorter, less stressful system development and the resulting cost savings. From the customised processors to the energy consumption in the final system, the twin generators lead to savings in resources and emissions along the entire product cycle.