Our answers to the most frequently asked questions
Middleware is software that sits between the operating system and the application software of a computer system. The purpose of middleware in automotive embedded systems is to decouple the application software with the business logic from the underlying hardware. This fosters the reuse of the application software across different hardware platforms and generations.
Middleware provides a set of services and functions that applications can use to interact with the underlying hardware and other system components. It also establishes the communication between different applications or software components that sit on top of the middleware. It can include functionality such as data transfer, memory management, security, and communication. It is designed to be modular and flexible, allowing different applications to use different components of the middleware as needed.
The term AD Cycle stands Autonomous Development Cylce and is a conceptual reference model for developing ADAS/AD systems.
It contains the typical development steps and phases (Develop - Deploy - Build - Drive - Measure - Record - Store - Replay & Simulate) and connects them to an efficient, iterative development cycle.
ETAS Deterministic Middleware Solution provides safety-certified, middleware-based software for advanced driving and autonomous vehicles.
The ETAS Deterministic Middleware Solution SDK is a software development kit for developing and running ADAS/AD applications comprising a runtime for µP/POSIX based platforms and development tools. It enables software engineers to develop ADAS/AD applications with the highest standards in safety, security, performance, efficiency, maintainability, and usability.
ETAS Deterministic Middleware Solution can be combined with other middleware-based solutions for microprocessor-based platforms such as ETAS VRTE. Through this, middleware services that are not part of ETAS Deterministic Middleware Solution can be integrated and utliized.
Determinism refers to the predictability and consistency of the system’s behavior in response to stimuli or events.
A deterministic system always produces the same output for a given set of inputs and conditions. This property is crucial in real-time systems where timely and predictable responses are essential.
In real-time embedded systems development, determinism can be further distinguihed into time determinism and data determinism. Both are important and can serve different purposes. Understanding the quintessential differences is thus important.
Read more about Determinism in real-time embedded systems.
The following article explains the key differences between microcontroller and microprocessor-based embedded real-time systems and elaborates on why achieving true time-deterministic behavior is a challenge on microprocessor-based systems.
Deterministic behavior on microcontroller and microprocessor-based embedded systems
Middleware is crucial for Advanced Driver Assistance Systems (ADAS) and Autonomous Driving (AD) systems:
Decoupling Software and Hardware: Middleware enables the separation of application software from underlying hardware, promoting flexibility. This decoupling allows for the reuse of application software across different hardware platforms, streamlining development and ensuring adaptability to evolving technologies.
Establishing Communication: Middleware facilitates seamless communication between diverse components in ADAS and AD systems. By providing standardized interfaces, middleware ensures efficient data exchange among sensors, control units, and other system elements, fostering interoperability and cohesiveness in the system architecture.
No, ETAS DMS does not only work with Bosch hardware.
As a software, ETAS DMS is generally HW-agnostic. If your applications rely on HW accelerators, SoC specific support is also available.
It requires a POSIX-based operating system such as QNX or Linux.
ETAS DMS has the following prerequisites:
Yes, ETAS DMS SDK can be evaluated.
Please contact us to get you started.
ETAS DMS is constraining the order of execution of processes to guarantee reproducible behavior.
In this way, a defined execution order can be achieved in a dynamic system.
Read more about Scheduling Mechanisms in DriveFidelity Read more about Deterministic Recompute and Virtual Drives and how they can accelerate your development
No, ETAS Deterministic Middleware Solution is not based on AUTOSAR Adaptive. ETAS Deterministic Middleware Solution provides a complementary, zero-copy based middleware specifically adressing the needs of ADAS/AD applications. ETAS Deterministic Middleware Solution can exist side-by-side with AUTOSAR Adaptive.
ETAS Deterministic Middleware Solution focuses on the following key aspects to adequeately address ADAS / AD applications:
AUTOSAR Adaptive does not focus on use cases that are specific to the development of ADAS/AD applications. These use-cases are
These specific use cases are adressed by ETAS DMS through deterministic recomputes and virtual drives.
AUTOSAR Adaptive falls short of meeting needs for several critical reasons:
The relationship between AUTOSAR Adaptive and ETAS Deterministic Middleware Solution involves a coexistence strategy rather than outright replacement. Each solution offers distinct benefits.
Harmony of Benefits: Both AUTOSAR Adaptive and ETAS Deterministic Middleware Solution bring unique advantages to the table.
Strategic Avoidance: We are cautious about duplicating functionalities readily available in AUTOSAR Adaptive implementations such as RTA-VRTE. Notably, specific protocols/features such as SOME/IP, UDS, persistency are examples where duplicative efforts are minimized.
Consultative Approach: We actively engage with customers, providing guidance on seamless integration strategies for both AUTOSAR Adaptive and ETAS Deterministic Middleware Solution. This collaborative effort ensures optimal utilization of features without redundancy.
In essence, the coexistence of AUTOSAR Adaptive and ETAS Deterministic Middleware Solution allows for leveraging of their respective strengths, fostering a symbiotic relationship rather than a direct replacement.
Robot Operating System (ROS, https://www.ros.org/) ROS is an open-source framework used for developing and controlling robotic and autonomous mobility systems.
Despite its name, ROS is not a traditional operating system like Windows or Linux; it is a middleware that runs on top of an existing operating system and provides tools and libraries.
ROS was developed to address the complex challenges of creating and programming robots. It provides a structured way for various robot system components to communicate and collaborate, making it easier to design, prototype, and deploy robotic applications.
ROS offers a modular and distributed architecture that promotes code reusability, scalability, and collaboration among developers. ROS is widely used in advanced development in AD/ADAS.
ETAS DMS is not an extension to ROS, rather ETAS DMS is an alternative.
While ROS is a popular eco-system for robotics and automotive prototyping, it is not suitable for automotive production series projects: ISO26262 functional safety and ISO PAS21448 SOTIF not supported.
Besides functional safety aspects, ETAS DMS also offers additional features such as high data-rates based on zero-copy middleware as well as replay/recompute capabilities based on determinism.
Recompute is a task in which recorded or artificially generated data is provided to a system, such as ETAS Deterministic Middleware Solution applications.
The system processes this input, and its output is then processed or recorded for subsequent analysis and reporting. In the context of ETAS DMS and virtual testing, Recompute plays a crucial role in addressing the challenges of validation in the development of automated driving systems. It helps shorten feedback cycles for developers, enables efficient continuous validation, and supports various use cases such as development, forensic analysis, and validation testing.
Recompute is particularly vital in safety-critical environments like the automotive industry, ensuring determinism, reproducibility, and real-time execution in virtual testing scenarios.
A virtual drive refers to a simulated driving scenario created within ADAS/AD system. This virtual drive is utilized in conjunction with recompute and ETAS DMS to facilitate the development, testing, and validation of automated driving systems.
Recompute and Virtual Drive
Recompute involves providing recorded or artificially generated data to the ETAS DMS applications, such as those used in ADAS/AD. This data is processed by the system, and the output is then analyzed. The virtual drive serves as the simulated space where these computations and analyses take place. It allows developers to recreate driving scenarios, test various algorithms, and assess the performance of automated driving functions in a controlled, virtual environment.
ETAS DMS and Virtual Drive
ETAS DMS manages the operations and functions of the automated driving system. The virtual drive serves as a crucial component in ETAS DMS testing, enabling the assessment of the system’s responses to different driving situations without the need for physical on-the-road testing. This virtual testing environment is essential for addressing the challenges of validation, providing determinism, and ensuring reproducibility in the testing process.
Virtual drives offer several key benefits:
1. Risk-Free Testing: Virtual drives provide a controlled environment for testing without the inherent risks associated with on-the-road testing. Developers can simulate various scenarios and conditions, ensuring the safety of both the system being tested and the surrounding environment.
2. Cost-Efficiency: Conducting real-world tests, especially on-the-road, can be expensive and time-consuming. Virtual drives offer a cost-effective alternative, reducing the need for physical prototypes, fuel, maintenance, and other expenses associated with traditional testing methods.
3. Reproducibility: Virtual drives enable the reproduction of specific driving scenarios with high precision. This reproducibility is crucial for validating system behavior, conducting regression tests, and ensuring consistent results across different testing sessions. Determinism is relevant for reproducibility because it ensures that a given system or algorithm, when provided with the same input under the same conditions, will produce the same output consistently. Virtual drives ensure that, given the same input, the system will produce the same output, allowing for accurate analysis and debugging of software components.
4. Time Efficiency: Virtual testing accelerates the development process by providing immediate feedback to developers. They can analyze the performance of newly implemented features or updates quickly, shortening the development cycle.
5. Coverage of Rare Scenarios: Virtual drives allow for the creation of rare and extreme scenarios that might be challenging to encounter in real-world testing. This capability ensures that the system is robust and can handle a wide range of situations, enhancing overall safety.
6. Continuous Integration: Integration of virtual drives into the development process supports continuous integration strategies. Developers can regularly test and validate software changes, ensuring that the system remains reliable and meets safety standards throughout the development lifecycle.
7. Data Storage Optimization: Virtual drives often allow for the storage of only essential data, as results or internal states of an application can be recomputed instead of storing extensive datasets. This optimization reduces the storage requirements for testing data.
8. Flexibility and Scalability: Virtual drives offer flexibility in designing and executing tests, allowing developers to adapt to evolving requirements. Additionally, they provide scalability, enabling the testing of various components and systems at different levels, from unit tests to large-scale regression testing.
Virtual drives enhance the efficiency, safety, and cost-effectiveness of testing and developing complex systems like ADAS/AD, particularly when integrated with tools that provide deterministic recompute as provided with ETAS Deterministic Middleware Solution.