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

Data Recording, Logging, Flow Tracing and Ingest (DRaIn)

High-speed data measurement in the middleware and offline tools for data processing and ingest

DRaIn is the integrated solution for data recording, data ingest and inspection for ETAS Deterministic Middleware Solution supported ADAS / AD applications.

The core features of DRaIn are:

  • Zero-copy Measurement Transport Adapter (MTA) as generic recording gateway application (fully zero-copy with DMA based transport) for ETAS Deterministic Middleware Solution supported middleware implementations
  • Combination of raw shared memory capturing with built-time generated data layout information (reflections) offered by the MTA gateways
  • Tooling and libraries to analyze and extract raw data from archives and convert it into common formats like ROS Bags

These components provide embedded features for high-speed data measurement in the middleware and offline tools for data processing and ingest into data management systems.

Logging

ETAS DMS Logging is an application monitoring library which is based upon the MPLOG library. With MPLOG the software developer can manually instrument the source code to create meaningful output at software runtime which can be used for analyzing software behavior and debugging. The logging output can be sent to the console, captured into a separate log file or another custom implementation (e.g. sending it to a network port). Because the MPLOG library core does not rely on Run-Time Type Information (RTTI), exceptions and dynamic memory allocation, it is suitable for embedded usage.
Supported

  • LOG_INFO: Plain ordinary message logging as known from traditional logging frameworks
  • LOG_EVENT: Event emission to easily track events occurring in the applications
  • LOG_TIME_SCOPE: Time measurement for execution scopes and manually determined spans

Flow Tracing

The Flow Tracing library allows to record the timing behavior of ETAS DMS runnables and activities during execution (e.g. start/stop time of runnables and activities) including the meta information on data / messages exchanged between runnables and activities. If the software developer activates the flow trace recording, the runnables and activities are automatically instrumented during the code generation process with YAAAC.

The Flow Tracing library provides the necessary code templates for the code generation and a library to handle the aggregation and publishing of the recorded data into output files (rosbag and Bytesoup file format are supported).

The Flow Tracing data is needed for timing analysis in the Robolyzer tool and for debugging by means of forensic recomputation in the Recall player.

Bytesoup

Bytesoup is a file format developed for streaming raw-memory content into a file together with additional information required to read and interpret all data contained in the stream. Bytesoup is optimized for high performance recording and can capture more data during a defined timeslot than other comparable file formats (e.g. rosbag). This performance advantage is reached by directly storing the raw binary stream and avoiding the overhead of data transformation into a common representation during data acquisition. The Bytesoup header contains all necessary information to interpret the subsequent raw binary data.

Bytesoup Data Processing

Bytesoup Data Processing are libraries and tools which provide package-level and object-level access to data stored in Bytesoup files and also transform Bytesoup data into different formats more suitable for reading.

Recording and Replay Gateway (MTA Gateway)

In general gateways are libraries used in ETAS DMS to allow dataflow between one ETAS DMS system and the systems outside this ETAS DMS system, possibly using different communication technologies and safety/security policies. For the recording domain, gateways are used to transport captured data from shared-memory regions to the recording system and vice versa for replay.

A gateway provides communication paths between the middleware and a generic recording transport infrastructure. Communication from/to the middleware and from/to the concrete transport is done via generic MTA (Measurement Technique Adapter) gateway runtime libraries. Because the recording transport dependency injection is static, there will be one recording gateway executable per transport flavor (e.g. raw stream, GETK). The software developer has to explicitly configure this option to use MTA gateways.

Ingest YAAA

The Ingest YAAA tool processes recorded timing and data flow information from the Flow Tracing and indexes all recorded payload messages for an efficient access. Input are the raw Flow Tracing messages stored in a rosbag or Bytesoup files. The aggregated / indexed data is stored in a database. The database allows easy access to execution and data flow trace information and the corresponding payload messages which are used by the tools Robolyzer and Recall.