Module rtlola_frontend::mir[][src]

Expand description

This module covers the Mid-Level Intermediate Representation (MIR) of an RTLola specification.

The RtLolaMir is specifically designed to allow convenient navigation and access to data. Hence, it is perfect for working with the specification rather than work on it.

Most Notable Structs and Enums

  • RtLolaMir is the root data structure representing the specification.
  • OutputStream represents a single output stream. The data structure is enriched with information regarding streams accessing it or accessed by it and much more. For input streams confer InputStream.
  • StreamReference used for referencing streams within the Mir.
  • InstanceTemplate contains all information regarding the parametrization and spawning behavior of streams.
  • Expression represents an expression. It contains its ExpressionKind and its type. The latter contains all information specific to a certain kind of expression such as sub-expressions of operators.

See Also

Structs

Deadline

This struct represents a single deadline inside a Schedule.

DiscreteWindow

Represents an instance of a discrete window

EventDrivenStream

Wrapper for output streams providing additional information specific to event-based streams.

Expression

Represents an expression

InputStream

Contains all information inherent to an input stream.

InstanceTemplate

Information on the spawn and parametrization behavior of a stream

Layer

Represents a layer indicating the position when an expression can be evaluated

OutputStream

Contains all information relevant to every kind of output stream.

RtLolaMir

This struct constitutes the Mid-Level Intermediate Representation (MIR) of an RTLola specification.

Schedule

A schedule for the periodic streams.

SlidingWindow

Represents an instance of a sliding window

SpawnTemplate

Information on the spawn behavior of a stream

StreamLayers

Wrapper to collect the layer when a stream instance is spawned and evaluated

TimeDrivenStream

Wrapper for output streams providing additional information specific to time-driven streams.

Trigger

Wrapper for output streams that are in-fact triggers. Provides additional information specific to triggers.

ValSize

The size of a specific value in bytes.

Enums

ActivationCondition

Representation of the activation condition of event-based entities such as streams or spawn conditions

ArithLogOp

Arithmetical and logical operations

Constant

Represents a constant value of a certain kind.

ExpressionKind

This enum contains all possible kinds of expressions and their relevant information.

FloatTy
IntTy
MemorizationBound

This enum indicates how much memory is required to store a stream.

Offset

Offset used in the lookup expression

PacingType

Represents an RTLola pacing type.

StreamAccessKind

Representation of the different stream accesses

StreamReference

Allows for referencing a stream within the specification.

Task

This enum represents the different tasks that have to be executed periodically.

Type

Represents an RTLola value type. This does not including pacing information, for this refer to TimeDrivenStream and EventDrivenStream.

UIntTy
WindowOperation

The Ast representation of the different aggregation functions

WindowReference

Allows for referencing a window instance.

Traits

Stream

A trait for any kind of stream.

Type Definitions

InputReference

Allows for referencing an input stream within the specification.

OutputReference

Allows for referencing an output stream within the specification.

TriggerReference

A type alias for references to triggers.