Why


The ADAS/AD challenge
Learn about the challenges of developing safe ADAS/AD vehicle functions


The AD Cycle - How it works
Learn about the AD Cycle works for efficient ADAS/AD development


Benefits of ETAS Deterministic Middleware Solution
See why the worlds top automotive OEMs choose us

Solution concepts


System representation concepts
Fundamental concepts to construct ADAS / AD systems


YAAA Modeling Concepts and Workflow
YAML-based concepts and workflows to model ADAS / AD systems


Deterministic Recompute and Virtual Drives
The 🔑 to development efficiency


Scheduling Mechanisms in ETAS DMS
Achieving optimal compromises between latency and predictability

Basics


Determinism
Gain deeper understanding on determinism in embedded real-time systems


Differences of μC and μP-based embedded systems
Why achieving deterministic behavior μP-based embedded systems is a challenge


Glossary
Understand the terms and abbreviations used in ETAS Deterministic Middleware Solution

Products


ETAS DMS Software Development Kit
Design, develop, build, debug and test ADAS/AD applications

ETAS DMS Middleware & Runtime Libraries
Safety-certified middleware and runtime libraries for series production

For whom


Software Architects
Architecture-as-code. Git-based collaboration. Auto-generated graphics.


Feature Developers
Reduced development complexity. Fast debugging with real vehicle data.

Services


Trainings
Get up to speed on developing with ETAS Deterministic Middleware Solution through our expert trainings


Consultancy
Want to know how to best make use of ETAS Deterministic Middleware Solution for your ADAS/AD platform or project?


Proof of Concept (PoC)
See one of your ADAS/AD vehicle functions developed with ETAS Deterministic Middleware Solution


Custom Project
Have a special need or require an extension to ETAS Deterministic Middleware Solution?

Support


FAQs
Get answers to frequently asked questions about ETAS Deterministic Middleware Solution


Contact
Get in touch with an expert to obtain support

Infos and news about ETAS Deterministic Middleware Solution


Blog
Get the latest news about ETAS Deterministic Middleware Solution


Newsletter
Get the latest news about ETAS Deterministic Middleware Solution delivered to your email inbox


Whitepapers
Read in-depth information, analysis, and insights from our experts

Determinism in Embedded Real-Time Systems

What is determinism in embedded real-time systems?

Determinism in embedded real-time systems refers to the predictability and repeatability of the system's behavior under specific conditions. In a deterministic system, given the same initial state and inputs, the system will consistently produce the same outputs and follow the same sequence of actions. This predictability is crucial in real-time systems where tasks must be executed to meet the timing requirements and to ensure reliable and correct operation.

What is time-determinism?

In embedded real-time systems, time-determinism refers to the predictability and repeatability of the system's behavior with respect to time. A system is considered time-deterministic when the timing behavior is consistent and can be precisely predicted. Time-deterministic behavior is crucial in real-time systems where tasks must be completed within specified time constraints to ensure reliable and correct operation.

Contributing factors to time-deterministic system behavior are:

  • Fixed Execution Time: Each task or process in the system should have a known and fixed execution time. This ensures that the time taken to complete a task is consistent and can be predicted.
  • Predictable Task Scheduling: The scheduling algorithm used in the system should be predictable, and the order in which tasks are executed should be deterministic. This helps in anticipating when each task will be executed and how much time it will take.
  • Minimal Interrupt Latency: Interrupts are events that can preempt the normal execution flow of a system. In a deterministic system, interrupt latency (the time between the occurrence of an interrupt and the start of its handling) should be minimized and predictable.
  • Consistent Hardware Performance: The hardware components of the system, including the processor, memory, and peripherals, should exhibit consistent and repeatable performance characteristics. Variability in hardware behavior can lead to non-deterministic system behavior.
  • Real-time Clock Accuracy: The accuracy of the real-time clock used in the system is crucial. A deterministic system requires a clock source that is stable and provides accurate timekeeping to ensure precise timing measurements and task scheduling.
  • Deterministic Communication: In systems where communication between components is necessary, the communication protocols should be designed to provide deterministic behavior. This includes guaranteed delivery times, bounded communication latencies, and minimal jitter.
  • Resource Reservation and Allocation: Systems that employ resource reservation mechanisms, such as allocating fixed time slots for specific tasks, contribute to deterministic behavior. This ensures that tasks receive the required resources within known time bounds.
  • Avoidance of Non-deterministic Delays: Non-deterministic delays, such as unpredictable I/O access times or waiting for external events, should be minimized or carefully managed to maintain deterministic behavior.

Achieving time-deterministic behavior is challenging, especially in applications such as automotive control systems, avionics, medical devices, and industrial automation, where timing precision is critical for safety and performance.

What is data-determinism?

Data determinism refers to the consistency and predictability of the system's behavior with respect to data processing. Specifically, it means that given the same set of input data, the system will produce the same output consistently and predictably, assuming identical initial conditions and execution context. Achieving data determinism is crucial in embedded systems, where precise and reliable handling of data is essential for meeting real-time requirements and ensuring correct operation.

Key aspects of data determinism in embedded real-time systems are:

  • Consistent Data Processing: Embedded systems often deal with sensor data, control signals, and other types of input. Data determinism ensures that the processing of this data is consistent, leading to the same results for the same inputs under the same circumstances.
  • Deterministic Algorithms: The algorithms used for data processing should be designed to provide deterministic behavior. If the system relies on non-deterministic algorithms, the results may vary even with the same input data, introducing uncertainty and making it challenging to meet real-time constraints.
  • Avoidance of Non-deterministic Elements: Non-deterministic elements such as random number generators, asynchronous external events, or unpredictable interrupt handling can introduce variability in data processing. In embedded real-time systems, efforts are often made to minimize or carefully manage such non-deterministic elements.
  • Reproducibility: Reproducibility is a key aspect of data determinism. In scenarios where the system needs to be tested, debugged, or validated, having data-deterministic behavior ensures that issues can be consistently reproduced, diagnosed, and resolved.
  • Real-time Constraints: Meeting real-time constraints requires not only deterministic timing behavior but also deterministic data processing. In control systems, for example, where decisions are based on sensor data, the determinism of data processing is critical for achieving the desired system response within specified time bounds.
  • Deterministic Communication Protocols: Communication between components in embedded systems may involve data exchange. Using deterministic communication protocols helps ensure that data is transmitted and received reliably and predictably, contributing to overall system determinism.
  • Validation and Verification: In safety-critical applications, such as automotive control systems or medical devices, validation and verification processes rely on the predictability and consistency of data processing. Ensuring data determinism is essential for proving the correctness of the system. Achieving data determinism in embedded real-time systems involves careful consideration of both software and hardware aspects. It requires designing algorithms, data structures, and communication mechanisms to be inherently deterministic, and it often involves minimizing or controlling sources of non-determinism within the system. This contributes to the overall reliability and predictability of the embedded real-time system's behavior.

Determinism in ETAS DMS

ADAS / AD systems build with ETAS DMS entail data determinism as the consistency and predictability of the system's behavior with respect to data processing is essential for validating the correctness of the system.