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:
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.
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
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 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 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.
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.
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.