Expand description

The RTLola Interpreter

The RTLola interpreter is a library used to evaluate RTLola specifications. It is designed such that it easily integrates into your setup through highly configurable APIs.


  • queued-api (Default): By default the library features a queued API that uses threads. If your target architecture doesn’t support threads, consider disabling this feature through “default-features = false”
  • serde: Enables Serde Serialization and Deserialization support for API interface structs.


The main entrypoint of the application is the ConfigBuilder. It features multiple methods to configure the interpreter for your needs. From there you can create a Monitor or QueuedMonitor. The main interaction points of the library.


This module contains all configuration related structures.
The Monitor is the single threaded version of the API. Consequently deadlines of timed streams are only evaluated with a new event. Hence this API is more suitable for offline monitoring or embedded scenarios.
The QueuedMonitor is the multi-threaded version of the API. Deadlines are evaluated immediately and the resulting verdicts are returned through a queue retrieved using the output_queue method. This API should be used in an online monitoring setting.
This module covers the Mid-Level Intermediate Representation (MIR) of an RTLola specification.
This module contains the different time representations of the interpreter.


The main entry point of the application. Use the various methods to construct a configuration either for running the interpreter directly or to use the Monitor API interface.
The Monitor is the central object exposed by the API.
Represents an error type that never occurs. This can be replaced by the Never type once it is stabilized.
The QueuedMonitor is a threaded version of the Api allowing deadlines to be evaluated immediately.


The general type for holding all kinds of values.


A helper trait to conditionally require a serde::Deserialize as a trait bound when the serde feature is activated.
A helper trait to conditionally require a serde::Serialize as a trait bound when the serde feature is activated.

Type Definitions

The internal time representation.