SpecsModelExplore
Overview
Actors
External Systems
IoT Platform
Edge
Edge Agent
Edge Rule Runtime
Rule LoaderRule EvaluatorActuator Client
Ingestion
Stream Processing
Device Management
User-Facing Apps
Platform
SpecsModelExplore
Rule Evaluator
OverviewGuideLinks and Communications
IDproduct.edge.rule_runtime.evaluator
DescriptionEvaluates rules against the local data stream.
Keyevaluator
Typecomponent
TeamEdge Platform
Owneredge-platform@iotgateway.example
Statusactive
TechnologiesRust, Lua/WASM (rules)
Attributeslanguage: Rust, latency: <10ms, sandbox: WASM
Tags
Table of contents
Guide
Rule Evaluator
What happens per sample
Evaluation model

Guide

Rule Evaluator

The Rule Evaluator is the hot loop of the runtime. For every sample on the local stream it runs the active rule pack supplied by the Rule Loader and, when a rule fires, hands the outcome to the Actuator Client.

Deterministic and bounded

Rules run inside a WASM sandbox with a strict per-evaluation time and memory budget. Evaluation is deterministic and bounded under ~10 ms so a single expensive rule can never stall the control loop.

What happens per sample

Evaluation model

  • Stateless and stateful rules are both supported: simple thresholds and windowed aggregates (e.g. “3 consecutive samples over limit”).
  • Window state lives in memory and is reset on rule-pack swap so a new pack starts from a clean, well-defined state.
  • Each fired outcome is tagged with the rule id and pack version for traceability.

Fail safe, not fail open

If a rule traps (timeout, sandbox fault) the evaluator drops that outcome and records a fault — it does not emit an unverified actuation. Safety-critical rules pair with a default-safe actuator state.

Links and Communications

1 incoming link · 1 outgoing link

Incoming Links(1)

Source objectLabelLink typeRelationRaw idRequiredDescription
Actuator Client

example-iot.product.edge.rule_runtime.actuator_client

component
executes outcomes from—linksproduct.edge.rule_runtime.evaluator——

Outgoing Links(1)

Target objectLabelLink typeRelationRaw idRequiredDescription
Rule Loader

example-iot.product.edge.rule_runtime.rule_loader

component
loads rules from—linksproduct.edge.rule_runtime.rule_loader——